COS-418, Fall 2017: Distributed Systems

Latest Announcements

1/9: Final exam on 1/19 at 1:30-4:30pm in room CS104.
10/17: Midterm on 10/27 at 10-11:30 or 11-12:30 in room CS105.

See all announcements


This course covers the design and implementation of distributed systems. Students will gain an understanding of the fundamental principles and techniques behind modern, reliable, and high-performance distributed systems.

Topics include the fundmanetals of naming and network communication, time, consistency models (eventual, strong, causal), replicated state machines, consensus, concurrency control and transactions, and various related topics. Modern techniques and systems employed at some of the largest Internet sites (e.g., Google, Facebook, Amazon) will also be covered.

Through programming assignments, students will gain practical experience designing, implementing, and debugging real distributed systems. Programming assignments will be time intensive and involve significant system design and programming in Go.

Prerequisite: COS 217 required. COS318, COS 333, and/or programming maturity recommended.



There are no textbooks for this class. All materials will be covered in lecture, which students are strongly recommended to attend. There are several books that might be useful, however:

Last updated: 2018-01-14 22:57:53 -0500