Everyone is talking about CS50 — the Harvard introductory computer science course that saw more than 800 students enroll, making it the most popular course at Harvard this semester. The uptake has been dramatic: CS50 once attracted less than 100 students, and in 2005 only about 20 of them attended a computer science lecture given by Harvard drop-out Mark Zuckerbeg.
Currently, only about 10% of students enrolled in the course have any kind of background in computer science. The rest are taking it purely out of interest.
I wanted to see what the fuss was about so I sat down and watched Dave Malan, the course’s lecturer, introduce students to the world of computer science. With no background in programming, I expected to get lost fairly quickly. But Malan is innovative and engaging, and I soon realised that his course was designed precisely with comp sci illiterates like me in mind. Malan is wildly popular because he has figured out how to make computer science fun. More importantly, he’s figured out how to make it easy.
Here are some of the highlights and takeaways from Malan’s introductory lecture:
You can use algorithms to make huge problems really small.
Malan introduced students to the concept of algorithms by introducing a problem: how do we figure out how many people are in the lecture hall? While counting people individually or by 2’s would eventually lead us to a final number, it would take a very long time – much longer than it would take for an algorithm to do the work for us. Taking steps 1-5 as one complete step, Malan shows how using an algorithm it only takes 8-9 “steps” to count 400 people.
There’s more than one solution for most problems.
Malan describes algorithms as a kind of divide-and-conquer approach that gains speed the larger a problem becomes. He illustrated this by tearing up phone books. To find a particular name, Malan explained, most people would flip to the middle of the phone book, see what letter they land on, and go either backwards or forwards alphabetically from there. Landing in the ‘M’s but looking for the ‘F’s, Malan tore out the half of the phone book from ‘M’ onwards. “There!” he proclaims. “In one step you’ve halved the problem.”
You can use an RSS Feed to create a Lolcat of the day.
Malan then moved on to explain what an RSS Feed is, using the wildly popular meme Lolcats. “An RSS feed is basically just a big text file that has a lot of links,” Malan said. He demonstrated how he went about making a “Lolcat of the Day” feature on CS50’s website by downloading http://icanhas.cheezburger.com’s Lolcat RSS feed and embedding it into the course’s page. Easy as that.
You know more about computers than you think.
This was my favourite part of the whole lecture. According to a survey taken of students enrolled in CS50, only about 10% felt “more than comfortable” taking an introductory computer science class. The rest felt either “less than comfortable” or fell somewhere in the middle. Wanting to calm students’ frazzled nerves, Malan showed a clip of Alaska senator Ted Stevens talking about the internet to show students that there was always someone who knew less than them about computers.
Malan reassured students that as long as they know more than this guy, even those with the most limited computer knowledge can learn how to program.
All programming comes down to some very basic maths involving two numbers: 0 and 1.
Using the number ‘123’ as an example, Malan demonstrates how traditionally, numbers get their significance depending on the column they are in. Binary, or the system of 0’s and 1’s that we use to program computers to do virtually everything, works in much the same way. Each digit in binary takes on a different significance based on the column it is in.
You can translate Cambridge’s zip code, and virtually anything else, into binary.
Apparently, the above translates to ‘02138’. Figuring out how to code something in binary was already a bit above my head, but for a Harvard freshman electing to take the course, I imagine Malan’s breakdown was incredibly simple and easy to follow. This is no doubt the course’s appeal, and why it will likely only grow in popularity as students become increasingly eager to take control of their own technology.
Business Insider Emails & Alerts
Site highlights each day to your inbox.