Distributed Systems
CSCI-GA.3033-002, Fall 2015


Class schedule: Tuesday 5:10 - 7:00pm (CIWW 312) .

Class instructor: Jinyang Li (Office hour: Thu 5-6pm 715Bway-707)

TA: Lamont Nelson (Office hour: Monday 5-6pm 715Bway-707)

Discussions: Piazza

Course information

Distributed systems help programmers aggregate the resource of many networked computers to construct highly available and scalable services, such as peta-byte storage, massively parallel computation. This class teaches the abstractions, design and implementation techniques that allow you to build fast, scalable, fault-tolerant distributed systems. Topics include multithreading, network programming, consistency, naming, fault tolerance, and security and several case studies of distributed systems.

This class is a graduate-level course, but undergraduate students are welcome! The course consists of lectures and a series of programming labs.

This class satisfies the Ph.D. breadth requirement in Systems and also serves as a M.S. capstone course.


1. Undergraduate Operating Systems or Computer Systems Organization
2. Programming experience

Useful Books

The following books may help provide background help. None of them are required. They are listed in rough order of usefulness.