Public View

You are viewing the public version of the syllabus. If you have a SUNet account, you can view the richer version of the syllabus after logging in.

CS 534
Distributed Systems

Faculty Faculty of Engineering and Natural Sciences
Semester Spring 2025-2026
Course CS 534 - Distributed Systems
Time/Place
Time
Week Day
Place
Date
14:40-16:30
Mon
FENS-G032
Feb 16-May 22, 2026
08:40-09:30
Wed
FENS-G032
Feb 16-May 22, 2026
Level of course Masters
Course Credits SU Credit:3, ECTS:10
Prerequisites -
Corequisites CS 534L
Course Type Lecture

Instructor(s) Information

Süha Orhun Mutluergil

Course Information

Catalog Course Description
This course focuses on the design, implementation and management of distributed computing systems. Topics include: naming, security, reliability, resource sharing, and remote execution; network protocol issues above the transport level; electronic mail; network and distributed file systems and databases; handling transactions and coordination of multiple machines, consistency models and distributed semantics, fault tolerance.
Course Learning Outcomes:
1. Explain what a distributed system is, why a computer system should be designed as a distributed system, and what the desired properties of such systems (transparency, scalability, openness) are.
2. List the principles underlying the functioning of distributed systems, identify the problems and challenges associated with these principles.
3. Explain properties of distributed algorithms.
4. Explain different software architectures used in distributed systems (e.g., client-server, multi-tier, peer-to-peer, structured, unstructured, object-based, data-centered)
5. Design and build distributed system software using both basic OS mechanisms (e.g., primitives for communication, multi-threading, concurrency etc.) and higher-level middleware services (e.g., RPC, RMI, message passing, queuing systems, etc.)
6. Develop distributed programs that communicate via remote method invocation (RMI) or equivalent communication technologies.
7. Explain the importance of efficient naming schemes in distributed systems
8. Identify possible synchronization problems in a distributed system and describe appropriate solutions to them
9. Describe how consistency and replication affect distributed system design, identify possible resulting problems and corresponding solutions
10. Explain what fault tolerance is, why it is needed in distributed systems,
11. Identify the security problems in distributed systems, list a set of security primitives that can be utilized in addressing security issues distributed systems such as access control, delegation, authentication, authorization
Course Objective
The main objective of this course is to study the fundamentals of distributed systems. It focuses on the layer of software that needs to be built on top of computer networks to enable the development of distributed applications.
Sustainable Development Goals (SDGs) Related to This Course:
Industry, Innovation and Infrastructure

Course Materials

Resources:
(Primary Textbook)Andrew S. Tanenbaum and Maarten van Steen. Distributed Systems: Principles and Paradigms, Edition 3.01, Published by Maarten van Steen, 2017, ISBN: 978-15-430573-8-6 (printed version ) and 978-90-815406-2-9 (online version) (not required to buy one, obtaining a personal online copy is possible: https://www.distributed-systems.net/index.php/books/ds3/ds3-ebook/).
• Martin Kleppmann. Distributed Systems Lecture Notes. University of Cambridge. Free under CC BY-SA and available online: https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf.
• Martin Kleppmann. Designing Data-Intensive Applications. Published by O’Reilly Media Inc, 2017, ISBN: 978- 1-449-37332-0. Online version is not available.
• Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. Operating Systems: Three Easy Pieces, 1.00 Edition, Published by CreateSpace Independent Publishing Platform, 2018, ISBN: 978-1985086593. Free pdf available online: https://pages.cs.wisc.edu/~remzi/OSTEP/. Relevant chapters: 47-51.
Technology Requirements:

Policies