Recently I had the pleasure of assisting someone who lives at Connelly House, managed by Project HOME, in bringing his music to YouTube. He was a 50ish year old man, suffering from disability, with no internet or real computing experience to go by, but he had a project. In the journey to produce that single video for YouTube, he learned some basic concepts around navigating the web, managing an email account, and using search, that empowered him not only to produce a single video, but to go on and produce over 30. Now, one experience does not a conclusive study make, but I came away from the this convinced that it is a technique I’d love to try with K-12 students, building an interactive story or video game, and along the way, having a goal for them to learn the basics of computational thinking, problem solving, and basic programming. The software to do this is free and with cloud-based storage (Dropbox) regular access to a basic machine in the home, the technology you need is already here.
This is not an original idea (I don’t believe in original ideas by the way), and there are many who have brought this up as a successful path to introduce programming in the past. Here go some great links to ponder:
Knowing and Doing: Eugene Wallingford: “Problems are the Thing”
Philip Greenspun: “Improving Undergraduate Computer Science Education”
Edutopia: “Project-Based Learning”
“Invent Your Own Computer Games with Python”