A Response to Khan Academy Computer Science

Today the Khan Academy launched new computer science content. The centerpiece is an interactive editing environment with Processing and JavaScript, with real-time updating and number scrubbing in the style of Bret Victor. Anyone can make their own drawings or animations, and there’s the obligatory social component. The system is remarkably light-weight and does a good job of getting pesky details (include statements, integer arithmetic, cryptic error messages) out of the way. Pop-up sliders allow you to change numbers in the program and see the effect immediately (although at far too course a grain). The result is something like a children’s science museum crossed with Minecraft. Six-year-old me would have had a blast with this. I think that interactivity finally takes advantage of the medium the Khan Academy is working in.

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.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: