Programming for kids

Guest Author

A while ago I started looking for ways to get my oldest coding. My first machine was a zx-81, with 1k of memory, and most of this was used by the screen, there was a big incentive to learn assembler. I'm not out to force him into assembler programming, but...

I evaluated a number of possibilities, one was the Kid's Programming Language (or Phrogram) which can do some impressive things in few lines of code. A sample 3D space 'game' takes about 30 lines most of which look like:

If IsKeyDown( Up ) Then

Ship.TiltUP( moveAmount )

End If

I also looked at squeak, but it didn't grab me as being easy to use.

An interesting alternative to real coding is c-jump, which is a programming board game. I'm not quite convinced by the syntax, or the jumping around the board.

The first thing I tried with him was Java. Which was pretty successful, but I couldn't just leave him to get on with it. There's quite a bit of syntax to have to handle. So while it was a success, it relied on me finding the time to work with him.

We then tried scratch. This has been quite successful for the following reasons:

  • It's all drag-and-drop, and the programming constructs are coloured/shaped so it's easy to put them together correctly.
  • Its all graphical, and the interface is very intuitive. You can see the object that you're programming.
  • It has an integrated graphics editor so he can draw his own sprites. Changing the look of a sprite is a step towards looking at the programming of the sprite and from there modifying the programming.
  • The biggest thing has been that he can work on this autonomously, I just have to see the end results.

The downside of scratch is that it seems a bit limited in what it can do. He really wants to do 3D games - so perhaps Phrogram is the next stop.

Any other recommendations for kids programming?

Join the discussion

Comments ( 2 )
  • Wayne Horkan Sunday, March 23, 2008

    Hi Darryl,

    We went for the Lego Robotics sets, the original RCX version, and then the newer NXT version, both of which can be manipulated by a variety of languages.

    Apparently a common problem for young programmers is the 'alien' nature of engineering in a virtual environment. I found that the Robotics sets were a great way to demonstrate how programming interacts with the 'real world'.

    Obviously these are equivalent to programming robot arms, stepper motors, and the like, which wouldn't necessarily demonstrate (human) interface design, but they do allow a grasp of programming fundamentals.

    Andy (10) and Joey (8) can both program the sets in RCX (native, very high level, flowchart based language) and in Java and C / C++ in a rudimentary way (i.e. with some help).



    Currently the lads are more into Digital Editing, and have spent the last couple of weeks editing photos that they've been taking.

    Something which I haven't tried, which I'd quite like to if the kids were up for it, is the RS Media, based in part on the RoboSapien 2. It has a Linux kernal, and apparently there's a number of ways to hack into it.


    All the best,


  • Darryl Gove Monday, March 24, 2008

    Funnily enough, we're just starting out on nxt. Although we've been doing lego videos for a while....

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.