Practical Lab WS 21/22 Programming Methods in Scientific Computing
Programming Methods in Scientific Computing
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:
- 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?
- Every wednesday, 14:15 – 16:00.
- INS, Friedrich-Hirzebruch-Allee 7, seminar room 2.035.
- First meeting
- Wednesday, 13.10.2021, 14:15, at the usual location of the practical lab or Big Blue Button. You will receive the password via e-Mail.
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.
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 exam at the end of the semester.