Teaching Programming to Kids

No that's not my son.

As a programmer myself, looking back my years as the Internet was blossoming were formative for everything I do now. Although I started off just doing HTML, eventually I learned Perl and can get around with JavaScript and PHP as well. I struggle with object-based programming however, despite taking one Java class and giving it a good run, I just never caught on.

I have 4 kids, and my oldest is 10. Inspired by Jesse Stay and his 9 year old who just started blogging about programming, I’m looking for the best way to teach my kids programming. I’m very open to suggestions, in fact I want as much feedback as I can get!

Initial Findings

In my initial scouting out there are a few platforms that are more of a “visual programming” language/platform that help teach programming concepts:

1) Kudo – Initially I saw the word Microsoft and ran (sorry, not a big MS fan). But then I realized it was all based on the Xbox. Ok that’s pretty cool. Need an xbox, but still really cool. A PC would work too if I could stand using it for more than 2 minutes.

2) Alice – This is by Carnegie Mellon University (and funded by big game groups like EA, Sun, Microsoft and then some government groups, DARPA, NSF and ONR). Its focus is on 3D animations, and kids end up creating animated stories while learning programming concepts.

3) Scratch – This is a product of MIT and it even runs on a Mac. I think I’m going to give this one a try first. I’ll post more details of my experience with it later.

 

Script Programming

These visual programming tools seem to be a great start and keeping it fun. I still want to introduce actual programming code to my kids, like my go to language, Perl. I also think JavaScript is a great opportunity to fiddle not only with mathematical or string-based scripting but you also can manipulate objects and have some visual elements to go with a fairly simple scripting language. I found this javascript programming tool that might be useful if I can figure out how to make it not so annoying.

 

What are you doing to teach (or help nurture) programming to your kids?

UPDATE 1: Here is the main forum thread that led me to most of these. I got feedback from Jesse Stay about what he was using with his 9 year old son, and it is this book on Python. I just bought it and am going to give it a go along with Scratch.

 

One Comment on "Teaching Programming to Kids"

  1. Gustavo says:

    Have a look at RoboMind (http://www.robomind.net). It teaches the basics of programming and robotics in an appealing way. I find it useful for all K12ers.

    I agree teaching to actually write code is still the preferred way to introduce programming (as opposed to a visual language). RoboMind has a simple language, somewhat similar to JavaScript. It has limited possibilities when compared to Alice or Scratch, but that turns out to have its positive sides as well.

Got something to say? Go for it!