diff --git a/lectures/intro/slides.qmd b/lectures/intro/slides.qmd index 9c7d68e8a0a3365d233eb761e398db6dee46fcc5..efa67c41b6fa342b83372838d62ac6c1cc31c6b4 100644 --- a/lectures/intro/slides.qmd +++ b/lectures/intro/slides.qmd @@ -1,7 +1,5 @@ --- title: "Introduction" -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) +* Programming paradigms # The students