CodeHS has been fantastic.<p>I'm part of a project called Code Montana whose goal is to teach 1000 Montanan high schoolers how to program using CodeHS primarily. The project launched in September and we already have over 400 kids signed up.<p><a href="http://codehs.org" rel="nofollow">http://codehs.org</a><p><a href="http://www.codemontana.org/" rel="nofollow">http://www.codemontana.org/</a>
We developed an iPad app called GamePress. Its live in the app store for free. <a href="http://www.gamepressapp.com" rel="nofollow">http://www.gamepressapp.com</a><p>Teachers have started using it to teach students about programming and game development.<p>It is similar to Scratch, but it is more powerful (and easier to actually make a game). The behaviour system has thing slike timers, if statements, math functions, variables.<p>So far from what we have been told by our users it is a great intro to programming concepts.<p>Keep in mind we never developed it for teaching programming! it was made as a fun and easy way to make and share video games!
How about this one: Python for Kids<p><a href="https://www.sparkfun.com/products/11729?utm_source=SparkFun+Customer+Newsletter&utm_campaign=49ac100126-Oct7-Oct11_Newsletter&utm_medium=email&utm_term=0_fa5287abaf-49ac100126-60754509" rel="nofollow">https://www.sparkfun.com/products/11729?utm_source=SparkFun+...</a>
My daughter (age 7) used Microsoft Kodu at summer camp this year and really liked it.<p><a href="http://fuse.microsoft.com/projects/kodu" rel="nofollow">http://fuse.microsoft.com/projects/kodu</a><p>I haven't had time to play with it, but I loaded it onto a computer for her and she occasionally plays with it still.
I would (probably controversially) say there's plenty of time to learn programming later on in the teenage years. Children only start developing abstract reasoning skills around 12 years of age. Learning social reasoning skills is more important than internalizing the way a compiler works.
This combination of a diagram-rich Kindle book and free online interactive exercises provides a learning curve so gentle, it's good for both adults and 9-year-olds: <a href="http://www.ASmarterWayToLearn.com" rel="nofollow">http://www.ASmarterWayToLearn.com</a>
I never would have started coding if it weren't for Processing. It's relatively easy to learn, but is also Java-based and super powerful. I still use it today!<p>Check out <a href="http://www.processing.org" rel="nofollow">http://www.processing.org</a>
I wonder if Raspberry PI would be a good one to get kids thinking below the hood. I am currious to hear how did Drew Houston start programming at 5 years old? I have a 2.5 years old so he's almost there!
Has he/she gotten into Lego Mindstorms yet? I've sent my 9yo to summer camp to do that for the past two years and, when his birthday comes up next year, that's probably what he will get.
Look at Microsoft smallbasic <a href="http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx</a>
It might be worth noting that this particular 9 year old is really good at math, but struggles a bit with reading. Thanks for all the suggestions so far!
Find him an old Amstrad or similar 8-bit computer. Seriously. There is no better way to learn programming than having an old 8-bit machine in front of you, a stack of magazines with listings, and a free afternoon ..