|
|
|
|
|
by syntheweave
1621 days ago
|
|
A lot of people will say "teach concepts". Concepts are necessary, and learning languages like Scratch are good for revealing them. On the other hand, reverse engineering is the "fast path" to grasp most any technical study in depth, programming included. Reversing only hits its limits when new fundamental concepts need to be introduced. It doesn't have to be reversing from final results; studying and modifying pedagogical source code is fine and often better than "real-world" in the early going(since the real stuff is always cluttered with concepts). What you should teach in this regard is the technique you would use to study the code in depth: for example, how to "run a CPU" in your head, which can be demonstrated by stepping through with a debugger. Or using the printf statement to create a basic logging system. And the kinds of common data structures. If you give a kid an understanding of structs, arrays, strings, and event callbacks, and some rudimentary debugging knowledge, then point them at code to study, maybe with some guidance the first few times, they can self-learn a lot of things from there. |
|