EECS 219

Distributed Software Architecture & Design

This course covers architectures and patterns used for distributed software systems. Example architectures include client-server, N-tier, peer-to-peer, and super-peer. Example patterns include Acceptor, Connector, Reactor, Proactor, and ComponentConfigurator.

You are expected to complete the three homework assignments purely for your edification. Your final course grade will be based entirely on the completion of a project of your choice, which must be approved by the instructor and must apply concepts covered in this course. This project will involve design and implementation of distributed software which uses appropriate architectures and design patterns presented in this course. You should take appropriate measurements of the performance of your software and give a 15 minute presentation of your results 10th week of this course.


Course Related Links
Lecture Notes
Homework Assignments
Syllabus

Text Books

Pattern-Oriented Software Architecture Volume II by Schmidt, Stal, Rohnert, and Buschmann amazon link
Recommended: C++ Network Programming by Schmidt and Huston

Topic and Reading Schedule

Week Topic Text
1 Intro Chapter 1
10 Final Review