You’re reading Register Spill, my weekly newsletter in which I share thoughts I can’t keep in my head.
A couple weeks ago, on social media, a dad was talking about the best materials to teach his kid how to program. It’s a very interesting thread and I recommend reading it. What stood out to me: most of the learning materials just don’t look cool.
Let me be clear. I do NOT mean that they don’t look good, or that they don’t look like great learning resources, or that they aren’t valuable and a lot of work went into them. I mean exactly what I wrote: they don’t look cool.
If you would’ve shown the 12-year-old me the Scratch landing page, or How To Design Programs (which someone links to in the thread above), or the Bootstrap Hour of Code and asked “hey, how about it? wanna learn how to program?” I’m sure he, well, me, would’ve said no. Zero doubts about that. And if you would’ve then asked 12-year-old me why not, he probably would’ve said that it just looks like school, it reeks of teachers and exercises and homework and math and “useless stuff” (not an actual quote, but you get it).
Teenage-me became interested in programming because of this: useless JavaScript animations on a website (little balls following the mouse cursor), IRC bots and mIRC scripting, green text on dark background, the terminal itself, reading about the demo scene, open source software, the movies Hackers and 23, Linux, reading The Cuckoo’s Egg, these little programs to crack games, trying to do everything from the command line for absolutely no practical reason.
Ultimately I did end up reading textbooks and proper materials and looking at definitely-not-cool slideshows with Comic Sans in them, but the fire was lit not by the promise of learning something useful. No, it was “this looks cool” that set everything into motion and that still keeps me going.
Inspiration comes and goes in funny ways, all of them different for each person. For me, it rarely takes the path through a classroom in which something “useful” is being taught and I know that if I had started to program only with the resources linked above, I probably would’ve stopped soon after.
100% agreed! We tried to fix this in my coding school. We asked "how can we solve REAL problems while learning", by always stating the problem/pain first, and leading the student toward creating a solution. And also "how can we make this look insanely cool", like when we taught them how to recreate Mondrian's paintings with CSS, or create a wedding website that they could share with friends. We started with front end topics because we could make it look cool a lot easier than back end.
So yeah, I agree that this aspect is very important when teaching, and I mean not just coding, but anything.