How should a beginner start learning programming to become a great engineer?
What should the learning path be like? What Math, CS, hardware, etc topics should they learn eventually to understand programming in a manner an expert can?
If there are university courses that they should probably learn from point to them.
5 comments
[ 3.7 ms ] story [ 22.5 ms ] threadall i got.
edit: topics never change for a base layer: data structures, bigO notation, DRY, proper testing - are the most important concepts to master asap and lay the groundwork for everything else.
Put another way, engineers are intentional. You have super powers - super powers *you* worked hard to acquire - and you are thoughtful and intentional about how you apply them.
"I'm intentional, therefore I engineer."
p.s. The fact that you're asking is a great sign. You're already on the right track.
idk, but imho. "programming" can be seen as (just) writing code
which is only one part of (software-)engineering ...
(software-)engineering is all about producing a solution / solving a problem.
as an engineer, you have to
* understand the problem
* architect a decent solution
* implement the solution ("programming" is a part of this implementation process)
just my 0.02€
Use what is immediately at hand. That's as easy as it gets.
Deal with eventualities if and when you cross them.
Good luck.