When Stanford announced their online CS classes, most of the attention was on the large numbers that were enrolling. The New York Times noticed when it was 58,000. Eventually, some 200,000 people signed up, and about 32,000 reached the finish line. I don't think that it's the numbers that are so impressive. For example, it's an open question whether that 82% drop out rate is acceptable, high, or low.
What I find most interesting about the Stanford AI classes is that it was an exploration of new models of CS pedagogy. We need new models for CS pedagogy. We teach computer science in order to create great software developers, and that's a good and important goal. But there are lots of audiences for CS education that have nothing to do with being a great software developer. I have a new project called CSLearning4U, just funded in October by the National Science Foundation, to explore new CS pedagogy for high school teachers. High school teachers will probably never work on a large team in Eclipse building million line software systems. Different learning goals require different learning methods.
I am not a big fan of the Khan Academy videos. I do believe that videos are a good way to convey some kinds of information. I do not believe that most people learn from watching videos. People learn from doing something, and getting feedback on what they did.
I enjoyed Daphne Koller's article in the New York Times where she makes much the same point. While the Stanford online CS classes did use videos, they were interrupted by questions--fill-in-the-blank or multiple choice questions for students to use as "exercises." It's a small change from just watching a video, and is hardly a revolutionary educational technology advance. But I will bet that just that small change from videos-only would make a dramatic improvement in learning. Figuring out how to improve learning for large numbers of students in computer science is a big deal.
The other cool model that I see in the Stanford online CS classes grew up around the Stanford classes. Fred Martin at U. Massachusetts Lowell recently wrote a blog post about how he used the Stanford classes to create a "flipped classroom." The students signed up for the Stanford course, but also signed up for a for-credit course with Fred at Lowell. Fred didn't lecture--Why do that when Stanford provided those already? Instead, when Fred met with his students, they discussed the lectures, built on them, played with the problems. The stuff that good students do outside of lecture, in order to really learn the material well, is what Fred did with his student during class time, which was still "outside of lecture." Again, I would bet that this model would lead to dramatically improved learning compared to just taking the Stanford online course.
We need more experiments like these. We need to figure out how to teach more people about computer science, better and at a lower cost. As a Wall Street Journal article said this last week, CS is now a basic skill for the 21st century. We need to learn to provide it to more people than just those who will become software developers.