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.
Get them a copy of Factorio, it's a game, but it's all about computer science fundamentals, architecture, pipelining, busing, data integrity, etc. It's a visual game, but it'll scratch the itch of programming. It'll get them to think.
Buy the hardware projects, the little ones with either a pic, an Arduino, something that does something physical. A little bit of programming. To make a thing happen. So they can experiment.
Look at the software robot competitions, there's a couple on steam, there's couple elsewhere, you can do it as a family project, whiteboard out the logic of what your robot will do, and you can write it together. And see how it acts.
Just make sure anything you get, has a very small feedback loop, so they can iterate very quickly. That'll keep them engaged and exploring. You don't want to get a daunting project that's going to take weeks to see any output. You want things on the order of minutes, or even seconds to see what happens
Get a breadboard. Get a bunch of wire for it. And do small projects with the breadboard in a controller. It's fun to move the wires around. You can even build a tiny 8-bit computer with a breadboard. And have a do things like output of display. It's very tactile and hands-on. Excellent visual. There's excellent YouTube tutorials up there for breadboard projects.
On the subject of games, I highly recommend autonauts (scratch programming as core gameplay) and Turing Complete (perhaps better suited for 11-15 year olds. It may be a tad dense for an 8 year old).