Advanced Computer Science Courses

Below I’ve collected some links to advanced computer science courses on-line. I’m concentrating on courses with good lecture notes, rather than video lectures, and I’m applying a rather arbitrary filter for quality (otherwise this becomes a directory with less semantic utility).

This is the good stuff! But only a subset of it – any recommendations for good courses are gratefully received. I’m mainly interested in systems, data-structures and mathematics, so reserve the right to choose topics at will.

Courses are organised by broad topic.


Graduate level operating systems courses don’t typically have notes – they all come with long reading lists taken from SOSP and other places. In this way, systems research is a bit more like a humanities subject: it’s vital to read the primary sources.


Distributed Algorithms

Data Structures and Algorithms

Discrete Mathematics and Probability

  • MIT 6.042J (OCW) – Elementary discrete maths, including graph theory and some combinatorics. Lecture slides are available, and good, but the real meat is in the readings.