Tags

, , , , , , ,

OCW Course website: cs50.tv/2010/fall/
‘Current’ Course Website:  cs50.net

I followed this course start to finish and did all the problem sets. It took me about a month and a half, focused, to complete it all. But I already had a prior contact with C before that, so I’m guessing a ~2-3 month period for newcomers would be more reasonable.

This course finally made me push into the C programming language beyond the very basics, which I had so far been neglecting.

The course focuses mostly in C, but also touches base with PHP, Javascript and HTML near the end.

There are 8 problem sets, of varying difficulty; including a Sudoku implementation and a Google earth 3D game; and they’re all fun to engage with.

Some of the problem sets come in two flavours. Regular edition and hacker edition, where you are challenged to do something ‘extra’.

I found hacker3 (Game of fifteen auto solver) and hacker4 (Sudoku auto solver) particularly challenging; This was my first (and second) time doing auto solving algorithms and I enjoyed the brain twisters in that.

The course comes with full lecture videos, lecture notes and more:
.MP4 Videos (also as .MP3 Audio, link for mp3s at top right of page).
20 Lectures * ~50 to ~75 minutes long (+Subtitles and Transcripts).
10 Sections * ~60 minutes long.
8 Walkthroughs * ~60 minutes long.
.pdf lecture notes/assignments.
Slides.

Excerpt from the website:

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, encapsulation, data structures, databases, memory management, software development, virtualization, and websites. Languages include C, PHP, and JavaScript plus SQL, CSS, and XHTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience.

Enjoy!

Successes:

  • They take a look at some very interesting stuff: data structures, sorting algorithms, data search algorithms and path search algorithms (ie. A* and Dijkstra).
  • Another huge win for the course is that they provide Section and Walkthrough videos!
  • You WILL learn C. The mother of many languages. (C++,Java,PHP,Perl…many many more)
  • They provide a VM, so OCW students can have access to an environment very similar to what is described during the course.

Failures:

  • If you really have no previous programming experience on any language, this course may be challenging to follow. This may put you off of this course entirely if you try to do hacker3 and hacker4, which IMO are the two toughest — and most interesting — assignments in the course. You might want to look at Stanford’s CS106A to get your feet wet first.
  • A small (well in my opinion small..) failure is that the last two assignments are on PHP/SQL/HTML/CSS/Javascript, but they only give a quick glance at them, without going into detail. If you’re already familiar with a little bit of HTML, PHP and SQL then you’ll be fine. The less comfortable may struggle with this but there’s a second course CS75 (also OCW) which you can leverage to get through this.

P.S. You can see that previous years of the course are available on the OCW site, you can watch the ‘current’ year’s course at cs50.net. You can also watch (older years of) this course at: academicearth.org and youtube as well, but without the assignments and slides etc.

After completing this course you’ll finally ‘get’ xkcd.com/399 😀

Advertisements