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.
Everyone elseās suggestions are great.
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
Ah, havenāt thought about factorio. On that matter 7 Billion Humans is a cool game that can teach the basic logic behind programming.
Seconding all of the above. Also tis 100 and exabots. All games by that developer actually.
I love Zachtronics, but I think their games are very ambitious for 8 years old. Maybe teenager with some discreet logic skills under the belt.
You are absolutely right, I overlooked the age.
āsend me your favorite baseā is probably a better programming interview than most
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.
https://www.youtube.com/channel/UCS0N5baNlQWJCUrhCEo8WlA
This guy has some excellent breadboard projects. Find an easy one. And do it together with your child
Also, remember Human Resources Machine. Its a puzzle game thats actually a progamming language
deleted by creator
If you get them factorio then theyāll just play that all day instead of learning programming
deleted by creator
factorio is programming