Parallel and Distributed Algorithms
- Faculty
Faculty of Engineering and Computer Science
- Version
Version 1 of 09.02.2026.
- Module identifier
11M1220
- Module level
Master
- Language of instruction
German
- ECTS credit points and grading
5.0
- Module frequency
only winter term
- Duration
1 semester
- Brief description
Parallel and distributed algorithms are used in many areas where large amounts of data need to be processed or where high computing power is required. Some examples are:
- Scientific simulations: Parallel algorithms are often used in science to perform complex simulations, e.g. in physics, chemistry, biology or geology. Such simulations often require the processing of large amounts of data and the solution of complex equations that can be distributed across multiple processors.
- Image and signal processing: Parallel algorithms are also used in image and signal processing, e.g. to compress, encrypt or analyse images. Such applications often require the processing of large amounts of data in real time, which is only possible with parallel algorithms.
- Database applications: Parallel algorithms can also be used in database applications, e.g. to quickly search or sort large amounts of data. Such applications often require the processing of large amounts of data in a short time, which is only possible with parallel algorithms.
- Artificial intelligence and machine learning: Parallel algorithms are also used in artificial intelligence and machine learning, for example to train neural networks or recognise patterns in data. Such applications often require the processing of large amounts of data and the solution of complex optimisation problems, which can be distributed across multiple processors.
Distributed algorithms are often used in applications that are distributed across multiple computers or networks. Some examples are:
- Cloud computing: Distributed algorithms are often used in cloud computing applications, for example to store, process or analyse data. Such applications often require the cooperation of several computers or servers connected to each other via a network.
- Internet of Things: Distributed algorithms are also used in the Internet of Things, for example to collect, process or analyse sensor data. Such applications often require the cooperation of several devices or sensors connected to each other via a network.
- E-commerce: Distributed algorithms can also be used in e-commerce applications, for example to process orders or analyse customer profiles. Such applications often require the cooperation of several servers or databases connected to each other via a network.
- Teaching and learning outcomes
- Introduction
- Fundamentals
- Algorithms
- Programming parallel algorithms
- Selected topics in parallel algorithms
- 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 15 Lecture Presence - 15 Seminar Presence - 15 Learning in groups / Coaching of groups Presence - Lecturer independent learning Workload hours Type of teaching Media implementation Concretization 25 Preparation/follow-up for course work - 70 Creation of examinations - 10 Study of literature -
- Graded examination
- Project Report, written or
- Written examination
- Ungraded exam
- Field work / Experimental work
- Recommended prior knowledge
Classic algorithms and data structures
- Knowledge deepening
Students at Osnabrück University of Applied Sciences who have successfully completed this module will be familiar with key parallel and distributed algorithms. They will be able to design parallel and distributed algorithms based on typical parallel computer architectures. Students will acquire detailed knowledge of the current state of research in a specific topic.
- Literature
- Uelschen, Michael: Software Engineering Paralleler Systeme, Springer, 2019
- Robey, Robert und Yuliana Zamora: Parallel and High Performance Computing, Manning, 2020
- Kumar, Vipin; Grama, Ananth: Introduction to Parallel Computing, Pearson Higher Education 2003
- Breshears, Clay: The Art of Concurrency, O'Reilly, 2009
- Bengel, Günther; Baun, Christian; Kunze, Marcel; Stucky, Karl-Uwe: Masterkurs Parallele und Verteilte Systeme, Vieweg+Teubner, 2015
- Herlihy, Maurice; Shavit, Nir: The Art of Multiprocessor Programming, Morgan Kaufmann, 2012
- McCool et al: Structured Parallel Programming: Patterns for Efficient Computation, Morgan Kaufmann, 2012
- Applicability in study programs
- Computer Science
- Computer Science M.Sc. (01.09.2025)
- Mechatronic Systems Engineering
- Mechatronic Systems Engineering M.Sc. (01.09.2025)
- Person responsible for the module
- Uelschen, Michael
- Teachers
- Morisse, Karsten
- Uelschen, Michael
- Thiesing, Frank