I’m thinking of starting a local group for kids (8-12 yo) to learn programming using Scratch.
Do you have any pointers that I might consider?
For reference, I’m a senior developer and architect, the programming part will probably be the easiest of it all.
I genuinely don’t know if scratch is the right choice or a simple text based language would be better, especially for the older kids. Just from my personal experience, I started programming in BASIC at 12 and don’t think I would have had as much fun and continued programming if i had used scratch instead.
It’s meant for absolute beginners and while there are quite a few talented people, you can’t really expect 12yo kids in general to understand and, more importantly, enjoy writing BASIC.
I would use python instead of BASIC, if it was me. I also started with BASIC as a kid, but I remember each step up language wise (BASIC -> Pascal -> C) being a big satisfaction of “hey, it seems like this language is a lot better and I can do more with it.” I would echo the recommendation to use actual code though. Language is pretty deeply hard-wired into human beings, and I suspect that the kids that will do well with breaking tasks down into scratch primitives would do equally well with python, and the kids who find python “too hard” or something would also not be able to do too much with scratch. Maybe I am wrong, but that’s my guess.
My only other thought is to have some kind of graphical / game you can play / real world robotics angle to it. Maybe there’s a little graphical ecosystem pre-provided, and they can write agents that can interact within the ecosystem and then see a visual representation of what everyone’s agents are doing. I would definitely recommend to have a bunch of code that they can read, though; that was where my programming as a kid took a big step forward, was when I got a big disk filled with programs I could analyze and break down.
Scratch is great but make sure to let them know that they can see the actual code that runs underneath the drag-drop UI.
I can also recommend hourofcode.com where there are a ton of good tutorials ranging from scratch-level coding in a game setup (e.g. minecraft) to actual coding in python.
Get some robots. Big marketing thing and another point of fun and learning. And the results are visible IRL.
Lego Mindstorms! We did that stuff as cub scouts, but I dont think we were the ones to program the bot.
They are fun, especially with the motorized arms, but they are crazy expensive last I checked. There are cheaper options, for Arduino and microbit. But even those are not cheap. They run at at least $30, without the microbit or arduino, for a couple of motors, IR and ultrasonic sensor.
There’s a minecraft mod called ComputerCraft Edu which is lovely and works on older versions of Minecraft if you’re willing to set that up!
When they “get” it, it also has Lua in addition the the graphical scratch nodes
The whole scratch thing is extremely well put together and is easy to teach. Small chunks, fast results, forgiving environment. It gets kids thinking programmatically without even trying and for those that take to it, it is trivial to say “here are some code words, write this in code”
The only challenges are differences in ability which in a mixed class of 8-12 yo might be significant, so it would work best if you segment them into those that grasp it quickly and those that take a little longer (not necessarily age)
The hard bit with teaching kids anything in keeping them tuned in, and a segment approach can help.