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.
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
application
using
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
the
computers in the IT&E Lab.
In addition, there will be two to
four homework assignments.
No credit if your project does not compile. Late assignments/projects lose 20% credit and will not be accepted 3 days after due, unless under prearranged conditions.
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: mid to late October (date to be announced later) Final exam: Wednesday, Dec 11 (4:30 - 7:10 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 Wednesday 1:45 - 3:00 pm in my office (Room 5319, Engineering Building), or by appointment.
All handouts and other course material will be available at course homepage.