Distributed Systems
G22.3033-005, Fall 2012


Class schedule: Thursdays 5:00 - 6:50pm (CIWW 201) .

Class instructor: Jinyang Li (Office hour: Wed 5-6pm)

Instructional assistance: Russell Power

Discussions: Piazza

Course information

Distributed systems help programmers aggregate the resource of many networked computers to construct highly available and scalable services. 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, a series of programming labs and a final project.

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 in C/C++ is important for the programming labs

Useful Books

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

Questions or comments? email dss-staff@cs.nyu.edu

Policy on academic integrity