A fun graphics-based programming language for kids.
Scratch, a project of the Lifelong Kindergarten Group at the MIT Media Lab is an ambitious and robust attempt at this and it has a large and active community. There are versions for Mac, Windows, and for the web. Scratch is great, especially for kids who already have a strong interest in programming, but the culture around Scratch might a bit intimidating for younger kids. Also Scratch is primarily desktop-based. What to do with today’s kid who rarely touches a desktop?
Our friends at Hopscotch have created a Scratch-like language for the iPad that is geared towards young children. Hopscotch is a language perfect for play and experimentation (a key strength is that it makes syntax/typing a non-issue). In its current incarnation, Hopscotch is focused on basic programming concepts and on drawing, but the developers have ambitious plans to turn it into a robust environment especially geared for mobile (for geeks out there, the plan is to make it Turing complete). Hopscotch is easy, approachable, and fun. My kindergartener needed only a few minutes of instruction before he was off to the races, experimenting and trying new things. Kids feel empowered and start to ask good questions. I was frankly amazed at how far kids could move in just one day on the app. It’s a super introduction to programming and I look forward to seeing how it develops.