TO TOP

WINTER SEMESTER 2024/2025

Content

The lecture deals with the parallelization on cluster computers. Distributed-memory programming concepts (MPI) are introduced and best-practice implementation is presented based on applications from scientific computing including the finite element method and machine learning.
Special attention is paid to scalable solvers for systems of equations on distributed-memory systems, focusing on iterative schemes such as simple splitting methods (Richardson, Jacobi, Gauß-Seidel, SOR), Krylov-methods (Gradient descent, CG, BiCGStab) and, in particular, the multigrid method. The mathematical foundations for iterative solvers are reviewed, suitable object-oriented interface structures are developed and an implementation of these solvers for modern parallel computer architectures is developed.
Numerical experiments and self-developed software implementations are used to discuss and illustrate the theoretical results.

Course info

  • Teaching format: 2h lectures, 2h exercises per week
  • Lecture: Wednesday, 10:15-11:45 h, IC 03/606 (see Moodle)
  • Exercise: Tuesday, 10:15-11:45 h, CIP Pool, IC 04/628 (see Moodle)
  • First session: Wednesday, October 09, 2024
  • Written examination (120 min.): February 20, 2025, HGA 30
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel
  • Module: MSc-CE-WP26 (M.Sc. Computational Engineering), MSc-BI-W48 (M.Sc. Bauingenieurwesen), MSc-SE-09 (M.Sc. Subsurface Engineering), MSc-AI-2i (M.Sc. Angewandte Informatik)

Content

The lecture covers programming concepts such as

  • procedural programming, including data types, statements and functions,
  • object-oriented programming, including encapsulation, polymorphism and inheritance,
  • generic programming.

Furthermore, fundamental data structures as well as efficient algotihms are presented, relevant software libraries are surveyed, and the organization of software projects is discussed,

In hands-on sessions, programming exercises are used to discuss and illustrate the presented content, employing the Python programming language for selected scientific applications.

Course info

  • Teaching format: 2h lectures, 2h exercises per week
  • Lecture: Wednesday, 08:30-10:00 h, IC 03/112 (see Moodle)
  • Exercise: Monday, 08:30-10:00 h, CIP Pool, IC 04/630 (see Moodle)
  • First session: Tuesday, October 16, 2024
  • Written examination (120 min.): February 18, 2025, HZO 50 (Comp.Eng.)
  • Homework (Master BI)
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel
  • Module: MSc-CE-P04 (M.Sc. Computational Engineering), MSc-BI-P04 (M.Sc. Bauingenieurwesen), MSc-SE-10 (M.Sc. Subsurface Engineering)

Content

The lecture provides an introduction to C++ programming. Basics programming concepts such as types, statements, functions, pointers, memory management and data structures are introduced. Best practices as well as the organization and development of C++ projects are discussed. An introduction to C++ compilers, debugging concepts and development tools is provided.

In hands-on sessions, programming exercises are used to discuss and illustrate the presend content.

Course info

  • Teaching format: Block course (equiv. to 2 SWS)
  • Date: February 03.02-07.02.2025, 9:00-16:00 h, CIP Pool - IC 04/628, RUB (see Moodle)
  • Written examination (120 min.): February 26, 2025, HZO 100
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel, 
  • Module: MSc-CE-WP31 (M.Sc. Computational Engineering)

Content

