Well, mostly. Each of the stock programs has a video lecture associated with it. A few of these are from the archives, but most of them are newly recorded by KA intern Jessica Liu. (Props on choosing a woman to fight gender stereotypes.) The tired claim that a confused student can pause the video has more weight here, since instead of puzzling it out on their own, they can edit the code and see the changes. When the student is resumes the video, the changes are undone.
But the problem is that the video is still (still!) a lecture. Liu works through what’s going on for the student, laying it our in plain sight, which is ironically the worst place to put it. Consider the example of a bouncing ball. Liu dives right in to the code. It’s the best she can do, because for all the student’s interactivity with the program, she has no interactivity with the student. She has no way to know what he is thinking, what other programs he has looked at, what his math background is, or whether he’s about to click the back button.
In a traditional school, a teacher might use the program as follows. (Disclaimer: I’m not a teacher.) She waits until she’s made a few passes over parabolas and quadratics in other ways. Then she sits the class in front of the animation with no code. (Remember when teachers placed opaque paper on the overhead projector? Same idea. Resize the browser window.) She’ll ask the class to observe the program. “The ball goes up and down,” someone will say. “Yes – and does it always move at the same speed?” When the class isn’t sure, she can ask what information they’d need to know to find out. “What else do you notice?” “The green wall is behind the ball and always there,” another student will say. “It is. Can anyone tell us why?” “Because the wall is under the ball. Like those glass plates you showed us,” says another student recalling a previous classroom demonstration. “What else?” A usually quiet student speaks up: “The shadow gets larger and lighter as the ball goes up.” “Very good Johnny! Does everybody see that?”
After the class has found all the subtleties that the teacher has in mind, she’ll have them pair up and, on paper, come up with what they think the program is. Maybe each group will be assigned one aspect previously identified. After a few minutes, they class will reconvene and the teacher helps collate their responses in typeset code. She may feign misunderstanding the students so they clarify their ideas and highlight misconceptions to the class. And then she runs the code, which probably doesn’t work, and hilarity ensues while the class debugs it. Then, and only then, is the Khan Academy model held up as an example.
This method isn’t something the Khan Academy is choosing not to do – it’s something they simply cannot do. In a traditional classroom, there is continuity from lesson to lesson so students aren’t confounded by terms like “draw loop”. The group dynamic means everyone is focuses and not wasting each other’s time (well, in theory.) There is a desire for students to show what they know to the class. And the teacher can intervene at any point if something goes wrong. With a recorded lecture, the chance to collaborate is missed. And because we can’t expect every student to have every idea, collaboration is vital. The result is code that the students can own, instead of The Right Answer™.
Yes, there will be the solitary deep thinker who will take this resource and teach himself (almost always himself) to think mathematically and to map the text to the picture. But this has been true in every generation. The technology removes some small but critical barriers to learning, perhaps enough to qualify as innovative. (Perhaps.) But the pedagogy lags behind. This is because high-fidelity media works far better interactively than when recorded. (More on that later.)
Takeaway: the new Khan Academy computer science content may inspire the next generation, but don’t expect it alone to build crack coders or mathematicians.
Anyone teaching students themselves in a traditional classroom may use this lesson plan. If you’re a publishing company or an online resource, email me for approval (see the About page).
UPDATE: In late September, Bret Victor responded with an essay titled Learnable Programming. It attacks the claims that KA CS is as innovative as we all thought it was.