Skip to main content

Summer and Fall 2025 Registration window opens March 17.

ICS 662 Distributed System Design

This course covers fundamental principles and theories on distributed and network operating systems, communication models, Client/Server architecture, and Peer-to-Peer paradigms. Group communication, synchronization, threads, processor allocations, fault tolerance, distributed shared memory, and case studies are also introduced.

Special information

First day attendance is mandatory.
Prerequisites: Graduate standing. Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.
4 Graduate credits

Effective May 4, 2010 to present

Learning outcomes

General

  • Explain the central issues involved in the design of distributed systems.
  • Implement distributed algorithms using an appropriate programming language.
  • Understand current techniques and tools associated with distributed and network operating systems.
  • Apply distributed system concepts to the design of distributed systems.
  • Demonstrate expertise in reading peer-reviewed papers in distributed systems and explain them in writing.
  • Understand the role of central concepts such as load balancing and synchronization in different types of distributed systems such as database systems and operating systems.