author: "Tobias Kölling, Florian Ziemen, and the teams at MPI-M and DKRZ"
---
# This course
...
...
@@ -13,8 +11,12 @@ author: "Tobias Kölling, Florian Ziemen, and the teams at MPI-M and DKRZ"
## Format
* Weekly lectures with exercises
* Changing lecturers
* Changing lecturers (Tobi, Lukas, and Flo)
## Passing and grades
* Active participation in the exercises will get you a pass, or a 2 if you need a grade. If you want a different grade, you can prepare a presentation for the last lecture date, and we'll grade that.
* We expect attendance in at least 80% of the exercises - contact us if that's not possible for you.
* You will also need 50% of the score for the exercises.
::: {.notes}
The presentation can change your grade in either direction.
...
...
@@ -23,50 +25,33 @@ The presentation can change your grade in either direction.
## The exercises
* We provide exercises at the end of each lecture.
* Programming exercises will use python.
* You have to hand-in the answers _before_ the next lecture.
* We will draw candidates for presenting from those submissions.
* Starting with lecture 2 *submitting* will usually be a git commit hash, but we'll explain that next week.
* We expect attendance in at least 80% of the exercises - contact us if that's not possible for you.
* We will grade and discuss them one week later.
* Starting with lecture 2 *submitting* will usually be a git merge request, but we'll explain that next week.
# The topics
## Practical skills
## Basic workbench
* Working with the command line
* GIT
* Git
* Coding environment and reproducibility
* Tooling and CI
* Git advanced
## Working with code
* Testing
* Refactoring & Legacy code, Facade pattern
* Debugging
* User experience design
* Good scientific & coding practice
## Understanding the system
* Computing devices (hardware)
* File & Data systems
* Memory hierarchies
* error handling & observability (& logging)
* Open development, Licenses, ...
## Understanding usage
* Programming paradigms
* Data structures
* Complexity
* Parallelism
# The lecturers
## DKRZ
* Claudia Frauen (HPC and GPU programming)
* Dominik Zobel (HPC and GPU programming)
* Florian Ziemen (Data access and visualization)
* Georgiana Mania (HPC and GPU programming)
* Jan Frederik Engels *JFE* (experimental computer science)
* Nils-Arne Dreier (HPC and data access)
## MPI-M
* Bjorn Stevens (Climate physics)
* Karl-Hermann Wieners (HPC usability and data workflow)
* Lukas Kluft (Meteorology, python, and data workflow)
* René Redler (HPC and model coupling)
* Theresa Mieslinger (Clouds and computing)
* Tobias Kölling (Physicist, likes data structures)