I first heard about online CS courses late last year after some of my friends took the AI Class taught by Sebastian Thrun and Peter Norvig. Soon after it finished, Thrun announced to the world that he was leaving Stanford to set up Udacity, which would offer short online courses in the format popularized by the Khan Academy.
Udacity began with two courses, one on programming a robotic car and the other CS101: Building a Search Engine. Python was the language to be used for CS101 and my partner signed up for the course to learn that. I decided to sign on since it would be nice to watch and work on the course along with her.
CS101 was a 7-week course with a lecture and homework in every week. The lecture is broken into small 1-5 minute segments, each of which is followed by a quiz. Like Khan Academy, you rarely see the instructor, Prof. David Evans. You hear his voice and his hand as he jots and draws the concepts he is explaining. In addition, there is an office-hours section every week and there are StackOverflow-like forums for students to mingle.
The material of this course was pretty elementary to me. Though I was flipping through the segments I knew about, the course turned out to be still worth my while. David turned out to be an excellent instructor, someone who can make difficult concepts accessible to almost everyone. Be prepared for a lot of self-deprecating jokes! 🙂 The course was stimulating because it was much more than just learning Python and building a search engine with it. David found opportunities to sneak in CS history, information about CS pioneers, computer architecture, the beauty of recursion, algorithmic complexity and much much more. While the homeworks were simple, the starred ones were quite interesting.
Udacity seems to have hit the right formula: the courses are short and aim to achieve something practical, while using that opportunity to teach the underlying theory. All the advantages of the Khan Academy method seem to be working well, at least for CS101. A lot of the credit should go to David, for creating such a syllabus and his teaching skills. A good teacher can make any topic interesting and I am sure we all have personally experienced this in our lives. So, it is my belief that the success or failure of future Udacity courses will rely a lot on their instructors.
CS 101 benefited hugely by providing students the ability to write Python code in the browser and test it right there. Despite this, I found myself more comfortable with a Python on Visual Studio setup to solve some of the more involved problems. The course was also engaging due to the online discussions. It was humbling to see people from all walks of life and from around the world taking this course. There was also a lot of fun online due to the Peter Chapman jokes.
With MITx, Coursera and many more online offerings jumping into the race, it certainly seems like higher education will no longer be held captive in ivory towers, by a few, for a few. For many generations, the human race has dreamed of a future where one could learn forever. We might just be at the cusp of such a revolution now. CS101 turned out to be a good experience for us, we finished the final exam last week and the grading robots handed out our results yesterday. I look forward to taking some of the other courses from Udacity whenever I get the time.