by Jérémy Brunet

And the award for the best MOOC goes to…🥁

…Harvard’s CS50! 👏👏

I’ve spent the last 18 months of my life working for my own EdTech startup named Peter.

Peter was a Messenger bot built to help French k-12 students with their homework. We did a couple of great things, learned a lot about education along the way, but at the end of the trail, it didn’t work out.

From this experience, I know now how hard it is to build a good product in EdTech. Or to keep building something relevant to cohorts of users.

Sal Khan might be the most popular pioneer in EdTech. His Khan Academy has been teaching millions of people around the world since 2006. His academy introduced me to the marvels of free Education in February 2014 (I was hooked on Math, JavaScript… and Cosmology!).

Then, zach sims’s Codecademy took over. There, I learned the basics of many popular programming languages. The UX is slick, making the sessions stimulating and very efficient.

And last but not least, I discovered a few weeks later that thousands of Massive Open Online Courses (MOOCs) were available.

At that time, I was sure I’d become a great developer if I took a few of them. But, it turned out I was dead wrong. I was very disappointed, as I expected to have the same blast in learning I had with Khan Academy and Codecademy.

However, CS50 from Harvard University stood out from the other MOOCs. CS50x is the MOOC version of the full-time on-campus CS50 course. Learning Computer Science with the CS50 course has been one hell of a ride. Their product is one the best I’ve ever seen. It combines a large catalog of memorable videos with a singular learning experience.

Being familiar with CS50 should be mandatory for every founder in EdTech, and I think everyone can draw significant inspiration from it. Now, I’ll share my thoughts, experience, and analysis of the course.

Myth takes 🦄

From start to finish, CS50 is crazy good. It’s the only MOOC that kept fueling my momentum after my introduction to the EdTech world.

CS50 taught me something that excited me a lot - programming - in an even more exciting way.

After my introduction to programming languages, my expectations were sky-high. I’ve spent the last 6 months learning new skills with wonder.

I imagined MOOCs as the holy grail of EdTech. I could take one semester at one university, then move to another one to study something else. I thought a new era in Education had come where total freedom in learning reigned.

But it hasn’t come. Not quite yet.

Many publishers don’t consider their MOOCs as a product, and the UX is non-existent. When students lose interest in the content, they quit. And I’ve been there a few times.

Here’s my (non-exhaustive) collection of bad memories about MOOCs:

  • Comedians portraying teachers 🎬🎭
  • Instructor teaching the entire MOOC with hard to understand English👂⁉️
  • Pausing lectures to read the code and recreate examples 🏎👋 and, as a result, having no idea of what the instructor is coding 💬🤷‍
  • Green Screens! 🦖🍿
  • Ghost Community 👻👀
  • Week #1 assignment done in < 5 minutes… 😎✌️
  • Week #2 assignment impossible to do 💀⚰️
  • Home-taped unedited 90+ minutes screencasts 📹🏡
  • Decors to recreate a classroom 🏗🏫

Some may not look that bad, but with a 6 - 8 weeks run (or longer), it’s quite tedious. CS50 avoids these kinds of mistakes and focuses on building a learning experience like no other.

CS50 is a marathon that kickstarts with a fantastic intro.

The first hour ⏱

Every MOOC looks interesting at first glance. But the learning experience sometimes turns out bland and disheartening for the students.

But CS50 learned how to ship fascinating educational content within the best framework.

The first thing I had to do after enrolling was to install the CS50 appliance. The tutorial is quite lengthy, but for my first hour in the class, it was thrilling!

The CS50 appliance consists of a virtual machine powered by VMware.

Every CS50 student received a free 1-year license key to run the appliance on VMware 🎉

The desktop includes:

  • Gedit for coding
  • Dropbox (in the home folder) to save the code sheets
  • Terminal to run the code
  • Google Chrome to browse the web and submit the assignments

I haven’t even written one line of code or seen a second of the first lecture yet and I was already blown away.

Not a lot of MOOCs offers a UX as immersive as CS50 does.

Sometimes it was buggy, but I was always excited to work with it. Launching the CS50 appliance on my laptop was Computer Science to me.

Today, CS50 appliance is deprecated. They’ve replaced it with the CS50 IDE. After passing the MOOC, I have tried it and the interface is awesome.

People at CS50 iterate to deliver major upgrades. This shows how committed they are to their product.

After taking this first step, it was time for me to dive into my first lecture!

