CS 675 - Distributed Systems

Location: Art and Design Building 2026
Meeting Time: Wednesday 4:30 - 7:10 pm
Instructor: Dr. Songqing Chen
E-mail: sqchen AT gmu dot edu
Office Hours: Friday 5:00 - 6:00 PM or email for an appointment

Course Overview

This course focuses on basic concepts underlying the design, implementation, and management of distributed systems. It covers fundamental topics in distributed systems, including but not limited to distributed system architectures, inter-process communication, distributed middleware, synchronization and coordination,  distributed agreement, concurrency control, replication, and fault tolerance.

All course materials are available on course web page: http://www.cs.gmu.edu/~sqchen/courses/CS675F24/

Prerequisites

CS 571 (Operating Systems). 
Students should also be proficient in network (e.g., socket) programming.

Readings

The textbook for this class is  Andrew Tannenbaum and Maarten van Steen, ``Distributed Systems: Paradigms and Principles'', Prentice-Hall, 3rd edition, version 3.01, 2017.  Additionally, the following books may be used as reference texts.

  1.  G. Coulouris, J. Dollimore, T. Kindberg, “Distributed Systems: Concepts and Design,” 5th Edition, Addison-Wesley, 2012.
  2.   K. Birman, "Reliable Distributed Systems: Technologies, Web Services and Applications,"  Springer Verlag, 2009.

We will also have reading assignments based on research papers available from the course web page.

Topics

Tentatively, the following topics will be covered (not necessarily in the order below)

Learning Outcomes

Projects

There will be several programming projects. The software required for these projects is available on the computers in the CEC Lab.

Please NOTE

Grading

No early exams will be given. Missed/make-up exams are strongly discouraged and must be arranged with the instructor BEFORE the exam date with an official and verifiable excuse.

Exam Schedule

Mid-term: around mid October (date to be announced later)   Final exam:  Wednesday, Dec. 11 (4:30 - 7:10 pm)

Academic Integrity

You are expected to abide by the University's honor code and the CS Department's Honor Code and Academic Integrity Policies during the semester, i.e., collaboration between students in different groups on an assignment is unacceptable. Any violation of the honor code will result in referral to the honor council.

NOTE: I will be using tools, e.g., MOSS , to detect plagiarism in the programming assignments.

Other Information

Common Policies Addendum

GMU Academic Calendar

Honor Code

Disability Resource Center

University Catalog

University Policies