#190 overall
15-440 Distributed Systems
Carnegie Mellon University
2 recommenders · 2 threads · recommended in 2 years, 2011–2014 · score 2.4
An undergraduate introductory distributed systems course at Carnegie Mellon covering core topics such as communication, consistency, replication, and fault tolerance in distributed settings. Public lecture notes from several semesters are available online.
Commenters point to the course's lecture notes as a solid grounding in distributed systems, one saying it gave them a really good foundation and another calling it a great course.
CS Fundamentals & Systemsintermediatefreemixed#distributed systems#consistency#fault tolerance#replication#lecture notes
Recommendations by year
20062026
As a supplement to these I would also recommend checking out the lecture notes for 15-440, the intro distributed systems class. I took it spring of 2013 and thought it gave me a really good grounding in the material.
http://www.andrew.cmu.edu/course/15-440-f14/index/lecture_in...
One follow up re: how I personally learned distributed systems. This was a great course, and the lecture notes are public: http://www.andrew.cmu.edu/course/15-440-sp11/index/lecture_i... .
I would take a tour of the top 10 colleges and look through their course syllabi and recommended readings.
Here is Stanford's recommended reading: https://www.scs.stanford.edu/22sp-cs244b/sched/
Here is CMU's: https://www.andrew.cmu.edu/course/15-440/readings/
I would imagine you will end up reading various papers on things like:
spanner: https://en.wikipedia.org/wiki/Spanner_(database)
cassandra: https://en.wikipedia.org/wiki/Apache_Cassandra
paxos: https://en.wikipedia.org/wiki/Paxos_(computer_science)
raft: https://en.wikipedia.org/wiki/Raft_(algorithm)
two-phase commit: https://en.wikipedia.org/wiki/Two-phase_commit_protocol
Mostly time saving. With Majd Sakr teaching this, I expect fair amount of distributed systems content in here.
Although if a student at CMU does have time, a better roadmap is to take the new parallel programming course, along with distributed systems class. I did this and it served me well.