Teach Teachers What They Use, Teach Kids Where They Are
Gary Stager isn't the first person to point out that we've been dumbing down computing education for the last 30 years—that we've gone from teaching kids how to program to teaching them how to use Excel to teaching them how to use iPads. (My five-year-old didn't need to be taught...) What people mostly aren't asking is why this has happened, but I have a theory. I think teachers are teaching the computing that they use themselves, because that's the most economical thing for them to do: they use Word to make hand-outs, and Excel to manage grades, so they've already invested in proficiency, so they can put together lessons in less time. They don't use Logo (or Scratch, or Python, or whatever) in their own work, so teaching it requires more effort.
Which makes me wonder how successful current "programming for everyone" efforts are going to be. I doubt most teachers are going to want to hack their classes' web sites (and even if they do, their schools may not allow them to). I'm even more skeptical of the idea that teachers will program in their day-to-day work any time soon.
("But wait," you say. "Most Latin teachers don't speak Latin at home. And there aren't a lot of physics teachers building lasers in their dining rooms." True, but those are recognized, accepted specialties within teaching right now: they aren't trying to gain ground, just hold onto what they have.)
Now let's shift focus a bit. My 14-year-old nephew is on the web, creating content, almost daily, but "on the web" isn't quite accurate. He's actually on Facebook: along with GMail, YouTube, and Minecraft, that's pretty much what the web consists of for him (at least that he'll admit to his uncle). We already know that if we want to teach kids, going to where they are works better than bringing them into an artificial environment and giving them artificial tasks. I therefore think that if we want the 95% who aren't already keen on hacking to care enough to do it, we need to teach them how to hack the places they already are. Having everyone build their own Facebook plugin would (a) take far too long to pay off and (b) be unsafe (imagine you're Facebook's director of security and someone tells you that 100,000 high school kids are about to build plugins for your site). But what if we made a generic plugin that allowed people to build and run WebScratch programs inside Facebook, with access to (some) FB content? I know, I know, there's no such thing (yet) as WebScratch, but you get the idea: if we could create, test, and deploy this that makes it easy for them to build that, what would "this" and "that" be?
("But wait", you say, "Facebook is a closed pseudo-monopoly. We shouldn't be supporting them!" I agree, but (a) going into a slum in Rio de Janeiro to teach the kids who live there doesn't mean you support the idea of slums, and (b) they won't understand why "closed" is bad until they understand more about the web in general, and open in particular, and they won't learn either unless they care enough to learn in the first place.)
So, question #1 is, "What can we teach about computing and/or the web that will appeal to teenagers, but will also be useful to classroom teachers?" And question #2 is, "What plugins can we build that will allow learners to hack where they are?"