-
Florian Ziemen authoredFlorian Ziemen authored
slides.qmd 2.45 KiB
---
title: "Introduction"
---
# This course
## Idea
* Acquire skills that help you in the day-to-day work
* Understand how things work, and why they take the time they take
* Do things more efficiently
## Format
* Weekly lectures with exercises
* 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.
:::
## 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 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
## Basic workbench
* Working with the command line
* Git
* Coding environment and reproducibility
* Tooling and CI
* Git advanced
## Working with code
* Testing
* Refactoring & Legacy code, Facade pattern
* Debugging
* User experience design
* error handling & observability (& logging)
* Open development, Licenses, ...
## Understanding usage
* Data structures
* Complexity
* Programming paradigms
# The students
## Who needs a grade? {.special}
## Who is experienced with git? {.special}
## Who has used an HPC system before? {.special}
## Which programming languages do you speak? {.special}
* Python
* Fortran
* C/C++
* other
## What is missing in our lecture concept? {.special}
# Course materials
## The source of the slides is public
* They are generated using [quarto](https://quarto.org/)
* Find the source code at [https://gitlab.dkrz.de/generic-software-skills/lecture-materials](https://gitlab.dkrz.de/generic-software-skills/lecture-materials)
* And the generated slides at [https://generic-software-skills.gitlab-pages.dkrz.de/lecture-materials/](https://generic-software-skills.gitlab-pages.dkrz.de/lecture-materials/)
## Cookies
We will award cookies for improvements / fixes to the slides. Just open an issue and/or a merge request at
[https://gitlab.dkrz.de/generic-software-skills/lecture-materials](https://gitlab.dkrz.de/generic-software-skills/lecture-materials)