[ Home | Schedule | Labs | Policy ]

CSE 535 Distributed Systems (Fall 2020)

Announcements

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. The course consists of lectures and a series of programming labs.

Prerequisites:

  • Undergraduate Operating Systems or Computer Systems Organization
  • System-level 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.

  • Principles of Computer System Design. Jerome Saltzer and M. Frans Kaashoek, Morgan Kaufmann.
  • Distributed Systems: Principles and Paradigms, Andrew Tanenbaum and Maarten van Steen, Prentice Hall.

Acknowledgement

The topics and many materials of this class are from the distributed systems class taught at MIT and NYU.