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.
I've completed all three online classes (AI, DB, machine learning). There were not only videos with questions embedded, but also homeworks (for all three), and a midterm exam, and a final exam (for AI and DB). The homeworks were deep and thorough, and included programming exercises. For the DB class, students had to write SQL code, DTD, XSD, XPath, XQuery and XSLT. For the ML class, there were Matlab/Octave programming problem sets for every single topic. Students' answers and programs had been uploaded to a server for automatic evaluation. Moreover, after doing the homework once, it was possible to generate a new list of exercises, and try to achieve a better result. Doing these classes required a ton of work, so it's not surprising lots of people gave up. There was no already-paid tuition fee to lose.
When learning becomes a game, where you earn achievements and unlock items, then you will see a change in education. Education needs to be fun, not a daunting task of exams, homework and lameness. When you can create something that students will freely spend more time doing than anything else, that should be the goal. It's a shame that education has become a job.
Response to Anonymous above: There was no lameness in the ml class, nor were there exams. There were excellent lectures with useful quizzes where missing even a quarter of a point meant you were missing some subtle point in your understanding. And you could re-take the quiz until you got everything right. There were motivating programming exercises using real data to solve real problems with machine learning, where you could re-submit your code until it was accepted as correct. This was great fun! When I want to "earn achievements and unlock items", I play guitar hero :) But I didn't have much time for that last fall, as I was too busy having a blast with Dr. Ng's ML class.
I completed the advanced track of the machine learning course. What an amazing course. Every detail was carefully worked out, so as to provide great insight and understanding communicated with elegant simplicity. Now I'm enjoying reading research papers in the field that would have been opaque to me prior to the class. And I'm applying machine learning techniques to interesting problems. The class made learning this material fun and very enjoyable. Next semester I've signed up for 3 more of Stanford's free online classes. Highly recommended!
Response to Anonymous Jan 11: I agree with online learning. The point is that education should be fun, not a job. A job pays you to not be fun. The point is that online learning SHOULD be used more. Read my comment under Planting Seeds in the Field of Knowledge. That will explain in more detail what I meant. I am not advocating for anything, I am simply looking at current young adults who are in school and not in school and observing their behavior. There are lots of facts and figures you and I could comment about, but I think we can both agree there is a severe problem with the education system. Something radically new, exciting, trendy, fun and effective needs to take place.
Displaying all 5 comments