Skip to main content

Practical Lab WS 23/24 Practical Lab Numerical Simulation

Programming Methods in Scientific Computing

Under direction of
Prof. Marc Alexander Schweitzer
Farah Breiden, Sandro Elsweijer, Pablo Jiménez Recio, Jannik Michels and Lukas Troska

Heat equation with INS logo, simulated with the software developed in this practical lab.

The page for the Bachelor practical lab P2E1 can be found here.


If you are interested in participating in this practical lab, please send an email to Lukas Troska answering the following questions:

  1. Are you a Bachelor or Master student?
  2. Do you have access to a computer on which you can code and install software?
  3. If yes, what type of computer is it and which operating system is it running?
  4. Do you need help installing software?


Every wednesday, 14:15 - 16:00.
INS, Friedrich-Hirzebruch-Allee 7, seminar room 2.035.
First meeting
Wednesday, 11.10.2023, 14:15-15:15, INS, Friedrich-Hirzebruch-Allee 7, seminar room 2.035

Content and goals of the lecture

In modern numerical software development various different programming languages are used depending on the application. Python, C and C++ are among the most popular of these languages. Additionally there is a vast selection of tools that organize or even automate (parts of) the development process, such as version control, build systems and the use of external libraries. Both the employed processes as well as programming languages will be illustrated using numerical schemes taught in other lectures. However the practical lab is also suited for beginners that have no or little numerical knowledge.

Overview of content

  • Basic control structures and programming concepts using the programming language Python
  • Low level and thus efficient programming in C
  • Introduction to modern programming in C++
  • Version control and organization of software development in teams using git
  • Buildsystem cmake
  • Parallelization using MPI

The lectures will alternate between a theoretical lecture, teaching the fundamentals, and a practical lecture, where individual questions concerning the exercise sheets will be answered.

The required software can easily be installed on your personal computer (Windows, macOS, Linux). Additionally modern workstations (Linux) and a large linux cluster are available for the participants.

Exercise sheets

The lecture will not only contain a theoretical but also a practical part. The theoretical foundations will be taught in one week and programming exercises will be solved the next week. The exercise sheets will be available after each theoretical lecture. These sheets can be solved at home and in the practical lectures.

Depending on the exercise the exercise sheets will be solved alone or in groups of 3.


The registration for the practical lab has to be done via Basis with the usual deadlines of the university (“Prüfungsan- und -abmeldung”). More information will be provided in the first meeting.

Basis and eCampus



All work during the practical lab will be taken into account for the final grade. Additionally there will be an oral group discussion/presentation of your work at the end of the semester.