Programming for kids
Programming for kids
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.
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 approved can help.
I’ve used scratch to introduce kids (6~10) to programming. It works quite well IMO. They had a laptop with windows. I recommend a touch screen if possible, especially for younger kids. Though at 8~12yo that should not be as much of an issue.
I used it with the microbit from the BBC. While not required, a dedicated piece of hardware makes it much more interactive and fun, for a basic introduction. Basically, the microbit can be turned into a remote control for your characters in scratch for example.
Though, kids get fond of the ability to create pre-programmed scenes. That are not very logic intensive, more like an animated movie. And since they can add their own drawings and voice, they can get very engaged on this sole basis. So the microbit is not required at all.
Though if you want to use it, Microsoft has its own scratch for microbit that is more annoying to use IMO (you need to flash the program every time, which is not easy for younger kids that have trouble with the mouse), but it unlocks all the capabilities of the microbit for even more interactive applications. You can make them communicates through a basic protocol over 2.4GHz radio, control led strips or even robots for example (though the robots are far from cheap for what they are 😕).
Both scratch and makecode (the links mentioned above) have plenty of resources if you want to get a lab going. Personally, I would set my expectation fairly low and plan for many additional small features that kids that are really interested could implement on their own. In my experience, some kids will not be interested at all, not until they see a feature they want to interact with at least. Others will try to see what they can do by themselves, before the lab even begin. But usually, the older they get, the less likely they are to experiment by themselves and they’d rather wait for instructions. Which is a shame, but that’s how it is I guess.
Also, try to make sure they can continue their work from home. Scratch is available on many platforms (though makecode sucks on Android last time I checked) and is trivial to get up and running. That said, importing a project is another matter for kids barely familiar with computers, which is why I would distribute a document aimed at their parent to get them set up.
I played the first two you mentioned, definitely not kids friendly. The bonus level with prime numbers was something else.
I’ll check the other ones.
When I was a kid Lego mindstorm was the shit but I don’t know if Lego even sells that anymore. But my advice is find some robot kit with a building block scripting language.
Alternatively download unreal engine 4, learn how to use blueprints and show them how to make simple games, as that is another “building block” scripting language.
Coder dojo have lots of age suitable things to get groups like that started. It’s focused on scratch to get going but moves into other things as they progress.
I taught at our local one for a while and it was great having lessons all planned out for you based on age and experience.
I actually did this for about 5 years (5 years ago), specifically making games in Scratch. I’m wary about sharing too much personal information in a comment thread so feel free to message me if you’d like to discuss further, I’d be happy to share context that might be relevant.
Here’s a few key things I learned.
Firstly apologies; I wrote my previous comment in a rush - on my phone - while at work. I haven’t thought about this time in my life for a while and I think I was just over excited to share my experience. I shouldn’t have gone in with the warnings without knowing you or your experiences. I think want you’re wanting to do is brilliant and I truly wish you the best of luck. Your desire to do something off your own back is honestly half the battle and puts you in good standing to succeed.
I will provide some context for why I leapt to concerns because I think it’s important to assuage any fears I might’ve created. I’d appreciate if you could let me know once you’ve read this comment (or saved it elsewhere if you find it useful) because I’ll likely want to delete it afterwards.
I spent the last two years of my time at this company working exclusively in schools and organisations for vulnerable and neuroatypical children, who were no longer attending regular schools. The particular challenges of working with these children are likely not something you’ll face, at least not so acutely.
On reflection I think the only really important and universal message I’d want to stress on this side of things is don’t force them. You might have an idea of how it will go, or what you want them to produce, or even the parts of your sessions that you think will be interesting and fun and they will have other ideas. You have to find the bits they care about, or engage with or are capable of and run with that. This is a skill to learn, both spotting what they respond to and being able to improvise around it. You’re still trying teach them something and you have a destination in mind but with something like this that is extra-curricular, you have to flexible about the route you take to get there, and comfortable with idea that you might not reach it, but you can still take them on a journey.
The satisfaction of a child wanting to show you something they’ve made, that you’ve taught them how to do, is unmatched. At least I haven’t found a feeling equal to it since.
A few more, less philosophical tips;
Lastly, if you want any ongoing advice feel free to come back to me here or I can give you my email address, or if you happen to be London or Cambridge (UK) based, I’d be more than happy to meet up for a coffee. I could also dig try and dig out some of my old Scratch template games and prinouts if you like although no promises I know where that stuff is. Really best of luck with this endeavour, I’m sure you’ll have an absolute blast.
Thank you for your message and your concerns!
I’m sorry for your experiences, it must have been rough.
Thank you for the advice and if you’re cool with sharing your email, I’ll be happy to ask you for more information when the time comes! I’m not UK based but I’m planning to visit London next year or so, so we might go grab some coffee then!
It was rough at times but it was wonderful far more often!
Email is jackmanuel1000 at googlemail dot com
Feel free to ask me anything about this, I’ve got loads more stuff I keep remembering, or just let me know how it’s going when you get started!
Let me know if you visit London too, happy to show you around.