Popcorn Time 🍿

Here comes the best part of the course: the videos!

In CS50, you have 4 types of videos:

  • Lectures: live-taped in the Sanders Theater of Harvard University
  • Sections: live-taped tutoring sessions in Harvard University
  • Shorts: short videos to explain one important concept
  • Walkthroughs: shorter videos to give hints about a problem set

Videos in MOOCs are pivotal. They constitute the main channel for teaching. Students watch them to learn.

When a MOOC fails in hooking the student to the classroom, videos are often to blame. But, when a MOOC succeeds in bridging the classroom experience so that the student feels they’re a part of it, great videos are always the reason.

To deliver a rockstar experience, it’s mandatory to have great staff behind the scenes.

CS50 has Professor David J. Malan, the teaching fellows (TFs), and many other support staff that no one can see.


Professor Malan’s teaching style

This is how Professor Malan presents the purpose of CS50:

“The goal of the class ultimately is not to teach you programming, is not to teach you C or PHP or SQL or any number of the words and acronyms in the course’s description, but rather to teach you to solve problems more effectively and to think more methodically and more algorithmically, so to speak.” David J. Malan introducing CS50 in 2015 week 0 lecture.

This makes a huge difference. CS50 will teach you how to code - it’s a great introduction to C - but more importantly, it will challenge your logic along the way.

All videos serve a very specific purpose. You can’t replace a lecture by a section, as they are complementary. You can learn a few things about programming by watching only shorts, but you’ll miss the point of the class.

Lectures are meant to feed the students’ mindset, so to speak.

Professor Malan takes time to explain how to think with logic and prove how beneficial it is for programming.

He would sometimes run chunks of code that were not working, and these bits were the best parts of his lectures. I saw the theater laughing along with him when an unexpected error prompted. Then, he would challenge his logic with relevant questions to try at the end coupled with a few fixes to debug his code.

He always starts his lectures with his catchphrase:

This is CS50! 🎉

Right after that, he goes on with “And this is week #n…” and his lecture begins. And it’s a real show!

He galvanizes his audience with his energetic storytelling. He has his signature expressions (“underneath the hood”, “at the end of the day”). Watching 5 minutes of his first lecture is enough to get familiar with his teaching.

Professor Malan does more than lecturing. He performs live to prove his point. And this helps students remember a key concept in Computer Science.

Memorable moment of week #0 lecture to explain algorithms 🎞

He often asks students to join him on stage to complete all sorts of challenges. These moments are both very instructive and entertaining to watch!

One of the funniest of the MOOC was the “Peanut Butter & Jelly Demo”. CS50’s teaching fellow Rob joins Professor Malan on stage to illustrate what pseudocode is:

After that, nobody would forget what pseudocode is. 😂😂😂

Every time Professor Malan asked the students to come up on stage, I was super envious behind my screen.

One picture can speak a thousand words.

Course structure and highlights

One of the best parts about the course? Professor Malan hosts every CS50 lecture and he nails it every time. 🔨

There are two lectures per week, and the intensity he puts into them never drops. His lectures soon became my favorite moments of the class.

By week #3, I found myself binge-watching the weekly lectures. And the same viral effect affected the sections.

Sections were a must-watch for me for two reasons. First of all, I needed further explanations following the lectures. But the second reason was my Teaching Fellow (TF), Allison.

Like Professor Malan, Allison teaches with a lot of energy, good vibes and a lot of hand gestures. Each sections length was more than an hour, but was never a problem for me to focus. Her flow is natural, she interacts with the classroom, and here again I felt included.

Allison has signature expressions (“Extra Kudos!”, “Everyone good?”) which makes it easy to get comfortable with the section. She also shows a lot of support to the classroom. She repeats her favorite tips week after week to help us with our week’s problem set (better know as a pset).

Her most helpful advice? “Paper & Pen” and “Sleep!!!!”

Pseudocode and going to sleep when I was stuck on my pset late at night saved me more than once.

Allison wasn’t the only great TF in the staff. Zamyla is great in the pset walkthroughs. Rob is also excellent in his sections and shorts (nothing beats his peanut butter and jelly sandwiches, though!).

Every student had his or her favorite TF.

But great hosts can’t do all the magic. To run a good show, you need more people.

The tech

🚨 Spoiler alert: it’s not a green screen behind the instructor! 🚨

CS50 mesmerized me with the setup and the technical effort they made to tape the videos.

