Hi all,
My 8 year old is asking if he can learn how to program.
He has asked specifically if I could set him up with a ‘programming kit with lessons’ for a Christmas present.
I’d like to support this, and it seems like it’s not a transient interest as he’s been all over scratch, and using things like minecraft commands for the last year.
I have an old (pre 2017) MacBook Air I can set up for this.
How do I / what would you advise I set up for him, to a) keep him safe online (he’s 8!) and b) give him the tools he needs in a structured way.
I am not a programmer. I know enough bash/shell and basic unix stuff to be dangerous and I was a front end dev a very long time ago, but I wouldn’t call myself a programmer and don’t know what concepts he needs to learn first.
Hugely appreciate any advice, thanks.
Edit: So I posted this then had a busy family day and came back to so many comments! I will methodically go through these all, thanks so much.
A couple of things on resources: he has expressed interest in 3D worlds and I noticed comments on engines, but wonder if that’s too advanced?
Totally agree with the short feedback loop rather than projects that take days.
He has an iPad 6 and I’m happy to pop a Linux distro on the Air, so certainly open to that.
So many links to research. Hugely grateful.
Well, Scratch is certainly a good starting point so I would assume he wants more if he's been all over it.
There are some toys and kits available but I am not really aware if they are any good.
If my little brother would make such a request I probably would want to go with Python and an Arduino project. Robots are cool so it would pique his curiosity while basics with Arduino should be challenging but manageable. The only drawback is that it probably would require some time investment on your side.
A cheaper alternative would be directing him towards writing some simple programs in Python or Java as the only setup this would require is an IDE and it would also teach him googling for information.
I think the safety online is the biggest problem here and the only thing I can think of is to only allow some domains...
Maybe some of these suggestions sound good to you, if so I'll gladly expand on them.
Also big kudos to your approach on the matter.