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.

  • @jetA
    link
    English
    479 months ago

    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

    • @Szwajcer@discuss.tchncs.de
      link
      fedilink
      159 months ago

      Ah, haven’t thought about factorio. On that matter 7 Billion Humans is a cool game that can teach the basic logic behind programming.

        • @jetA
          link
          English
          49 months ago

          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.

    • Big P
      link
      fedilink
      English
      39 months ago

      If you get them factorio then they’ll just play that all day instead of learning programming

    • @jetA
      link
      English
      2
      edit-2
      9 months ago

      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