Distributed Systems

(G22.3033-001, Fall 2010)


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

Class instructor: Jinyang Li (Office hour: Wed 5-6pm. Please email ahead if you'd like to see me at any other time)

Instructional assistance: Nguyen Tran (Office hour: Wed 4-5pm)

Discussions: http://groups.google.com/group/nyu-ds10

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 (small) final project.

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

Why should you take this class?

If you are curious about the nuts and bolts of computer systems, you will enjoy this class. The last offering of this class has an overall class rating of 4.72 and overall instructor rating of 4.74. Here are some (carefully selected) quotes from students: ``The level of rigor is what makes us learn the concepts'', ``Awesome. I feel I became a much better engineer through this class and more employable as well. worth the sweat and tears''.


1. Undergraduate Operating Systems
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