If I had to teach a class right now, I'd teach them on Raspberry Pi's and with some command line / terminal capability that includes SSH. I would probably bring in mathematics, taking care to separate the two pedagogically. I think the rest of the details would depend on the age of the kids in the class.
Ask HN: How would you teach teens to code in 2019?
81–88 of 88 posts
Re: Ask HN: How would you teach teens to code in 2019?
#82I started with BASIC programs written on my TI-86 to automate math problems; they may find that a useful way to get started, and learning a little BASIC shouldn't be much more brain-damaging than learning Javascript. I kind of have a problem with training people to "code" rather than teaching computer science; feels sorta like comparing a "wine and painting night" to a course in oil painting, in that you might shortc…
I remember geometry in 9th grade. I ended up programming my TI for all the formulas so it would prompt for the variables then you hit enter and viola, perfect answer every time. We had a test where I ended up finishing in about 10 minutes. The second person to finish took 30 minutes +. In hindsight I should have went slower because it was obvious no one could have finished as fast as I had. After the class was dismis…
Re: Ask HN: How would you teach teens to code in 2019?
#83Re: Ask HN: How would you teach teens to code in 2019?
#84Re: Ask HN: How would you teach teens to code in 2019?
#85C and assembly are fundamental. If you want to get fancy: Rust, and https://ispc.github.io/
Ghidra is a good learning tool. Use it to decompile executables back to C, and to look at the assembly.
Re: Ask HN: How would you teach teens to code in 2019?
#86B. Leveling up will happen naturally when they see a problem and want a solution for it.
Re: Ask HN: How would you teach teens to code in 2019?
#87Re: Ask HN: How would you teach teens to code in 2019?
#88Then have a search on places like 8bs.com and download some of the "type your own xxx xxx game" books, or have a look for "Marshall Cavendish input magazine" if you search around you can find all 52 issues as pdfs.
Have the kids work through the books, and the practical exercises in the magazines.
In the 1980s and 1990s this produced some of the best UK developers and coders around, and inspired an entire generation to write their own softwate, to explore the machine, to tinker about under the hood with things like assembler language, and really understand what's happening inside.
Once they grasp that, change the config of the rPIs and install desktop c, get them writing desktop software and designing guis for their apps so they start to learn high level languages, and how they relate to the low level, use your skills to teach them how users will interact with their gui.
When they start mastering that, jump up higher, compiled vs interpreted, script languages, presentation languages (such as html).
It never did me any harm, I make a pretty good living, I'm an 80s back bedroom developer and proud of it.
Before I submit this though, I know there are going to be many who will cry "we don't need low level knowledge anymore", "what on earth do you want assembler for" or "you old hippy grey beard, bigger off and leave us kids alone", to which I say.....
Trust your gut, it's not about learning assembler, or low level, it's about encouraging exploration, it's about getting them to discover how fascinating the journey they are about to embark on, and not just cramming their minds with syntax and turning them into code monkeys.
Even now, nearly 40 years later, I still love what I do, I'm not afraid to take the lid off windows/linux/macos and break things, because you learn so much more when you learn how to fix your screw ups.
Good developers are born out of passion for what they do, not from nessecity or a sense of future preperation.