During peak registration times, the open/closed status of a course will change frequently.
For the most up-to-date status of a course, the best resource is Williams Student Records:
Main Menu > Self Service > Class Search/Browse Catalog > Class Search
This course studies the key design principles of distributed systems, which are collections of independent networked computers that function as single coherent systems. Covered topics include communication protocols, processes and threads, naming, synchronization, consistency and replication, fault tolerance, and security. Students also examine some specific real-world distributed systems case studies, including Google and Amazon. Class discussion is based on readings from the textbook and research papers. The goals of this course are to understand how large-scale computational systems are built, and to provide students with the tools necessary to evaluate new technologies after the course ends.
Grading: no pass/fail option,
no fifth course option
homework assignments, programming projects, and exams
CSCI 136 or equivalent programming experience, and CSCI 237, or permission of instructor
current or expected Computer Science majors