Kids Programming?

There’s been a lot of chatter around the net lately about trying to find programming and introduction to computers-type software for kids to learn on. I mean, we all know where we started, right? TRS-80 and a READY prompt, or the wonderful ] prompt. 5 1/4″ floppies, simple programs, and tinkering through the weekends were how we learned.
But how do you get a young one into these environments nowadays?
There’s been various attempts at a ‘kids’ software environment, things like Logo and the like. The problem is nowadays finding implementations that are either free or useful. The only real Logo environment I’ve been happy with is KTurtle, a Logo implemention for the KDE desktop. On the one hand, I’m terribly amused that by far the best Logo setup I’ve seen REQUIRES Linux to run, and at the moment, Zach doesn’t have a Linux desktop to work with. This sorely tempts me to set it up for him, I have to admit.
But Logo has limitations as a fully useful programming environment. In the modern age of “games a click away”, kids really want to start writing adventures and excitement right off the bat. We all remember spending weeks debugging “PICK A NUMBER FROM 1 TO 10” programs. How do you code Tetris in a few weeks when you’re still learning your multiplication tables?
A long time ago I read an article on SmallTalk in BYTE magazine (yes, a REALLY long time ago, like 1980). It was a discussion about object oriented languages and environments, and described the model of “Everything is an object”. At the time, it was somewhat of an intellectual oddity, though many folks really got into it.
Apparently there is an outstanding opensource project to build a comfortable Smalltalk based environment that can be geared toward kids. It’s called Squeak, and I first learned about it associated with the One Laptop Per Child project, which incorporates some of the Squeak environment. Once I got past some of the initial environment oddities, I found that Squeak provides a platform independent runtime environment, where object-oriented programs can be run compeltely independent of the OS they’re running under. This means apps written on a Mac will work fine on a PC or a Linux box.
Squeak really isn’t something ready to take on the Windows desktop or an environment to write accounting packages in. However, in educational circles, distributions in Squeak have really gotten quite a following. The Squeakland site is designed for educators who are looking for Squeak based information.
I’ll be writing more about Squeak as I get more and more comfortable with it, but unless someone else tells me about another educational / intro to programming environment that’s available for kids, that does NOT require a commercial license, Squeak is where I’m going to put my energy.


A wandering geek. Toys, shiny things, pursuits and distractions.

View all posts by

3 thoughts on “Kids Programming?

  1. I continue to believe that every kids’ first computer should be a Digicomp 1, with (I think) 12 bits of RAM and 3 bits of I/O readout. You build it yourself from plastic and rubberbands and you can see exactly how all the logic gates work. To this day, the model I carry around of how my computer works is based entirely on my old Digicomp 1.
    Here’s the one I had as a kid:
    And here’s where you can buy a modern cardboard version; I recently bought three to give as gifts:

  2. Squeak definitely has some interesting capabilities (notably, Croquet uses Squeak). While it’s a worthwhile thing to learn in its own right, it’s also worth noting that Objective-C is also strongly based on Smalltalk, which means if and when they want to move on to other languages, there’s a direct transition they can move to that will allow them to incorporate elements from C, C++, plus what they already know.
    Objective-C is already supported by GCC, and has a ton of libraries and frameworks available (GNUStep, plus everything on OS X). Needless to say, I’m definitely intruiged by Squeak and whether it’s feasible as a “gateway drug” (so to speak).

Leave a Reply

Your email address will not be published. Required fields are marked *

The reCAPTCHA verification period has expired. Please reload the page.