The goal of this course is to give an introduction to distributed computer systems by surveying various aspects of distributed systems, including: distributed systems architectures, networking and internetworking, distributed objects and remote invocation, security, distributed file systems, name services, consistency and replication, fault tolerance, and distributed transactions.
Distributed Systems are ubiquitous in modern computer systems. In general, any computing system composed of interconnected autonomous processors is a distributed system. Therefore, understanding how distributed systems are structured is paramount to master modern computer systems. This course is an introduction to distributed systems. It covers basic principles, architectures, and algorithms of distributed systems.
Classes, programming assignments, and project.
Midterm exam, project, and final exam.
- Distributed Systems (3rd edition), Maarten van Steen and Andrew S. Tanenbaum. CreateSpace Independent Publishing Platform, 2017. (freely available at https://www.distributed-systems.net/index.php/books/ds3/)