The lecture covers the theory and application of quantum computing from a computer science perspective with a focus on the usage of today's quantum hardware.
The relevant basics of quantum mechanics including superposition, measurement, interference, entanglement and mathematical notation are introduced. The characteristics of quantum bits and registers are discussed, and the construction and properties of quantum gates and quantum circuits presented. Prominent examples for quantum algorithms are surveyed including algorithms based on quantum Fourier transformation (e.g. Shor's factoring), quantum search (e.g. Grover), quantum solution of linear systems of equations (e.g. HHL) and quantum machine learning. Current quantum computer hardware as well as quantum error correction are discussed.
An introduction to quantum programming languages and environments will be provided. Hands-on programming exercises and self-implemented quantum circuits in study projects are used to discuss and illustrate the theoretical content. Implementations are tested on quantum simulators and cloud-based quantum hardware.

Course info

  • Teaching format: 2h lectures, 2h exercises per week
  • Lecture: Wednesday, 12:15-13:45 h, IC 03/610 (see Moodle)
  • Exercise: Tuesday, 14:15-15:45 h, CIP Pool, IC 04/628 (see Moodle)
  • First session: Wednesday, October 09, 2024
  • Examination: Study project and oral examination
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel
  • Module: MSc-CE-WP21 (M.Sc. Computational Engineering)



SUMMER SEMESTER 2025

Content

The lecture addresses parallelization on multicore processors. Thread-based programming concepts and techniques, including pthreads, C++11 threads, OpenMP and SYCL, are introduced and best practices are highlighted using applications from scientific computing.

An overview of the relevant hardware aspects including multicore architectures and memory hierarchives is provided. An in-depth introduction to multi-threaded programming on multicore systems with special emphasis on shared-memory parallelization is given and parallelization patterms, thread managmenet and memory accedd strategies are discussed.

In hands-on sessions, programming exercises are used to discuss and illustrate the presented content. 

Course info

  • Teaching format: 2h lectures, 2h exercises per week
  • Lecture: friday, 10:00-12:00 h, Seminar room IC 03/610 (see Moodle for details)
  • Exercise: thursday, 12:00-14:00 h, CIP Pool  IC 04/630 (see Moodle for details)
  • First session: Friday, April 11, 2025
  • Written Exam (120 min.): 26.08.2025, 10:00-12:00 h, Room HZO 60
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel
  • Module: MSc-BI-WP56 (M.Sc. Bauingenieurwesen), MSc-CE-WP 25 (M.Sc. Computational Engineering), MSc-AI-2j (M.Sc. Angewandte Informatik), MSc-SE-08 (M.Sc. Subsurface Engineering)

Content

The lecture addresses advanced topics in C++ programming. Object-oriented programming concepts such as classes, inheritance and polymorphism as well as generic programming concepts such as templates are introduced. The standard template library (STL) and selected functionalities from C++14 and above are surveyed. Best practices as well as the organization and development of advanced C++ projects are discussed.

In hands-on sessions, programming exercises are used to discuss and illustrate the presented content.

Course info

  • Teaching format: 2h lectures & exercises per week
  • Lecture & Excercise: friday, 14:00-16:00 h, CIP Pool IC 04/630 (see Moodle for details)
  • First session: Friday, April 11, 2025
  • Written Exam (120 min.): 22.08.2025, 10:00-12:00 h, Seminar room IC 03/604
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel
  • Module: MSc-CE-WP32 (M.Sc. Computational Engineering)

Content

The lecture covers deep learning concepts and techniques, including:

  • general ideas and mathematical background
  • training and regularization methods
  • neural network architectures (feed-forward, convolutional, physics-informed, autoenconder,...)
  • application to scientific and engineering problems
  • employment on modern computer hardware

In hands-on sessions, practical exercises are used to discuss and illustrate the presented content.

Course info

  • Teaching format: 2h lectures, 2h exercises per week
  • Lecture: friday, 12:00-14:00 h, Seminar room IC 03/112 (see Moodle for details)
  • Exercise: thursday, 16:00-18:00 h, CIP Pool IC 04/630 (see Moodle for details)
  • First session: Friday, April 11, 2025
  • Written Exam (120 min.): 25.08.2025, 10:00-12:00 h, Room HZO 60
  • Language: english
  • Lecturer: Prof. Dr. Andreas Vogel
  • Module: MSc-CE-WP33 (M.Sc. Computational Engineering)

Content

The lecture covers advanced discretization techniques beyond the conventional finite element methods for the solution of partial differential equations, such as the finite cell method (FCM) and isogeometric analysis (IGA). In each case the mathematical formulation as well as the implementation aspecs of the method are discussed and contrasted with conventional methods. Gurthermore, the strenths and shortcomings of each method are highlighted such that their suitability for a given problem can be evaluated.

Course info

  • Teaching format: 2h lectures & exercises per week
  • Lecture & Excercise: wednesday, 10:00-12:00 h, Seminar room IC 03/606 (see Moodle for details)
  • First session: Wednesday, April 09, 2025
  • Written Exam (120 min.): 01.09.2025, 10:00-12:00 h, Room IC 03/604 & CIP-Pool IC 04/634
  • Language: english
  • Lecturer: Dr. Manuel Saberi
  • Module: MSc-CE-WP34 (M.Sc. Computational Engineering)