A fun graphics-based programming language for kids.

I grew up in the Apple II era, when, in order to do anything cool with a computer, you needed to learn to program. Basic was the lingua franca. Later in the the early web era, tech-savvy kids could always “view source” on a page. HTML, Javascript, and CSS became the language of the realm. Knowing that you could look under the hood was a big part of what drove the generation that created today’s digital culture. But today’s kids are growing up with black boxes—compiled smartphones apps and a web that is largely made up of cloud-based applications (versus simple pages). Looking under the hood at how a page is built or a program works is not easy any more. So it’s important to ask how today’s kids will develop the skills they need for a digital world. How do you code, if there are no digital playgrounds? I believe part of the answer is reintroducing the idea of programming languages built for kids—languages that produce real, executable code.

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.