Practical Lab WS 24/25 Practical Lab Numerical Simulation
Programming Methods in Scientific Computing
The page for the Bachelor practical lab P2E1 can be found here.
Important
If you are interested in participating in this practical lab, please send an email to Prof. Dr. Schweitzer answering the following questions:
- Are you a Bachelor or Master student?
- Do you have access to a computer on which you can code and install software?
- If yes, what type of computer is it and which operating system is it running?
- Do you need help installing software?
Dates
- Lecture
- Wednesday 14 c.t. - 16
- Location
- INS room 2.035
- First meeting
- Wednesday 09.10.24 14:00 INS 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.
Registration
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
Exam
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.