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. Its rise has been dramatic: Just a few years ago the class attracted fewer than 100 students and in 2005 had only around 20 students attend a computer science lecture 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 realized 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. Harvard

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. Harvard

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. Harvard

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. Harvard

This was my favorite 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 math involving two numbers: 0 and 1. Harvard

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. Harvard

Apparently, the above translates to '02138,' though figuring out how to code something in binary was already a bit above my head.

Still, this was only day one of the course, so I'm willing to be patient. I already feel like I have a better grasp of the technology at the heart of modern society. I'll take the second course soon and post the highlights here.

