707833 Advanced Topics: Advanced scientific programming
summer semester 2022 | Last update: 14.03.2022 | Place course on memo listThis class aims at learning advanced programming techniques for (geo-)scientists. After finishing the class, attendees should be able to write scientific programs of advanced complexity. They are aware of performance culprits in their code and how to address them. They know how to use the version control software git and the associated online platforms gitlab/github. They are ready to make meaningful contributions to collaborative open-source software projects.
The course encompasses the following topics, which are developed by means of concrete examples in the Python programming language:
- Advanced design patterns (decorators, interfaces, etc.)
- Advanced code testing (pytest fixtures, continuous integration)
- Performance (multiprocessing, out-of-memory computations with Dask)
- Version control with git + gitlab/github
- Practical applications: collaborative software development with applications in the atmospheric and cryospheric sciences, statistics or numerical modelling.
Lecture and programming exercises.
Combined: programming project (50%), oral exam at the end of the semester (50%)
Successfull completion the master lecture “Scientific programming” (or equivalent), ideally with experience in Python. Strong interest in programming in general, and a taste for challenging programming problems.
The course is taught in English
- SDG 4 - Quality education: Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all.
- SDG 9 - Industry, Innovation, and Infrastructure: Build resilient infrastructure, promote inclusive and sustainable industrialization, and foster innovation.
Group 0
|
||||
---|---|---|---|---|
Date | Time | Location | ||
Mon 2022-03-07
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-03-14
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-03-21
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-03-28
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-04-04
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-04-25
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-05-02
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-05-09
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-05-16
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-05-23
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-05-30
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-06-13
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-06-20
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free | |
Mon 2022-06-27
|
10.30 - 12.15 | 60818 EDV-Raum 60818 EDV-Raum | Barrier-free |