Don't pander to the beginners : on contrived tools

Any exploration of casual coders should probably start at the beginning with kids trying to learn to program. Having two of my own, I've been through a lot of tools in search of something that holds their attention— from Lego Mindstorms to Scratch to Minecraft Mods, I've tried almost everything. And in most cases, the tool results in one of two failure modes: either it is simply too contrived to hold the attention of the learner beyond say, the amount of time that it takes to learn the rules of a moderately complex board game, or it is too simplistic to compete with the existing alternatives when it comes to stuff that is built by the pros.

This latter point is often lost on people seeking to make computer science education more accessible. Mucking around with Scratch on a Raspberry Pi that is gasping to drive a real computer display doesn't even hold a candle to a Flash game in an ancient web browser to say nothing of the GPU enhanced stuff most kids are exposed to in today's mobile devices. And no matter how relevant the style of pedagogy, it's unlikely to compete due simply to the amount of folks throwing resources at the mainstream platforms.

This is where the emerging platforms can enter the picture in interesting ways. Physical computing (the "Internet of Things") is one of those edges— you can't buy a talking alarm clock that blinks the lights in your room from the AppStore, nor would any sane CE company make one for Best Buy but it is fairly accessible to build one. Another possible edge might actually still exist on the open web where the scraping and remixing of existing information sources can engender some of the same feelings around control of one's environment.

The rewards that come from control and mastery are way more important than the pedagogy embodied in the tools when it comes to moving up the ramp of casual coding; as such, educators would do well to start there.