Jump to main content

Courses offered in SS 2026

Dr. Martin Lanser, Mathematical Institute

[Lecture] Introduction to High-Performance Computing

The field of high-performance computing (HPC) deals with the efficient and rapid execution of large-scale simulations on modern supercomputers. The lecture “Introduction to High-Performance Computing” covers the theoretical and practical fundamentals of HPC and parallel scientific computing. It begins by examining current parallel computer architectures, whose structure gives rise to the need for two different types of parallelism (shared memory and distributed memory). Following basic computational perations such as matrix-vector and matrix-matrix multiplications, complex parallel numerical methods for solving systems of linear equations are developed. Speedup, efficiency, and parallel scalability are introduced as metrics for the quality of the algorithms. For practical implementation, introductions are provided to the concept of message passing using MPI as well as to shared-memory parallel programming with OpenMP. Additionally, various software packages are presented that can be used for efficient parallel scientific computing.

Prof. Dr. Kristel Michielsen, Jülich Supercomputing Center

[Lecture] Simulation “OF“ Quantum Computers

This lecture provides an overview of numerical algorithms and software for simulating quantum
computers on digital computers. It covers the basic concepts of quantum computers and quan-
tum algorithms and includes several examples that illustrate the use of simulation software for
ideal and physical models of quantum computers. The exercises mainly consist of programming
tasks in the form of small projects.

Prof. Dr. Stefan Wesner with Dr. Lutz Schubert and Robert Keßler, Institute of Computer Science

[Lecture] Compute Continuum

Modern computing has moved away from the desktop computer to the cloud, where resources and data are shared alike. Yet the Cloud computing paradigm suffers from the scope and complexity of modern compute scenarios, where data may reside anywhere, be produced and consumed anytime in any amount, and where users are mobile and distributed all over the world. To reduce the load on servers and the network, Fog and Edge computing were introduced - forms of distributed computing with flexible and variable allocation and load. This course will introduce the concept of the compute continuum, which aims at executing distributed applications flexibly over any infrastructure. The goal is to adapt immediately to different usage contexts. The compute continuum aims at scenarios arising from connected smart homes, smart cities, global logistic networks etc.

Within this lecture, we will investigate the relevant technologies to realise such an environment, and when it can be used, as well as its obstacles. The lecture is essentially segmented into three parts: The first part focuses on the hardware layer, including equally the type of processors, embedded system architectures and their connectivity. In the second part we will talk about the main principles of distributed computing, including how data is distributed and processed, and which use case criteria are fulfilled how. The third part is focusing on adaptive execution in the compute continuum, that includes embedded Operating Systems, virtualisation and containerisation.

Dr. Paul Benölken, Institute of Computer Science

[Seminar] Development with Game Engines

Trade fairs such as Cologne's GamesCom impressively demonstrate, with their visitor numbers, the unbroken fascination that computer games (video games) continue to exert. Having now outgrown their infancy, games are increasingly finding their way into professional environments beyond the entertainment industry under the heading of serious games.
The fields of application now range from education and training to cultural heritage, medicine, architecture, and the automotive and aviation sectors. As with modeling and animation, professional tools such as game engines are now used for the development of new games. Based on a specific application, the aim is to develop a game engine for the development of a new game.
As with modeling and animation, professional tools such as game engines are now also used for the development of new games. Using a specific application, the possibilities of a game engine will be explored and utilized using the example of the Unreal Engine.
To this end, participants will develop a joint project in groups, with each group responsible for a specific task. The seminar is suitable for students from the 4th semester onwards. Basic knowledge of computer graphics and knowledge of an object-oriented programming language (C++ or Java) are advantageous. For capacity reasons, the number of participants is limited to 12.

Prof. Dr. Stefan Wesner, Institute of Computer Science

[Seminar] High-Performance Computing with GPUs

GPUs are ubiquitous in High-Performance Computing, delivering the majority of performance in the fastest supercomputers around the world. The platform is enabled by highly parallel applications, suitable programming models, and a close combination between software and hardware, and advanced hardware designs. The seminar covers topics relevant to all components of the HPC GPU ecosystem, like effective implementation of GPU algorithms, investigations to programming models, performance analysis, benchmarking of applications, and understanding hardware features.

Prof. Dr. Stefan Wesner with Dr. Lutz Schubert and Robert Keßler, Institute of Computer Science

[Seminar] Programming Principles of Distributed Systems

This seminar covers emerging topics in parallel and distributed computing. The scope spans from tightly coupled high performance computing systems to loosely coupled cloud and edge computing systems. Special emphasis is placed on advanced system architectures with heterogeneous processor and memory technologies. During the seminar, students will work together in a small group to reproduce the results of a previously published research paper from the above mentioned scientific domain.
Relevant publications must have been peer-reviewed by a major conference or in a journal and feature an open source codebase (see the literature below for examples of representative papers). To build/run and produce the results of the paper, both local and remote resources can be used, which are provided by the seminar lecturer as needed. Optionally the students are even capable to improve or optimize the proposed solution in the chosen paper. We are planning to send students who have demonstrated outstanding quality and dedication to a European Reproducibility Challenge if sufficient interest is expressed.