Distributed Systems (IN2259)

Lecturer (assistant)
  • Pramod Bhatotia
  • Ruben Mayer
  • Pezhman Nasirifard
Duration3 SWS
TermWintersemester 2021/22
Language of instructionEnglish
Position within curriculaSee TUMonline
DatesSee TUMonline


  • 20.10.2021 16:00-19:00 Online: Moodle
  • 27.10.2021 16:00-19:00 Online: Moodle
  • 03.11.2021 16:00-19:00 Online: Moodle
  • 10.11.2021 16:00-19:00 Online: Moodle
  • 17.11.2021 16:00-19:00 Online: Moodle
  • 24.11.2021 16:00-19:00 Online: Moodle
  • 01.12.2021 16:00-19:00 Online: Moodle
  • 08.12.2021 16:00-19:00 Online: Moodle
  • 15.12.2021 16:00-19:00 Online: Moodle
  • 22.12.2021 16:00-19:00 Online: Moodle
  • 12.01.2022 16:00-19:00 Online: Moodle
  • 19.01.2022 16:00-19:00 Online: Moodle
  • 26.01.2022 16:00-19:00 Online: Moodle
  • 02.02.2022 16:00-19:00 Online: Moodle
  • 09.02.2022 16:00-19:00 Online: Moodle

Admission information


1.Understand principles underlying the development of distributed systems 2.Understand common building blocks for distributed system development 3.Understand handling of failures in distributed systems 4.Experience the complexities involved in developing a distributed system


Distributed systems and applications are commonplace today. For example, Internet companies employ distributed systems to support the services they offer to worldwide customers (e.g., search, email, social applications, etc.). Other companies employ or operate distributed applications more to support their primary business needs (e.g., credit card processing, mobile communication, data storage, etc.). In this course, we study principles and building blocks essential for anyone involved in developing and operating distributed systems and applications. In particular, we study different classes of failures and how to build systems resilient to faults.


Data structures and algorithms, operating systems, computer network basics, databases.

Recommended literature

Online material and selected chapters from standard textbooks on distributed systems.