Teaching Kids Programming

Getting kids interested in programming is a lot harder than it used to be. I was lucky enough to come of age during the PC revolution. My brother and I would carefully enter multiple pages of BASIC code from computer magazines, and then play games for weeks (making our own modifications along the way).

The problem now is the threshold of “interesting & engaging” has risen dramatically: today’s kids are surrounded by games and applications that have had hundreds of person years of development with gorgeous 3D graphics rendered in 1080p on huge color screens. They all carry personal supercomputers, are never off-line, have all the world’s information at their fingertips, and can download any of ~1 million applications (many for free).

Hello world” doesn’t cut it anymore.

How do we get kids engaged with learning software development, without them first having to spend a month writing code?

Minecraft is a fabulous starting point. (I think it will go down in history as one of the most brilliant games ever.) In our household, it’s the virtual neighborhood playground. Quincy will often get on to play with a bunch of friends after school (with TeamSpeak, so they can trash talk while building secret hideouts, chasing monsters, designing complex contraptions, or just pushing each other off cliffs).

But what’s most interesting is Minecraft is fully programmable with “redstone“, a set of digital circuit components. You can build a combination lock for your secret room (that blows up with the wrong combination), a completely automated train system, or even a scientific calculator or 8 bit computer. It’s fun, it’s play, and it’s something to show off to friends.  And, it’s programming.

Taking the Minecraft a step further, there’s the physical world itself. Between Arduino, Raspberry Pi, and an ever-growing set of easy to use components and modules, it’s never been easier to sense and manipulate physical things with software. You want an alarm that goes off when somebody goes in your bedroom? No problem. Now, let’s enhance it so it only goes off when it’s your sister, and also sends a text message with a picture of the offender.  You’re not downloading that from the app store!