All posts in Books

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.

 

Poke the Box – Just Start It

Seth Godin, I’m a huge fan. I’m amazed at what Seth can do with one phrase (the title of each of his books). One of his most recent books, called Poke the Box, is a book all about “starting”. It’s a book I’ve recommended a number of times to others, including today to a good friend looking to start his own business.

The main message is to just start something. Don’t worry about failing, failure is good. If you’re so worried about failing you’re never going to start something enough to not fail.

Another part I found interesting was that we have a “duty”, a social responsibility to start something. If we have the idea, and the ability, not starting it is like hiding our talent. If we don’t start it, how can we expect to be given more ideas that we aren’t going to do anything with.

Buy it, it’s $7 on Amazon.

If you don’t start now, when will you?