View from the monitoring booth 🖥

Professor Malan takes great care at crafting the best videos possible.

The camera crew work like professionals and the output is flawless. They offer to the students the most comfortable viewing possible.

But hiring a filming crew, owning a majestic theater, and possessing a pair of Google Glasses are not required to teach. What’s very important here is to offer a true original learning experience to the viewers.

Think about the Khan Academy. How much does it cost for Sal Khan to create a video?

It’s not about money but style, but rather how an instructor commits themselves to teach students and get great results. For Professor Malan, it means shooting and editing videos like a pro. For Sal Khan, it means recording on a black screen and writing on it in different colors while teaching.

His videos are as powerful as those in CS50: you need 10 seconds to understand what’s going on with the sound turned off.

And at the 11th second, you’ll want to turn the sound back on to learn more.

By contrast, somebody staring at the camera over a green wall doesn’t build a great context for learning. It’s uncomfortable to watch and dull after a few minutes.

These kinds of videos are lethal for MOOCs, they kill engagement and make the classroom boring so to speak.

Once my pset was done, I was happy for two reasons. The first was to have nailed something challenging I could be proud of. The second was to watch two new lectures and one new section!

Pset 1 - Homework 0 🏟

CS50 disrupted a traditional teaching method: homework.

When I was studying CS50, I organized my week as follows:

  • Watch the lectures & section🍿
  • Discover the pset 📦
  • Read week’s notes 👇
  • Solve the pset 🧠
  • Repeat 🔁
From top to bottom, left to right: lectures notes (Week #0 to #3 missing), psets, quizzes, shorts notes, a book about C programming and a GDB cheat sheet 📚

I liked to discover my pset as soon as possible to try to gauge the amount of trouble I’d need to go through. It was a helpful strategy for me.

But wait… When did “homework” turn into something exciting?!

Read what Professor Malan says about psets after he decided in his sophomore year to “step foot in a classroom called CS50”:

“And at that point, did I finally realize that, my God, homework could actually be fun. Indeed, I was on those kids that on Friday evenings when the psets would be released, I would go back to my room and dive into the night’s psets.” David J. Malan introducing CS50 in 2015 week 0 lecture.

Yes, you read that right.

Everything I learned with CS50 was through completing exciting challenges.

How radical is it to code a brute-force algorithm to decipher passwords? Or writing a program to recover damaged pictures like forensic specialists do in TV shows?

Psets are fun because they ask you to do something worth your time. They proved to me that I was on the right track, because I ran programs of my own that blew my mind.

So two weeks after taking CS50, I was able to brute force passwords. How many MOOCs can do that after 2 weeks?

This was far beyond my expectations, I felt like I was a bloody hacker! 🔓

The psets could be very challenging (my 😱😱😱 trilogy: pset4 / pset5 / pset6) but the reward was unique. They were two series of psets: standard & hacker editions. I took the latter (available until pset #4) only to dive deeper into mad challenges.

The community moderators (shoutout to curiouswiki, Cliff B, Kareem and the others!) on Slack, Reddit or Stack Exchange never left me alone in the dark. Many students were active, too, and it was great to see so many people sticking together.

Notes were precious as well. People from the staff were in charge of writing the transcripts of every lecture. Besides the videos, I used to read these notes over and over and annotate them to crack my psets.

Final Thoughts 💭

Enrolling in CS50 is one of the best decisions I’ve ever made.

CS50 is more than a course to broaden coding skills. Thanks to a rich learning path (reminds me of the 64 subtitles available, and I’m not joking!), CS50 turned me into a fast learner. But more than anything else, CS50 demonstrates what I think education should always be like.

If I had crossed paths with CS50 10 years ago, I’d have gone right into Computer Science with passion.

CS50 contributes to fixing education. Places like Khan Academy or Codecademy do, too. They all show that education can be playful, fascinating, and rewarding.

If only more MOOCs were as great as CS50, it would help many people find the most fulfilling studies.

Newcomers in EdTech are knocking at the door and it looks promising. Austen Allred gives a good example with his Lambda School where students can enroll in a Computer Science program with no tuition up-front. Others will follow soon or later, ready to play their parts in defining the future of Education 💪

👉 Clap if you liked my story! Interested in EdTech too? Hit the subscribe button to make sure not to miss my next story. Feel free to drop a comment below or to hit me up on Twitter 😉