|
|
|
|
|
by pjmlp
3071 days ago
|
|
What helped me to learn programming as a 10 year old child, was the 80's programming books targeted at children. Always full of drawings, or little stories, and along the process I got introduced to BASIC, Z80 Assembly and all the intricacies of Spectrum hardware. I used to think those books were gone, but they seem to have come back regarding Arduino and Rasperry Pi programming. Just focusing on Python and Scratch now. Giving them a board with such books and some electronic stuff is probably the best way to teach them. Regular computers have too many layers that just hinder learning and its hard to see things happening. |
|
The C64, the Spectrum, the TRS-80, etc, were all "small" machines that were simple to learn.
The Arduino, Raspberry Pi and Scratch are also tricky, but not overwhelmingly so, and simple to learn.
The absolutely massive difference with the environments of the 80/early 90s and today is that
a) The environments learned are heavily sandboxed, caricaturized facsimiles of computing
and
b) Learning Scratch won't lay down a mental model you can immediately apply to Python, and learning Python won't lay down a mental model you can immediately apply to C++, Rust, etc.
Learning assembly language didn't quite leave you with an immediately-usable understanding of C, but what it did do is give you a working knowledge of what everything else was based on under the hood. I'd argue that's an even more valuable gift: the knowledge that you understand what the more complex environment is based on - good for confidence - and the knowledge that if you absolutely need to, you can pull everything to bits and unravel bits of it - which immensely helps with discovery.
Nowadays, it's like worst-case simulated annealing. "Climb Mt Everest, then climb all the way back down to climb Mt Everest²."