We wanted an online programming course for our 9 year old this summer. Because we had done the iD Tech summer camp,
Tech Rocket seemed like an obvious choice. The price was reasonable ($29 per month) and it had really a lot of variety including: Unity, Python, C++, Minecraft modding, and even Photoshop tutorials. It seemed perfect.
My son ran into some trouble on the Python lectures so I helped him. What I saw in the curriculum was very disappointing. Some of problems I could overlook, like the use of non-standard English (like saying "aks you a question" instead of "ask you a question") and the non-standard spelling (like spelling "lasers" with a 'z' - "lazers"). One of the bigger problems is that the videos aren't well suited to anyone with a laptop screen - you have to zoom the video to full screen and its still hard to see the text. Perhaps the biggest flaw are the exercises themselves. The students are meant to type the commands exactly - including the typos - in the system. If they don't type it correctly they are shown a cryptic error message. When they do type it right, they don't even get to run their program, it just moves to the next exercise. The real fun in programming comes from being able to explore your own solutions, and in seeing how your 'mistakes' can subtly effect the outcome of the program. Since it never allows you to run the program, you never get any of benefit of this experimental play. Finally the courses don't let you repeat any exercises. Once the system evaluates it as correct response it moves on with no way to redo it. Until they fix these issues I can't recommend iD Tech's "Tech Rocket" program to anyone. Thankfully there are other choices available.
Since my son had started with Python at Tech Rocket, I looked at other Python offerings. The first I found was
Code Academy. I didn't do a full evaluation, but from the evaluation I did do, I could already tell it didn't suffer from the worst offense of Tech Rocket. You can actually run your code (imagine that!). And if your code doesn't match their expected input exactly, it seems to still work. Code Academy doesn't have kid friendly themes (not that that is bad), and looks like it might be better suited for high school or higher. Since I was looking for something for my nine year old son, I kept looking. If I were trying to learn Python as an adult, I might try Code Academy. Bonus: It appears to be free.
Having my nine year old learn Python wasn't the goal, the goal was for him to learn programming. What about
Khan Academy (KA)? I tried it before and was very impressed. They had a good and fun teaching style mixed with a great interactive environment. The videos were easy to follow and easy to see, and are given by a well spoken enthusiastic teacher who's examples are silly enough to engross a nine year old. Whenever you stop the video you can edit the code she has written and explore what effects that has on the program's outcome. It resets the code if you start the video again reducing the risk of experimentation. Although KA's curriculum requires typing, there are a number of convenient sliders you can use to change the code without typing. The language KA uses is Javascript which is great too, since it's currently used all over the web and many jobs require it. The amazing thing is, KA is committed to always being free. I originally tried KA in 2012 with all three of my kids. My only gripe about KA in 2012 was that there wasn't that much programming content. They've added much more recently so this is no longer a concern for me. If your kid is comfortable with typing this is a great choice. If typing is still an issue, you may want to save KA for later. One more thing: How independent is your child? I found that KA was not as structured as my then 7 year old needed and he never completed the series, at 9 years old, he won't have a problem.
Tynker was another choice that I looked at. Tynker costs money, It's actually quite a bit more expensive than Tech Rocket. Instead of $29 a month it's $50 for each course (it looks like a motivated student could get through a course in as little as 3 days). I'm more than happy to pay for good things, so this isn't a show-stopper for me, but you should know what you are getting into. Tynker uses a drag-and-drop programming language that doesn't require any typing (very similar to MIT's Scratch). Their lessons are geared towards kids (bonus), and allows kids to eventually transition to Javascript (great!). They can target mobile devices with their code, and even do the lessons on an iPad. This long list of features almost had me convinced this was the best option, but the execution wasn't as perfect. It's not a big deal, but the intro "video" is almost completely silent. Like I said, not a show-stopper (unless your child can't read), but it had less polish than KA and Code Studio (we'll discuss that one below) and both of those options are free. The first lesson also didn't include enough instruction for many kids to finish it successfully (some options were available that weren't explained). Tynker did allow kids to see the results of their mistakes (excellent) but sometimes would jump over important points. In short, the curriculum was far better than Tech Rocket, but could really use more polish.
Finally I'd like to discuss
Code Studio. Their curriculum is excellent and free! Not only is it geared towards kids, it includes art from big names in the industry like Disney's Frozen, Angry Birds, and Plants vs. Zombies (great for 9 year olds). It uses a drag-and-drop language like Tynker and has all of it's advantages for students who struggle with typing. It's also great for beginning programmers who can type, because they don't need to worry about syntax errors and can just focus on the code. I was very pleased to see their video content is professional quality. No sound quality issues, no issues whatsoever. I was even happier to see that like Tynker, the lessons are structured so that there is no fixed way to complete an exercise, any solution that reaches the stated goal is acceptable (fabulous!). In a nutshell, Code Studio really knows how to make a quality well polished product that will appeal to kids. They also know how to teach programming.
For my money, I would pick either Code Studio and/or Khan Academy (ok, I know, they are actually free - put I'd still pick them if they weren't). In fact we are going to do both with my nine year old. Once he finishes Code Studio (which he loves), we'll start back on Khan Academy.