Teaching
I teach applied mathematics as a connected process. We formulate a mathematical problem, study its structure, develop a numerical or algorithmic method, and turn it into a computation. Mathematics sets the questions and standards. The implementation makes the ideas concrete and shows their consequences.
Since 2011
teaching in numerical mathematics and scientific computing
Responsibility
lecturer and first examiner at bachelor’s and master’s level
German & English
small research seminars to courses with about 100 students
Teaching philosophy
My teaching is organized around three central ideas.
Mathematics drives computation
Programming is taught through mathematical problems, not as syntax on its own. Number theory, algebra, numerics, geometry, graphs, PDEs, and linear algebra provide the questions from which representations and algorithms arise.
Analysis and experiment belong together
Proofs, invariants, pre- and postconditions, tests, benchmarks, and complexity estimates provide different evidence. Students learn to use them together and to state precisely what each can establish.
Abstractions should solve a problem
I introduce concepts through concrete mathematical or numerical problems. Students first encounter a limitation, then develop the data structure, interface, or abstraction that resolves it. This connects theory to design decisions and helps students apply the idea to new problems.
I combine high expectations with a clear route through the material. Worked derivations, visualizations, live development, guided exercises, and increasingly independent projects support this route. Errors and counterexamples are useful evidence. A failed implementation can reveal a missing assumption, just as a failed proof can reveal a flaw in the mathematical argument.
Teaching profile
My teaching covers a spectrum from mathematical foundations to the development of scientific software. Across these courses, assessment asks students to explain and justify as well as calculate and implement. I have also organized the institute seminar since 2018 and co-organized the seminar in applied mathematics from 2020 to 2024.
Numerical analysis · Master’s level
Mathematical and numerical methods
In Large Sparse Linear Systems (2015, 2017, 2019), numerical linear algebra led to the implementation of parallel solvers and problem-dependent preconditioners. PDEs and Manifolds (2018), taught with Hanne Hardering, developed mathematical and numerical methods for PDEs posed on surfaces and manifolds before considering their implementation.
My earlier teaching includes finite elements and numerical PDEs, basic numerical analysis, modeling and simulation, and mathematics for electrical engineers.
Mathematics · Bachelor’s level
Programming for mathematicians
I am responsible for the first- and second-semester sequence Programmieren – Grundlegende Konzepte and Programmieren – Weiterführende Konzepte. Julia serves as a medium for connecting mathematical objects with finite representations, algorithms, correctness, numerical reliability, and complexity.
The courses use problems from several areas of mathematics so that programming remains embedded in mathematical reasoning.
Scientific computing · Master’s level
Scientific programming and software design
Since 2014, I have been responsible for the annual course Scientific Programming – Advanced Concepts. Numerical examples motivate modern C++, generic programming, data layout, testing, and performance analysis. Students work with the complete development process, including build systems, libraries, debugging, profiling, version control, and code review.
Further courses on object-oriented scientific programming and programming languages add to this part of my teaching.
Recognition and academic roles
In 2020, the Faculty of Mathematics gave me its teaching award in the category Nachwuchsvorlesung for Scientific Programming: Advanced Concepts. I design and deliver courses independently and act as first or second examiner in written and oral examinations. I am also a member of the institute teaching planning committee.
Supervision
I supervise theses as an introduction to independent research. Topics connect analysis, numerical experiments, and software. Some are developed with external research or industry partners. My experience includes bachelor’s, master’s, diploma, and doctoral projects.
Research that continues
SL’s doctoral work on independently refined finite-element meshes led to joint publications. FR later transferred this approach to the new Dune and AMDiS software. The result still supports current master’s and doctoral projects.
A broad range of mathematics
Topics include surface PDEs, domain decomposition, active matter, finite-element software, machine learning, and scientific data fusion. Current projects study vector- and tensor-valued surface PDEs and surrogate models for computational fluid dynamics.
Work with external partners
Several master’s projects were developed with partners from science and industry. These include DLR, the German Weather Service, Bosch Semiconductor Manufacturing, and Continental. Students connect mathematical methods with real data, domain knowledge, and the requirements of a larger project.