All posts in Kids

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.

 

Teaching Kids Business with RedBox

On Saturday my 10 year old son, Ethan, wanted to rent a Wii game from RedBox (Cars 2, fun game). I agreed to take him but he would have to pay for the game rental.

Lesson 1: Revenue Models

Before purchasing it I reminded him the next day was Sunday and that we wouldn’t be able to return it until Monday so we would be paying for 2 days (and we don’t play video games on Sunday).

When we got home he asked, why can’t we just pay for it today and Monday but not Sunday since we won’t play it on Sunday. You could tell the little wheels had been turning on the drive home. I wanted to help him figure out the revenue model on his own, so I asked him how RedBox would make money if they just charged for the days that you played it. He quickly realized that since we had the game during that whole time, it couldn’t be rented by anyone else.

Lesson 2: Hidden Costs

The cut off time for returning it was 9 PM before getting charged another day, so we planned on getting a Tropical Sno and dropping it off after dinner. At about 9:30 when only Ethan was still awake he loudly gasped for air in the kitchen and showed me the redbox case. We got our sno-cones but forgot to drop off the game. Knowing he was responsible for the cost of the game, he realized that meant this game rental now just cost him another $2 for a total of $6 (assuming we remember and bring it back tomorrow). Then realizing he could also play it tomorrow still, he wasn’t too sad. But it was fun seeing that “ah-ha” in his mind in talking about how RedBox makes money out of us just simply forgetting to return it. We don’t anticipate keeping it for that long, and that low barrier to entry makes it an easy buy because all you have to do is bring it back the next day and you’re out a buck or two. But forgetting to bring it back (or being lazy) is a whole lot easier after the fact.

I love opportunities to teach business, marketing, and money management lessons to my kids, and hope you’ll take advantage of opportunities like these as well.