Course Overview
This course will introduce the principles of
distributed systems and their design. Students will learn distributed
systems abstractions, design and implementation techniques. We will
discuss how those techniques has been used to build highly
fault-tolerant, scalable and secure distributed systems. Course topics
include the characteristics and constraints of distributed algorithms,
security, and reliability issues of distributed systems. Additionally,
we will discuss case studies of real-life distributed systems and
applications.