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
Duration
30 Hours
Credits
3
Prerequisite
DSA, Networking, OS, OOP (Java, C++, Python etc.), DBMS

Class Schedule

11 sessions
Week 1Introduction
Slides
Week 2Foundations
Slides
Week 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

Grading

  • Quizzes15%
  • Midterm Exam30%
  • Final Exam50%
  • Teacher's Assessment5%