Introduction

Tobias Kölling, Florian Ziemen, and the teams at MPI-M and DKRZ

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
  • 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.

The exercises

  • We provide exercises at the end of each lecture.
  • 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.

The topics

Practical skills

  • Working with the command line
  • GIT
  • Testing
  • Debugging
  • User experience design
  • Good scientific & coding practice

Understanding the system

  • Computing devices (hardware)
  • File & Data systems
  • Memory hierarchies

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)

The students

Who needs a grade?

Who is experienced with git?

Who has used an HPC system before?

Which programming languages do you speak?

  • Python
  • Fortran
  • C/C++
  • other

What is missing in our lecture concept?

Course materials

The source of the slides is public

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