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.

Systems

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.

Databases

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.

26 Comments on “Advanced Computer Science Courses”

  1. 1 Computer Science Course Notes at Paper Trail said at 7:05 pm on February 9th, 2009:

    [...] Advanced Computer Science Courses [...]

  2. 2 [root@EGA]# » Blog Archive » links - 20090309 said at 4:38 am on March 10th, 2009:

    [...] teachers like that really exist? [PIC] How to be a program manager Links to advanced computer science courses – systems, algorithms and mathematics. I Quit 1 Year [...]

  3. 3 Cursos avanzados de ciencias de la computación | Pablasso said at 5:42 am on March 10th, 2009:

    [...] Paper Trail han recopilado una lista genial de cursos en línea sobre Sistemas, Estructuras de Datos, [...]

  4. 4 chris said at 11:55 pm on March 10th, 2009:

    I’d suggest adding a couple textbooks.
    Real Analysis and Abstract Algebra textbooks at http://www.mth.pdx.edu/~erdman/.

    Both textbooks were written by John Erdman under a creative commons non-commercial license. They were recommended to me by a math professor and both books are really high quality.

  5. 5 My Continuing Adventures in Technology… » links for 2009-03-12 said at 6:01 pm on March 12th, 2009:

    [...] Advanced Computer Science Courses at Paper Trail (tags: programming tutorial computer computerscience algorithms learning science courses) [...]

  6. 6 links for 2009-03-26 « Donghai Ma said at 4:06 am on March 27th, 2009:

    [...] Advanced Computer Science Courses at Paper Trail (tags: reference programming tutorial education computerscience courseware online computer) [...]

  7. 7 What are some good resources for learning about distributed computing? - Quora said at 5:48 pm on June 8th, 2011:

    [...] [...]

  8. 8 What are the most learner-friendly resources for learning about algorithms? - Quora said at 6:09 pm on June 8th, 2011:

    [...] Computer Science Courses: http://the-paper-trail.org/blog/…This answer .Please specify the necessary improvements. Edit Link Text Show answer summary [...]

  9. 9 Reynold Xin said at 6:23 pm on June 8th, 2011:

    The Berkeley CS262a is a grad-level intro systems/db course taught by Eric Brewer and Joe Hellerstein. The paper selections are pretty good.

    http://www.cs.berkeley.edu/~brewer/cs262/

  10. 10 joey said at 7:32 pm on June 8th, 2011:

    Consider checking this course out: http://www.cs.ucla.edu/~kohler/class/10f-aos/

    One of the best courses I’ve ever taken. Provides a thorough introduction to operating systems and eliminates any osdev apprehension you might have had before.

  11. 11 Dhruv said at 10:26 pm on June 8th, 2011:

    Hey, you can also include these awesome lectures (have seen the ones in Theoretical Comp. Sci. and Algorithms and they are super) by Prof. Shai Simonson: http://www.aduni.org/

  12. 12 adimit said at 10:38 pm on June 8th, 2011:

    Thank you for compiling this list, which will provide me with many hours of material, I hope :-)

    I have one remark, though: the last link to the discrete maths lecture seems dead. Any chance you could repair it?

  13. 13 Karan K said at 10:49 pm on June 8th, 2011:

    I had taken Jon Kleinberg’s CS 6850 – Structure of Information Networks.

    Really brilliant course and very pertinent to today’s connected world.

  14. 14 Chris said at 1:29 am on June 9th, 2011:

    You might like to consider adding this (student run!) course form the University of Cambridge: http://www.srcf.ucam.org/algorithms/

  15. 15 Rob said at 5:49 am on June 9th, 2011:

    CSE 494/598 Information Retrieval, Mining and Integration on the Internet

    2010 course from Arizona State with slides, readings and lecture audio.

    http://rakaposhi.eas.asu.edu/cse494/

  16. 16 arkatPDA said at 6:03 am on June 9th, 2011:

    NLG course for ph.d students http://wiki.duboue.net/index.php/2011_FaMAF_Intro_to_NLG This course covers three topics that are usually taught in separate courses: the automatic construction of text starting from structured data, the automatic construction of summaries (not the full summarization system, just the text construction bit), and the text creation in the target language during machine translation.

  17. 17 czrpb said at 6:53 am on June 9th, 2011:

    Do you have any links to course on methods on how to design/architect real systems and how that influences the implementation? Saying you are going to use OO or functional is pointless: What are the classes? Their names? Their relations? We were never taught how to actually design software. (You can not just slap together algorithms.)

  18. 18 Andrew W said at 7:53 am on June 9th, 2011:

    There is an even more up-to-date version of 6.851, the Advanced Data Structures course at MIT (also taught by Erik Demaine, but in 2010). This supercedes both the 2007 and 2004 versions.

    URL: http://courses.csail.mit.edu/6.851/spring10/

  19. 19 Advanced Computer Science Courses | JoelsBlog.net said at 10:16 am on June 9th, 2011:

    [...] Computer Science Courses Thursday, June 9th, 2011 | Computers, Education, JFI1 Advanced computer science courses on-line. It's like recess without all the dangerous playground [...]

  20. 20 Link list of co-sci courseware on the web. « Sysadmin/dev/etc said at 8:55 am on June 10th, 2011:

    [...] http://the-paper-trail.org/blog/?page_id=152 [...]

  21. 21 Advanced Computer Science Courses « Another Word For It said at 10:42 am on June 11th, 2011:

    [...] Advanced Computer Science Courses [...]

  22. 22 Machine Learning: What are some introductory resources for learning about large scale machine learning? - Quora said at 10:52 am on June 12th, 2011:

    [...] Systems (6.824, MIT, 2011): http://pdos.csail.mit.edu/6.824/…Advanced Computer Science Courses: http://the-paper-trail.org/blog/…WorkshopsMMDS 2010. Workshop on Algorithms for Modern Massive Data Sets [...]

  23. 23 links for 2011-06-13 « Donghai Ma said at 9:02 pm on June 13th, 2011:

    [...] Advanced Computer Science Courses : Paper Trail (tags: reference programming tutorial online computerscience courses) [...]

  24. 24 What are some courses on large scale learning and optimization? - Quora said at 7:57 pm on June 22nd, 2011:

    [...] Systems (6.824, MIT, 2011): http://pdos.csail.mit.edu/6.824/…Distributed Systems Courses: http://the-paper-trail.org/blog/…Parallel Computing Courses: http://www.cs.rit.edu/~ncs/paral…Applications of Parallel computers [...]

  25. 25 What are the most learner-friendly resources for learning about algorithms? « QAnswers said at 8:35 am on June 26th, 2012:

    [...] Advanced CS Courses: http://the-paper-trail.org/blog/… [...]

  26. 26 Zuyu Zhang said at 10:26 pm on January 23rd, 2013:

    Wisc has sorts of grad level courses on areas your mentioned above.

    Systems:
    CS 736 Adv OS, CS739 Distributed Systems

    Prof. Mike Swift has precious notes:
    http://pages.cs.wisc.edu/~swift/teaching.html

    DB:
    Prof. AnHai Doan says,

    CS 564 (Database Management Systems: Design And Implementation) is “everything you should know so that you can get an industrial job working with relational databases”

    CS 764 (Topics In Database Management Systems) is “all the gory details you may (or may not) want to know about relational data management systems”
    http://pages.cs.wisc.edu/~cs764-1/

    CS 784 (Data Models And Languages) is “all the stuff beyond relational data (e.g., Web, text, data mining, data integration, data extraction) that you should know to broaden your data management knowledge or to work in the field as an advanced developer/researcher”.
    http://pages.cs.wisc.edu/~anhai/courses/784-spring13/

    You also may be interested in OS qual reading list (http://research.cs.wisc.edu/areas/os/Qual/readinglist-print.html) at Wisc.


Leave a Reply