Autumn 2026 · Undergraduate
Distributed System
3 Credits 30 Hours Undergraduate Course
Department of Computer Science, IIIT Bhubaneswar
A distributed system is a collection of independent computers that appears to its users as a single coherent system. The components of distributed system reside on different computer systems on a network communicate and coordinate their activities through message passing. Components work in collaboration to accomplish a common objective. The purpose of this course is to offer an in-depth knowledge of basic principles and models behind distributed computing concerning its theory, algorithms, and systems. Some of the emerging technologies in distributed computing include Peer-to-Peer Computing, Distributed Hash Table, Google File System, HDFS, Spark, Sensor Networks and Security in Distributed Systems among others.
Instructor
Utkalika Satapathy
Prerequisite
DSA, Networking, OS, OOP (Java, C++, Python etc.), DBMS
Class Schedule
11 sessionsWeek 3Architecture, Processes
Slides Week 4Communication, Time
Slides Week 5Time, Synchronization
Slides Week 6Synchronization, Coordination
Slides Week 7Global State, Replication, Consistency
Slides Week 8Consistency, Replication
Slides Week 9Fault Tolerance, Consensus
Slides Week 10Transactions, Services, Messaging
Slides Week 11Storage, Databases, Cloud Native
Slides Materials
Syllabus
Textbooks
9 references Andrew Tanenbaum and Maarten Van Steen — Distributed Systems: Principles and Paradigms, 2nd Ed. Sukumar Ghosh — Distributed Systems - An Algorithmic approach, 2nd Ed. Kleppmann, M. (2017), O’Reilly — Designing data-intensive applications A. D. Kshemkalyani and M. Singhal — Distributed Algorithms: Principles, Algorithms, and Systems Nicola Santoro — Design and Analysis of Distributed Algorithms Nancy Lynch — Distributed Algorithms Mukesh Singhal and Nirajan Shivaratri — Advanced Operating Systems Bacon, J. and Harris, T. (2003), Addison-Wesley — Operating systems: distributed and concurrent software design Cachin, C., Guerraoui, R. and Rodrigues, L. (2011) — Introduction to Reliable and Secure Distributed Programming, Springer (2nd edition) Grading
- Quizzes15%
- Midterm Exam30%
- Final Exam50%
- Teacher's Assessment5%