Distributed Systems (IN2259)

Lecturer (assistant)
  • Hans-Arno Jacobsen
  • Pezhman Nasirifard
Duration3 SWS
TermWintersemester 2019/20
Language of instructionEnglish
Position within curriculaSee TUMonline
DatesSee TUMonline


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 main business needs (e.g., credit card processing, mobile communication, data storage, etc.). In this course, we study principles and building blocks important for anyone involved in the development and operation of distributed systems and applications. In particular, we study different classes of failures and how to build systems resilient to faults.


Programming in Java (also familiarity with C & C++), data structures and algorithms, operating systems, computer network basics, databases

Recommended literature

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