Distributed Systems
- Faculty
Faculty of Engineering and Computer Science
- Version
Version 1 of 27.11.2025.
- Module identifier
11B0439
- Module level
Bachelor
- Language of instruction
German
- ECTS credit points and grading
5.0
- Module frequency
winter and summer term
- Duration
1 semester
- Brief description
Distributed systems have a crucial role in overcoming the challenges associated with the complexity, scaling and reliability of modern applications and services (e.g. web-oriented). Students should be able to meet the rapidly growing needs and challenges in the area of distributed systems and applications with competence and technical depth.
- Teaching and learning outcomes
1. Properties and types of distributed systems
2. Architectural models and examples
3. Communication in networks as a foundation
4. Realization of distributed systems:
- Data-centric approach
- Procedure/function-oriented approach
- Object-oriented approach
- Web-based & service-oriented approach
5. System concepts for synchronization, replication, consistency
6. Security and reliability of distributed systems
7. Case studies and practical projects
- Overall workload
The total workload for the module is 150 hours (see also "ECTS credit points and grading").
- Teaching and learning methods
Lecturer based learning Workload hours Type of teaching Media implementation Concretization 30 Lecture Presence or online - 30 Laboratory activity - Lecturer independent learning Workload hours Type of teaching Media implementation Concretization 40 Preparation/follow-up for course work - 30 Exam preparation - 10 Reception of other media or sources - 10 Study of literature -
- Graded examination
- Written examination or
- Project Report, written
- Ungraded exam
- Field work / Experimental work
- Remark on the assessment methods
The project report is expected to be approx. 15 pages long.
- Recommended prior knowledge
Computer networks form the basis for distributed systems. The necessary knowledge is taught, for example, in the first three chapters of the established textbook “Computer Networking: A Top-Down Approach” by James F. Kurose and Keith W. Ross.
The content of the lecture is reinforced through practical exercises dealing with the implementation of individual components of distributed systems. Practical knowledge of implementation with coding in C/C++ and Java under the Linux operating system is hence required.
Translated with DeepL.com (free version)
- Knowledge Broadening
Students know and understand the key principles of developing distributed systems. They will be able to describe the essential characteristics of different approaches and apply them to practical tasks.
- Knowledge deepening
The various approaches for developing distributed systems are understood in terms of their processes and functions. Important parameters can be set appropriately. The handling of typical error situations is implemented correctly.
- Knowledge Understanding
Students can reflect on the use of methods and concepts for designing distributed systems in specific application contexts.
- Application and Transfer
Students are able to develop distributed systems on the basis of methodological knowledge from requirements analysis to the reflected use of system concepts and implementation. They will be able to make a problem-related selection of the right development approaches for distributed systems, taking into account aspects of the programming languages that can be used, means to achieve interoperability and (according to system requirements) the frameworks available .
- Communication and Cooperation
Students can analyze the requirements for a distributed solution and derive the right solution strategy for the application and communicate this in a comprehensible manner.
- Literature
- Ghosh, Ratan K. & Ghosh, Hiranmay (2023): Distributed Systems : Theory and Applications, John Wiley & Sons, Incorporated.
- Coulouris, G. & Dollimore, J. & Kindberg, T. (2011): Distributed Systems: Concepts and Design, Addison Wesley, 5. Auflage.
- Schill, Alexander & Springer, Thomas (2012): Verteilte Systeme - Grundlagen und Basistechnologien, Springer.
- Bengel, Günther (2014): Verteilte Systeme, Client-Server-Computing für Studenten und Praktiker, Springer-Vieweg, 4. Auflage.
- Comer, Douglas E. (2018): Computer Networks and Internets: Global Edition, Pearson Education, 6. Auflage.
- Pollakowski, Martin (2009): Grundkurs Socketprogrammierung mit C unter Linux, Vieweg & Teubner Verlag; 2., akt. Aufl.
- Oechsle, Rainer (2022): Parallele und Verteilte Anwendungen in Java, Hanser, 6. Auflage.
- Applicability in study programs
- Computer Science and Media Applications
- Computer Science and Media Applications B.Sc. (01.09.2025)
- Computer Science and Computer Engineering
- Computer Science and Computer Engineering B.Sc. (01.09.2025)
- Person responsible for the module
- Eikerling, Heinz-Josef
- Teachers
- Eikerling, Heinz-Josef
- Timmer, Gerald
- Westerkamp, Clemens