Prerequisites for the DuMux course
For mastering the DuMux course, we recommend the following prerequisites:
-
CLI: Knowledge of basic Unix shell commands and interaction with a corresponding terminal is essential for the installation process as well as the compiliation and execution of the exercise programs. We can recommend this Software Carpentry course for learning the basics and this cheat sheet for remembering them.
-
C++: DuMux is a module on top of the C++ code base DUNE and itself contains several more advanced C++ language features. We recommend to be familiar with C++ templates and can recommend the following educational resources:
In general we recommend most CppCon Back to Basics videos, but here is a list of taylored suggestions for this course.
- OOP:
- Compiling and Linking:
- Classes:
- Functions:
- Templates:
- Lambdas:
- Smart Pointers:
- Memory:
- STL:
-
Git: Some of the exercises require the use of Git. This Software Carpentry course teaches Git for beginners, while this cheat sheet lists the most common Git commands.