My First Experience with a Free Online Education
In my last post, I described how you could get a respectable university education online for free. Now that some of these online courses have started, I thought I’d give a quick review of the courses so far. Currently, I’m taking four classes from two different providers: Coursera and Udacity.
Coursera is the company offering the large array of Stanford courses I described in my last post. The two classes that have started are Software Engineering for Software as a Service (hereby referred to as SaaS) and Model Thinking (neither of which are actually offered by Stanford, but rather UC Berkeley and University of Michigan respectively). Many of the Stanford courses have just overcome some legal/bureaucratic issues and are about to begin (most of which I’m extremely excited about).
Udacity is the company started by Sebastian Thrun, the professor of last term’s Artificial Intelligence class. They’re currently offering an introduction to computer science (CS 101 - Building a Search Engine) and a more advanced specialized AI class (CS 373 - Programming a Robotic Car).
Now onto each course:
This is one of the courses I am most eager to take. The lectures are good and keep my attention well enough. I’ve heard some criticism for the fact that they’re just posting recorded lectures from the physical offering of the course (unlike all the other online courses), but I think it’s fine (in some ways, I think it brings more authenticity to the course; you know that you’re receiving exactly the same material as the real course). One caveat about the lectures is that they only give a broad overview of all the topics (understandable given all they’re trying to cover), so there’s somewhat of a disconnect between the lectures and the assignments.
The assignments are definitely the strong point of the course. The programming assignments aren’t trivial (at least for someone new to Ruby and Rails) and their autograder is quite nice. I feel like I’m learning quite a bit from the assignments; much like my real world CS courses.
One thing that annoys me (in both SaaS and the other Coursera course Model Thinking) is the video player. There’s quite a few technical issues I’ve experienced, from the videos not fully loading (even after multiple tries) to the in-video quizzes not actually displaying (the latter of which seems to be more prevalent in the SaaS course, possibly because the quiz questions tend to be at the end of video).
Out of all the courses that were originally slated to be offered that I wanted to take, this was the course I was least interested in. My opinion about the course has changed very little. The professor is quite enthusiastic, and I do like his lectures. I’m not really a fan of this potpourri of topics that he’s covering; I definitely think there’s a sacrifice of depth for breadth. The in-video quizzes are sometimes trivial (it’s often just basic algebra). Also, the course doesn’t seem as interactive as the others. Part of that is likely due to the fact that there’s no programming (it’s not a CS course after all), but the amount of communication and updates appears to be less than the other courses.
CS 101 - Building a Search Engine
This course is an introductory computer science course. Why am I taking it? CS 101 is centered around building a search engine. It’s quite an interesting take on a first CS course. I think the professor Dave Evans is an excellent lecturer who explains concepts particularly clearly. In fact, it makes me quite excited for his Applied Cryptography course starting on April 16.
In both Udacity courses (CS 101 and CS 373), there are lectures intertwined with programming exercises and then there is an independent homework assignment. I think this model is great and quite interactive compared to the Coursera courses. The level of difficulty of the questions in CS 101 is appropriate and makes for an great learning experience. One problem I’ve had with both Udacity courses is that the grading is rather harsh; each question is all or nothing. This is particularly aggravating in the “which of the following satisfy” type of question.
CS 373 - Programming a Robotic Car
I’ll preface this review by saying I wasn’t interested in this course when I first heard about; it seemed too specialized. And similarly to Model Thinking, I still have that sentiment. The lectures and the material are quite interesting. But what really hurts this course is the lack of depth. Since the Udacity model appears to be 6 week courses with an hour each week of lecture, there’s just not enough time to get into details. I feel like professor Thrun is glossing over a lot. The programming exercises often seem difficult, but in reality often only involve translating the equations (which usually come from wishy-washy derivations) into Python code. I don’t think they really test understanding of the concept covered. Overall, I think it’s an okay course, but I wouldn’t pay money for it.