Technische Universität Ilmenau

Distributed Systems - Interactive curriculae of TU Ilmenau

The interactive curriculae provide information on the degree programmes offered by the TU Ilmenau.

Please refer to the respective study and examination rules and regulations for the legally binding curricula (Annex Curriculum).

You can find all details on planned lectures and classes in the course catalogue.

Please note that this page is no longer updated. All modules and study plans from PO version 2021 onwards (Bachelor and Master study programs) are now available on the Campus Portal.

module properties Distributed Systems in degree program Bachelor Informatik 2021
module number201172
examination number2200869
departmentDepartment of Computer Science and Automation
ID of group 2255 (Distributed Systems and Operating Systems)
module leaderProf. Dr. Boris Koldehofe
term summer term only
languageEnglisch
credit points5
on-campus program (h)45
self-study (h)105
obligationelective module
examoral examination performance, 30 minutes
details of the certificate
link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=2736
teacherProf. Koldehofe
signup details for alternative examinations
maximum number of participants
previous knowledge and experience

Pre-Knowledge on fundamental aspects in computing science obtained for instance in a BSc-Program computing science, in particular
-        Data structures and algorithms, Complexity Analysis
-        Basic concepts of Programming Languages
-        Basic knowledge on Computer Networks, Computer Architecture or Operating System Principles

learning outcome

At the end of the course, the students can independently reproduce, explain, and relate central problems and approaches of distributed systems and corresponding algorithms.
They show a deep understanding and a broad knowledge of fundamental distributed algorithms and programming paradigms that enable them to explain their properties and to demonstrate, analyze, and prove their behavior taking various criteria into account.
Their detailed knowledge allows the students to interpret models and abstractions of distributed systems. They can self-dependently select  appropriate mechanisms to deal with communication delays and failures. The student can compare the suitability of algorithms for specific distributed systems scenarios.
They can explain the limitations of distributed systems concepts for different system properties, e.g., for synchronous and asynchronous systems or in the context of different failure models.
The students can relate findings of distributed systems principles to applicable and exemplary knowledge of current developments, e.g., blockchains, in-network computing, or data management.

content

Distributed systems: definition, classes, architecture
Models and abstractions for correctness, time and failures in distributed systems
Basic distributed systems services: IPC, Naming, Clocks
Reasoning about state in distributed systems: global state
Coordination problems and distributed algorithms: transaction processing, replication
Fundamental distributed algorithms: reliable broadcast, consensus

media of instruction and technical requirements for education and examination in case of online participation

Slides
Lecture Recording
Exercise Assignments & Solutions
Quizzes
Blackboard Discussion

literature / references

G. F. Coulouris, J. Dillimore, T. Kindberg. Distributed Systems: Concepts And Design. 5th Ed. 2017. ISBN 978-9332575226.
M. van Steen, A. S. Tanenbaum. Distributed Systems. Ed. 3.01. 2017. ISBN 978-1543057386.  
P. Bernstein, V. Hadzilacos, N. Goodman. Concurrency Control and Recovery in Database Systems. Ed. 4.3. 1987. ISBN 0-201-10715-5.  
C. Cachin, V. Hadzilacos, N. Goodman. Introduction to Reliable and Secure Distributed Programming. Ed. 2. 2011. ISBN 978-3-642-15259-7.  
K. Birman. Reliable Distributed Systems: Technologies, Web Services, and Applications. Ed. 1. 2006. ISBN 9780387276014.

evaluation of teaching