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
The textbook for this class is Andrew Tannenbaum and Maarten van
Steen, ``Distributed Systems:
Paradigms and Principles'', Prentice-Hall, 2nd edition, 2007. Additionally,
the following books may be used as reference texts.
There will be two programming
projects. The first will involve the development of a distributed
various middleware technologies, CORBA/RMI, etc.
The second project will involve using the advanced concepts studied in
this course to extend the application developed in the first project
(for example, for creating a fault tolerant version of the
application). The software required for these projects is available on
computers in the IT&E Lab.
In addition, there will be two to
three homework assignments.
Mid-term: mid to late March (date to be announced later) Final exam: Wed, May 11 (4:30 - 7:15 pm)
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 with a recommendation that the student be awarded an F for the class.
NOTE: I will be using MOSS to detect plagiarism in the programming assignments.
Office hours will be on MW 3 - 4 pm in my office (Room 5305, Engineering Building), or by appointment.
All handouts and other course material will be available at URL http://www.cs.gmu.edu/~setia/cs675/
or on the Blackboard page for the