My Experience with Coursera

This past summer I set a goal for myself of finishing the Coursera Machine Leaning course taught by Andrew Ng. The class has been running for several years now and it’s been something I’ve thought about doing since the first one but it wasn’t until this summer that I made the commitment to myself to sit down and do it. This was my first (and so far only) experience with Coursera as a platform and unfortunately, it really left a lot to be desired.

From an infrastructure perspective, the website itself really left a lot to be desired, especially from a company that has received $85 million in funding. Page load speeds felt really sluggish and even when they did load, I was presented with a nice loading spinner signifying that I had only downloaded a skeleton webapp that then needed to bootstrap and download the rest of the content. I can understand this behavior if it only happens the first time I visit the site but this is not the case with Coursera. Internal links also result in this spinner which is particular frustrating because the content won’t fully load if the tab is in the background. For those of you that like to open new tabs, wait for the page to load, then view the content, you’ll feel my pain.

Another surprisingly large pain point for me was accessing the course wiki. This was often frustrating because the wiki’s login system is not intimately tied with that of the main webpage. Clicking the “course wiki” link in the main class navbar opened a new page which then asked me to login again to see the content. Even more annoying, the auth cookie is only set for the session meaning I constantly had to re-login to the wiki site throughout the duration of the course. For those of you thinking “what a minor and unimportant thing to care about”, if your friend’s weekend hackathon project can save my session indefinitely, why can’t Coursera?

As for the actual content of the course, I was pretty satisfied with the material covered. Topics included various techniques in both supervised and unsupervised learning and I most certainly walked away with a better understanding of what exactly machine learning is and where it’s useful. From what the course description tells me, there are typically different levels of involvement people will have ranging from only watching the lectures to completing all the assignments and doing the review questions. I fell into the latter camp and every week, I’d sit down in front of my computer, fire up Octave, and begin trudging through the assignments.

When I first started the course, I was really enthusiastic and would watch all the lecture videos before attempting any of the review questions. As the course wore on, however, I found myself slowly slipping back into my old college habits. Often times, life would get in the way of being able to dedicate a consistent amount of time each week to my studies and throughout the 10 week course, I slowly began skipping through the lectures, before eventually ignoring them altogether (which I suppose is the equivalent of skipping class). Instead, I would skim through the wiki pages to get an overview of the material and pound on the review questions until I got them all correct (thus learning the material through trial and error).

Of all the various elements of the course, I found working through the programming exercises to be the most informative and rewarding. As a professional programmer and someone who actually paid attention to Linear Algebra in high school, I spent minimal time wrestling with the Octave syntax and often times found myself vectorizing equations without really thinking about it (parts of the course were dedicated to re-writing iterative solutions in vector form for performance reasons). Although It was nice to dust off those matrix manipulation skills after several years, I couldn’t help but feel like many of the assignments suffered from the “draw the owl” effect. No matter how many times Professor Ng told me I “should now be an expert in machine learning” after “building” a functional movie recommendation system, I couldn’t help but feel that I had little idea how I had arrived there.

Courera has always been an interesting website to me since I truly believe in the vision of free knowledge for everyone. Even now, I get excited browsing through the course listings and dreaming of learning everything from bio statists to macro economics. Completing the ML class has made me realize that Coursera really is about bringing the large lecture University experience to the masses via the Internet. It also reminded me why I chose to graduation college early myself: because that experience just wasn’t compatible with how I learn best.