Skip navigation.

Spring 2009: Topics in Distributed Systems Engineering

Course Description:

This course will cover major topics in distributed systems engineering including: system architectures, processes, communication, naming, synchronization, consistency and replication, fault tolerance, and security. We will also look at examples of distributed object-based systems, distributed file systems, distributed web-based systems and distributed coordination-based systems. Classes will be a mix of lecture, in-class exercises, and student presentations.

Reading Assignments: The weekly course reading assignments will include chapters from the textbook and several short academic papers about distributed systems related to the topics of the week.

Homework Assignments: Each week, students can choose one of two homework assignments: programming or non-programming. The programming assignments will involve the implementation of simple systems and parts of systems in their language / platform of choice. Non-programming assignments will have more writing, research and non-programming problems to work.

Student Presentations: Each week (except the first), there will be several student presentations centered around the academic papers assigned for reading. For each presentation, students will be asked to prepare a handful of slides, discuss the major features of the systems being described and relate them to the course topics.

Please see the class web site for more information: