TK1: Distributed Systems and Algorithms


Learning Target

  • Comprehensive overview knowledge about the basic problems and approaches in distributed systems and algorithms
  • Deep methodic knowledge of classic distributed algorithms and programming paradigms
  • Applicable and exemplary knowledge of current developments and standards

Course topics

  • Recap of chapter 1 of the introduction lecture “Net-Centric Computing”
  • Distributed paradigms
    • Mainstream paradigms (e.g., IPC, RPC, Message Queues, Webservices)
    • Advanced paradigms (e.g., event-based, publish/subscribe, Java Message Service, Distributed memory)
    • Cloud computing (e.g., service models, google file system)
    • Formal approaches
  • Distributed algorithms
    • Foundation (e.g., safety, liveness, fairness)
    • Synchronization (e.g., NTP, Lamport's Logical Clocks, global states)
    • Coordination (e.g., Mutex, Bully algorithm, election)
    • Local algorithms
  • Current development tools / programming languages (e.g., Apache Spark)

Teaching staff

  Name Contact
Prof. Dr. Max Mühlhäuser
S2|02 A114
Dr. Alejandro Sanchez Guinea
S2|02 A108

Summer term exam: The exam for the summer term 2020 will be on the 14th July 2020 at 11:30 – 13:30 in room S1|01 / A04. Please see the Moodle announcement for further details.

Type Time Room Start
Lecture Thu, 09:00 – 10:30 S2|02 / C110 17. Oct. 2019
Exercise Thu, 10:40 – 11:30 S2|02 / C110 24. Oct. 2019

We use a Moodle course to administrate the lecture and exercise. There we will publish the lecture slides and exercises. We also provide a forum for asking questions.

You'll find the Moodle course under the following URL: Moodle course

If you have any organizational questions, please use

The exercise allows you to get your “hands dirty” and to actually work with the paradigms and algorithms presented in the lecture. It is a good opportunity to better understand the content of the lecture and getting prepared for the exam.

We offer a bonus system with which you can get additional points for the exam. In particular, you can gain up to a 0.7 better grade if you already passed the exam. The bonus cannot be used to pass the exam. The gained bonus can be used in the winter term 2019/20 and the summer term 2020 exam only.

  • G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems. Conceptsand Design, Addison Wesley; in German: Pearson
  • G. Bengel: Grundkurs Verteilte Systeme, vieweg Verlag, 3rd Ed. 2004
  • A. Schill, T. Springer: Verteilte Systeme: Grundlagen und Basistechnologien; 2007, 2012
  • G. Tel: Introductionto Distributed Algorithms, 2nd Ed 2000, Cambridge University Press,
  • A. Tanenbaum, M.v.Steen, Distributed Systems: Principles & Paradigms; German: Verteilte Systeme: Grundlagen und Paradigmen, Pearson
  • J. Kurose, K. Ross: Computer Networking, Adison-Wesley
  • I. Taylor, A. Harrison: From P2P andGridsto Services on the Web; Springer, 2nd Ed. 2009
  • L. Peterson, B. Davie, Computernetze, dpunkt Heidelberg
  • U. Hammerschall: Verteilte Systeme und Anwendungen. Pearson, München 2005
  • W. Fokkink: Modelling Distributed Systems; Springer 2007