Comment by dybber
6 days ago
I have run a codeclub for 10 years. Here’s some quick thoughts:
- Make them curious, if they are curious they will teach themselves. Example: don’t tell them what a for loop is, make a project where they really need it, but let them first to write it very verbosely without loops, then they will almost invent it themselves and be relived when you teach them (same style can be applied to most things)
- make projects that have low entry level, but where they can improve it infinitely. E.g. build an aquarium simulator or a city simulator using p5.js
- make them collaborate with other kids if possible, often they learn better from their peers than listening to their parents. Facilitate collaboration, and help them come up with more and more difficult projects, that require more and more of them, so they don’t stay on the same level too long
These are awesome pointers. I especially agree with your first point about writing verbosely - I would do this all the time when I was teaching kids. I would copy and paste things and write all kinds of hairy logic, so they can see how useful it is to use different syntax and apply some refactoring.
I still do that at 38 - I often write something, copy-paste and edit something, and do it a few times until I figure out exactly what needs looping over. It's not always clear if you use coding as part of understanding the problem domain.
This is pretty much the answer.
- I made this little thing with 100 levels, each easy enough to do in 30 seconds to 2 minutes: https://akkartik.name/post/2024-10-26-devlog. My kid has zero patience for lecturing, and this is me trying to sneak through that filter.
- When you get to the end, it turns out you're pretty close to a game of Pong or Snake, and it's been interesting to see people build toward one vs the other. I've been obsessed with Snake lately, alternating between playing it and hacking on it: https://merveilles.town/@akkartik/114547652849162554
p5 first sparked my interest in programming 10+ years ago when I was in secondary school. Definitely recommend.