Archive for the ‘Lesson Plans’ Category

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.

The first day of physics class

Prompted by a video of math teachers watching Khan Academy, another math teacher and a media theorist have put up a small prize for similar critiques of the Khan’s educational videos. The first such video appeared hours later, by physics teacher Joseph Kremer. Watching it, I realized Khan’s approach is more flawed than can be fixed by an updated video.

What Khan doesn’t realize – or if he does, it’s not clear in the video – is that there are many building blocks to what he’s doing that he just expects the viewer to have.  It was the small things that tripped up the impersonated student. Yes, the Khan Academy has an elaborate prerequisite system, but since most users are teens frustrated on homework problems googling for help, who find the videos on YouTube and not on Khan’s website, there’s no guarantees about who’s watched the “required” videos. This is why the continuity in the classroom is so important.

There’s a moment where Khan is equivocating about time vs. change in time. Kremer makes jabs at this, and his feigned confusion is justified.  The idea of change was a fundamental idea in physics that Khan has neglected to give its own video. I wonder if Khan is aware of the importance of the distinction between a quantity and change in the quantity, because if he was, I doubt he’d be so flippant about it. As I stewed about the poor quality of Khan’s video, I realized that I could present this idea very well – but I’d need a classroom to do it.

Continue reading

Walk the Solar Sytem

One of my favorite childhood reads bills itself as a geography museum in a book. In the introduction, it says that “education is basically a do-it-yourself activity. You can’t really learn something until you’ve held it, rattled it, smelled it, dropped it once or twice, and then, if it won’t kill you, taken a bite out of it.” To drive the point home, there’s a (fake) bite taken out of that very page. The book has spinners, activities, puzzles, a bag of real rice to illustrate global poverty, and not a single multiple choice question. (In case you’re wondering, it’s Earthsearch by John Cassidy, and I’m keeping my copy.)

One such exploit is walking the solar system. “Outer space is a Nothing whose dimensions completely boggle the mind,” it says. “It is a staggering lesson,” Earthsearch continues, “but you have to learn it through your feet. Your eyes cannot learn it. Don’t even try.” Continue reading

Teach Object Oriented Programming concepts to second graders

What is Object Oriented Programming (OOP) and why should I take valuable class time to teach it? Well, it’s a programming paradigm used to store and relate different things that all match a template, that is, are structured in the same way. That template is called a class and each member or instance of a class is an object. So I might have a book class, which says that every book would have a title, an author, a year published, and so on, but each individual book (object) would have different values for each of those data fields. That’s the meaning of “structured data”. You, a computer, or a student, can perform the same operation on each book in a shelf (like checking if the title is Moby Dick) and then move on to the next one, all systematically.

This post isn’t quite a lesson plan, but it’s a fairly detailed outline on which to base one. I’m going to list the lesson objectives now to persuade you to keep reading. Continue reading

“Doubling up” on learning

In Randy Pausch’s “Last Lecture,” he defines a “head fake” as doing or learning one thing when your brain thinks you’re doing something else entirely. For instance, the brain “thinks” it’s learning to play baseball when it’s “really” learning teamwork. Part of what makes FIRST so effective is that the participants “really” learn the same things they would from any other sport, but what they “think” they learn, namely the technical skills required to build a robot, is far more valuable than moving a ball around. This post is about those sorts of multidisciplinary doublings (or triplings and so on), where different valuable skills are taught together. (I’m sure there’s a buzzword for it, so let me know in the comments.) As Douglas Hofstadter describes in Godel, Escher, Bach (review to follow), working on multiple levels and making connections between seemingly disparate topics is at the heart of intelligence. More practically, it saves time. Continue reading