Khan Academy offers kind-of-scaffolded computer science learning: Doing away with the teacher
The TechCrunch article actually cites research (see below), a paper by Cindy Hmelo. Cindy’s paper is actually on problem-based learning, but it does describe scaffolding — as defined in a Hmelo & Guzdial paper from 1996! How about that!
What I see in the Khan Academy offering is one of the kinds of scaffolding that Cindy and I talked about. Scaffolding is an idea (first defined by Wood, Bruner, and Ross) which does involve letting students explore, but under the guidance of a tutor. A teacher in scaffolding doesn’t “point out novel ways of accomplishing the task.” Instead, the teacher models the process for the student, coaches the student while they’re doing it, and gets the student to explain what they’re doing. A key part of scaffolding is that it fades — the student gets different kinds of support at different times, and the support decreases as the student gets more expert. I built a form of adaptable scaffolding in my 1993 dissertation project, Emile, which supported students building physics simulations in HyperTalk. Yes, students using Emile could click on variables and fill in their values without directly editing the code, but there was also process guidance (“First, identify your goals; next, find your components in the Library”) and prompts to get students to reflect on what they’re doing. And the scaffolding could be turned on or off, depending on student expertise.
I wouldn’t really call what Khan Academy has “scaffolding,” at least, not the way that Cindy and I defined it, nor in a way that I find compatible with Wood, Bruner, and Ross’s original definition. There’s not really a tutor or a teacher. There are videos as I learned from this blog post, and later found for myself. The intro video (currently available on the main Khan Academy page) says that students should just “intuit” how the code works. Really? There’s a lot more of this belief that students should just teach themselves what code does. The “scaffolding” in Khan Academy has no kind of process modeling or guidance, nothing to explain to students what they’re doing or why, nothing to encourage them to explain it to themselves.
It is a very cool text editor. But it’s a text editor. I don’t see it as a revolution in computer science education — not yet, anyway. Now, maybe it’s way of supporting “collaborative floundering” which has been suggested to be even more powerful than scaffolding as a learning activity. Maybe they’re right, and this will be the hook to get thousands of adolescents interested in programming. (I wonder if they tested with any adolescents before they released?) Khan has a good track record for attracting attention — I look forward to seeing where this goes.
The heart of the design places a simplified, interactive text editor that sits adjacent to the code’s drawing output, which updates in real time as students explore how different variables and numbers change the size, shapes, and colors of their new creation. An optional video guides students through the lesson, step-by-step, and, most importantly, can be paused at any point so that they can tinker with the drawing as curiosity and confusion arise during the process.
This part is key: learning is contextual and idiosyncratic; students better absorb new material if they can learn at their own pace and see the result of different options in realtime.
The pedagogy fits squarely into what educators called “scaffolded problem-based learning” [PDF]; students solve real-life problems and are encouraged to explore, but are guided by a teacher along the way, who can point out novel ways of accomplishing the task. Scaffolded learning acknowledges that real-life problems always have more than one path to a solution, that students learn best by doing, and that curiosity should drive exploration. This last point is perhaps the most important, since one of the primary barriers to boosting science-related college majors is a lack of interest.