Teach kids programming – A collection of resources
medium.com
medium.com
This article recommends Scratch for 12 and up. Scratch is good for kindergartners and up. The Snap fork is more appropriate for older students: http://byob.berkeley.edu/
This article recommends Lego Mindstorms for ages 9-12 (and python and ruby). The average age of people who used to buy Lego Mindstorms was 28. The box recommends it for kids over 10. Lego has a robotics kit for younger kids called WeDo. I would not introduce python or ruby to a 9 year old, unless you want them to hate programming. Teaching programming for its own sake is a recipe for disaster.
And again it's missing so much. For coding robots to do things see sites like http://fightcodegame.com/ http://robocode.sourceforge.net/ http://www.nessbots.com/
For making games, I'd start with Scratch for < 13 kids, but for older kids see sites like http://www.playmycode.com/ http://pixieengine.com/ https://www.scirra.com/construct2
The most important issue with this kind of lists is taking programming literally. I think "pre-programming" approaches like http://mydoodlegame.com/ can be very useful before jumping to code.
It starts with an abacus and 400 pages later of flip-flops, memory gates, and microprocessors it leaves you with a fully built modern computer.
That said, I would not put it in a beginner category. I read it after 4 years of ASM programming and building electrical gadgets and I still had to stop and reread chapters quite a few times until I got all the concepts out of it.
If you're at all interested in how all the parts in your computer interact and work together at the lowest level, READ THIS BOOK.
http://www.kickstarter.com/projects/danshapiro/robot-turtles...
"Computer Science Unplugged is a collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around."
Definitely worth a mention.
I've taken a slightly different approach to most of the tools in the list in that my aim is to provide a platform that can actually be used for real game production. It's used to make all kinds of games by anyone ranging from 8-years-old to adults.
Some games made with it: http://play.craftstud.io/games/
Also, there's Berkeley's Snap!, which is a browser-based version of MIT's Scratch, with some advanced additions like first class procedures. (http://snap.berkeley.edu/)
Like most other kids of her generation, she is comfortable with touch devices (phones, tablets) since her 2nd birthday (I saved and gifted her an iPad-1). Now, she navigates Youtube with ease on the Mac's Trackpad and can type her name on the Keyboard. It's time to get on to real computers, and eventually programming. I'm excited.
It also missed the book built around Racket for first time programmers - Realm of Racket[2].
[1]: http://racket-lang.org [2]: http://nostarch.com/realmofracket
http://www.microsoft.com/en-us/download/details.aspx?id=2296...