Evolution of technology and concepts underlying distributed computing systems. Fundamentals and principles of distributed computing. Language constructs for distributed programming. Formal specification of distributed systems. Distributed algorithms. Elements of distributed operating systems. Elements of fault-tolerant distributed architectures.
Prerequisite: COMP 323, COMP 324, COMP 342, COMP 343, COMP 361 (recommended)