Blither, Blather, Web Content Management.

Teaching Kids to Program

I was at my daughter’s softball game last night and a fellow parent asked me about teaching kids to program. I get the question a lot. In this case the kids were 7-10 years old, but the range has run the gamut from 5 to 18. Good news: I don’t think resources for this have ever been better or easier to come by.

Here are a handful of resources I recommend.

  • This is by far the best course I’ve come across. It seems to be geared toward kids in the elementary and middleschool age range. High school students may find the tone of the course skews too young for them, but if they can suppress their egos for a few hours it’s a fun course for them as well. What makes this a great course is that the target audience is just as much parents as it is kids. It focuses as much on the how to teach as the what to teach. It uses C#/.NET.
  • The two authors of the above course also run this site. The concepts I think are be similar to the above, but it looks like they use SmallBasic as a language. Full disclosure: I haven’t personally used this site.
  • Though not one of the free resources, this course looks very promising if you want to use JavaScript as your language of choice for learning. I haven’t used this course either, but on the reputation of Pluralsight and Jesse Liberty, the course author, I’d say this is likely a very good course and well worth the subscription cost. Pluralsight has 7 other courses also listed in the Beginner Programming section:
  • is a nonprofit that was launched fairly recently with the goal of increasing programming proficiency among students. Their site has an ever growing list of resources.
  • Channel 9 is a Microsoft community around development. It’s basically an enormous stockpile of technology videos covering topics for all skill levels. I found this specific list published there for beginners:
  • Microsoft has Virtual Academy, It’s free, but it’s geared as much toward professionals as beginners.

In order to write code, you’ll need a tool to develop in. Many of the resources out there are geared toward a specific development environment and they will probably take you through steps of setting up that particular set of tools. I happen to think the Microsoft tooling is the best available. A well kept secret (or a poorly publicized benefit) is that Microsoft has a whole set of tooling available for free.

DreamSpark,, is a Microsoft program that gives students free access to a large number of professional tools and resources. It will get you access to the full blown version of Visual Studio, which is what professional developers use to create Microsoft applications.

Microsoft also produces a set of free development tools that go under the Visual Studio 2012 Express for… moniker. The Express versions of Visual Studio are limited when compared with the full version of the product, but are outstanding none the less. I’ve yet to find any other free development environment that compares to these tools. You can find them all available for download here: The version you need depends on what you want to develop. NOTE, I think the Visual Studio 2012 versions only run on Windows 8. If you are using Windows 7 or XP, just scroll down to the next section and grab the Visual Studio Express 2010 version.