Distributed Systems: Concepts and Design

01:198:417

Fall 2007

Description

Provides an introduction to design principles and concepts of distributed computer systems. The course covers a broad spectrum of topics encompassing system architecture, software abstractions, distributed algorithms, and issues pertaining to distributed environments such as security and fault tolerance.

Topics will range from the theoretical to the practical with a strong emphasis on the practical, such as client-server programming, remote procedure/method calls, multicasting, firewall design, distributed file systems, machine virtualization, clustering, cryptography, and authentication protocols.

Credits: 4

Prerequisite: 01:198:416.

Please note that courses for which a student has received a grade of D cannot be used to satisfy prerequisite requirements.

Semesters Offered:

Spring and fall

Topics:

Core concepts covered will include data networking, group communication, distributed deadlocks, clock synchronization algorithms, distributed transactions, distributed shared memory and memory consistency models.

Expected Work:

Homework and programming assignments. Homeworks will be written assignments. Programming assignments involve writing a distributed program or a service to demonstrate functionality and or performance.

Exams:

Three exams and a final examination

Select A Course

Login