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/)
Master of Science in Computational Science, Elective course, 2nd year
Master of Science in Financial Technology and Computing, Core course, 1st year
Master of Science in Informatics, Foundation course, 1st year
Master of Science in Informatics, Foundation course, 2nd year
Master of Science in Management and Informatics, Elective course, 2nd year
Master of Science in Software & Data Engineering, Elective course, 1st year
Master of Science in Software & Data Engineering, Elective course, 2nd year