How Harvard's CS50 Renewed My Hope for Online Education

This fall I took CS50: Intro to Computer Science at Harvard and it was refreshingly, thankfully good. I didn't take the course *at* Harvard per se, but rather via the edX online platform, which is a collaboration between MIT, Harvard, Berkeley and other major universities to put their courseware online. It's one of the primary vehicles through which top tier institutions are at last surging into the online education space in a kind of academic land grab like we've never seen before.

edX, Coursera, VentureLab, Khan Academy and a veritable cornucopia of other platforms have popped up over just the last few years to try and solve the need for high quality distance education. That need was previously underserved by a combination of insufficient technologies and the unwillingness of top tier institutions to wade into a space that was otherwise dominated by shady, low-quality offerings like the University of Phoenix.

crappy online education google results

MIT took a significant step forward many years ago with their Open Courseware initiative but it's taken a long time for the rest of the cream of the academic world to really wake up to the potential. Now that reticence has (d?)evolved into a frenzied surge forward by the world's top institutions to extend their brands and establish themselves as the leaders in any of a number of different subject areas. The prevalence of broadband and high speed web-delivered technologies has provided them with the platforms to do so.

I guess I made the jump into tech at about the right time because my need to learn web programming coincided with the early growth of these platforms. I started the old fashioned way, with a great book about HTML and CSS, but I found myself desperately wanting to hear a real human being to prioritize information and explain things to me, especially as the material would get more complicated during my march into back end programming.

So I threw a dart and picked a $199 end-to-end How To Become A Web Developer From Scratch course offered by Udemy. It was underwhelming to say the least. The platform was bare-bones and the content had clearly been pulled directly from YouTube and thrown behind the pay wall. The material was broad and while my journey through Javascript, JQuery, MySQL and PHP certainly bore fruit (this blog was built from those lessons), I found myself pulling my hair in frustration at the limitations of the platform and the teaching style. I ended up playing the videos at 2x speed and praying for it to end.

Shame on me for looking for a "magic bullet" to teach me web development in one (very long) course, but I left disappointed. In the sections on HTML and CSS, I felt that only 25% of the material I'd earlier learned from my book was actually covered and much of it was glossed over or outdated. I felt terribly frustrated by what I knew was lacking in the areas I hadn't previously studied. Yet the teacher went on to become one of the site's highest paid professors that year. I was so perplexed by the difference between my experience and what I'd hoped to find that I was inspired to go looking for (or even perhaps create) other solutions to the problem.

I'd built a fairly tall tower of skills with capital letter acronyms but, not coming from a programming background, they were on a very shaky foundation. I decided that my next move would be to beef up my computer science credentials to fill in some of the gaps. Despite being burned by my last online ed experience, I was encouraged by the number of new offerings to keep trying. Most importantly, I felt that there had to be at least a couple of platforms prepared to offer a pedagogical experience that extended beyond YouTube-style instruction and screenshares.

I settled on edX's CS50 course, as opposed to a similar CS101 course offered by Udacity and an older OCW course from MIT because Harvard's claimed to be mostly language agnostic (with a focus on C) while Udacity and MIT both started with Python. For me it was a combination of always secretly wanting to understand C because it's such a fundamental building block of programming and knowing that I'd eventually be headed into Ruby (and Rails) anyway.

Thankfully, mercifully, CS50 turned out to be precisely what I wanted. The platform is reliable, the UX is crisp, and, most importantly, the course content is phenomenal. Professor David Malan and his army of TAs put an absurd amount of effort into giving Intro to Computer Science actual LIFE. From the first video, it inspired that nervous excitement that always accompanied my setting foot into a lecture hall for the first time. This wasn't YouTube, this was the Real Deal.

Harvard really opened the kimono on this one. Me and the other 100,000+ students who enrolled in the course were given a professionally recorded tour through all the inner workings of taking CS50 at Harvard. They filmed the lectures in the lecture hall as you'd expect. But they also had videos each week of two full recitation sessions with the TAs, a problem set walkthrough and multiple "shorts", each of which covered some tricky part of the material in depth.

David Malan is one of those rockstar professors who embraces his nerdiness and energetically inspires it of the rest of the class. The whole course has a kind of cheeky personality that is clearly a major factor in its having become something of a cult at Harvard. Their goal, as stated at the very beginning, is to bring every one of their students to the finish line and that energy is a major factor in their accomplishing it.

Because the course was hard. The homework assignments, which were offered via the same appliance that the live students used and submitted to the same grading tool as well, took me anywhere from four to twelve hours apiece. There were many times that I cursed the C gods for the explicitness of their syntax and the vagaries of pointers in the wee hours of the morning, powered forward as I was by little more than the stubborn desire to see the finish line somewhere down the road.

But I made it and I'm grateful for having done so. Unlike the Web Dev course before, this time I felt the same fatigue and sadness mixed with satisfied accomplishment that I did upon completion of a particularly rewarding class back in my own time at university. There is a lot of hype in online ed these days about the ideal of responsive platforms and tailored curricula, but I left CS50 feeling very satisfied with my experience overall and hoping that that particular style, of really trying to "take the course in the flesh", doesn't get lost in all the optimization of learning outcomes that we seem gravitationally drawn towards.

The CS50 appliance was a clunky pain to use and the collaboration tools with other students are barely in their infancy but credit to edX, Harvard, David and his TAs, they did a better job of delivering high quality pedagogical content than any of the other platforms I've used before, including the MIT/Stanford Venture Lab courses I took on tech entrepreneurship and education earlier in the fall. I've become re-energized about the potential for online learning, and now I've got a long wish list of future courses to take, topped by a Stanford course on Databases from Coursera and a Programming Languages course on Udacity.

But first I've got a journey into another of the great quasi-innovations in modern education, the intensive, vocationally-focused skills bootcamp. I sipped from the trough of web dev knowledge and it made me thirsty enough to sign on with a 9-week intensive Ruby/Rails bootcamp offered by App Academy, starting tomorrow. They're really putting their asses on the line by forgoing tuition if the student doesn't get a job following the program. I wish more institutions these days were held so accountable. It should, as with all good things, be fast, challenging, and exciting. I can't wait.


Join the discussion on Hacker News.

Tags:   Education