A modified version of this post was published on EdSurge under the title "Stars and Kisses for Khan Academy's CompSci Program."
While it's not going to revolutionize education (or even computer science education), the Khan Academy's new Computer Science program marks a great step forward for the Academy by making the lessons open-ended and tinker-ready. Critics take note: Khan Academy is on the move.
I have to admit, part of the reason that I'm excited about this new platform is that I could have penned a near-replica of John's announcement to describe my own recent work on Studio Sketchpad. In 2010, I began building this website based on a similar concept of tinkering, using code that generates interactive graphics as a fun way to learn to program. There are many such sites around today (and Sketchpad certainly wasn't the first), each of which has a different specialty: OpenProcessing is portfolio-oriented, Scratch is drag-and-drop simple, Kodu and PlayMyCode are game-oriented, AppJet was webapp-oriented, Codea is iPad-classy, JSBin is developer-functional, Mozilla Thimble is webmaker-targeted, Programr, TryRuby, jsdo.it, wonderfl, sketchpatch, and the list goes on. Earlier this year, I organized a panel discussion at the Digital Media and Learning conference solely to compare notes with some of the other people building these tools: Building four communities for learning, tinkering, and remixing with code.
What I built -- inspired by an experience I had running a P2PU course using Sketchpad in 2010, and enabled by the great Mozilla Popcorn project -- functions a lot like the new interactive code-casts on Khan Academy. Watch the code being typed as you listen to an accompanying audio narration, pause playback to fork and experiment yourself with the code at any moment, then show and share what you create (an example). The best part is that anyone can record a sketchcast, not just me. Here's how this works:
Sketchpad's sketchcasting is technically inferior to Khan Academy's interactive code tutorials, but sketchcasting does have three great things going for it that I'd love to see the Khan Academy incorporate in the future:
- Anyone can record a sketchcast. Open the normal code editor, press "record", and talk as you code. You'll get a unique URL to share with others.
- Sketchcasting is collaborative. Groups of people can code together while recording a sketchcast, and groups of people can code together while experimenting with forked versions of existing sketchcasts.
- All viewer comments and Q&A are automatically time-coded. While I've argued for and hand-built time-anchored Q&A learning tools in the past, I got it here for free as a part of the excellent Soundcloud audio player. Thanks, Soundcloud!
Hats off to Sal, John, and team at Khan Academy. It's great to see this new approach of weaving together instruction with open-ended experimentation. True, it's not true scaffolding that fades, but modding/tweaking/remixing are arguably a new form of structured support: letting learners choose their starting point and their own goal. This is a common thread in learn-to-code community websites: Finding and tweaking existing work acts as a great entry point for later creating original work. I'm excited to see Khan Academy enable this sort of structured experimentation. I look forward to hearing status updates from Sal, John, and team in upcoming months and, if all goes well, hope to see more open-ended messiness make its way into other parts of Khan Academy.