Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Course INF-32-56-K-6

Programming Distributed Systems (3V+3U, 8.0 LP)

Course Type

SWS Type Course Form CP (Effort) Presence-Time / Self-Study
- K Lecture with exercise classes (V/U) 8.0 CP 156 h
3 V Lecture 42 h
3 U Exercise class (in small groups) 42 h
(3V+3U) 8.0 CP 84 h 156 h


CP, Effort 8.0 CP = 240 h
Position of the semester 1 Sem. in SuSe
Level [6] Master (General)
Language [EN] English
Area of study [INF-SE] Software-Engineering
Livecycle-State [NORM] Active

Possible Study achievement

  • Verification of study performance: proof of successful participation in the exercise classes (ungraded)
  • Details of the examination (type, duration, criteria) will be announced at the beginning of the course.


Basic primitives in programming distributed systems
  • Leader election
  • Consistent snapshots
  • Consensus
  • Distributed state machine replication

Theoretical foundation

  • Failure modes
  • Time (vector clocks, Lamport clocks)
  • Process calculi (e.g. CSP, CCS, pi calculus, TLA)
  • Consistency models

Programming paradigms for Distributed Systems

  • RPC
  • Futures and promises
  • Message passing and actors
  • CRDTs
  • Streaming / Data-Flow


  • Bernadette Charron-Bost, Fernando Pedone, André Schiper: Replication: Theory and Practice. Lecture Notes in Computer Science 5959, Springer 2010, ISBN 978-3-642-11293-5.
  • Christian Cachin, Rachid Guerraoui, Luís E. T. Rodrigues: Introduction to Reliable and Secure Distributed Programming (2. ed.). Springer 2011, ISBN 978-3-642-15259-7, pp. I-XIX, 1-367.

Requirements for attendance (informal)


Requirements for attendance (formal)


References to Course [INF-32-56-K-6]

Module Name Context
[INF-32-56-M-6] Programming Distributed Systems P: Obligatory 3V+3U, 8.0 LP
Course-Pool Name
[INF-SE_V-KPOOL-6] Lectures of the teaching area Software Engineering