From 0b0962342d38dbe4e6c37c48c5304c1c9e5bf5cc Mon Sep 17 00:00:00 2001 From: Bernd Flemisch <bernd@iws.uni-stuttgart.de> Date: Tue, 2 Jul 2024 09:53:24 +0000 Subject: [PATCH] add prerequisites --- README.md | 1 + prerequisites.md | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 prerequisites.md diff --git a/README.md b/README.md index 4aaced3a..437eac3a 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ The material is organized as follows ## Installation of the course +Before undertaking the course, please be sure to check on the expected [prerequisites](prerequisites.md). To get started with the course, you have two options. Depending on whether you already have DuMu<sup>x</sup> installed or not, choose the one that fits your needs. diff --git a/prerequisites.md b/prerequisites.md new file mode 100644 index 00000000..852f3382 --- /dev/null +++ b/prerequisites.md @@ -0,0 +1,31 @@ +# Prerequisites for the DuMu<sup>x</sup> course + +For mastering the DuMu<sup>x</sup> 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](https://swcarpentry.github.io/shell-novice/) for learning the basics and this [cheat sheet](https://phoenixnap.com/kb/wp-content/uploads/2022/11/linuxCommandsAllUsersShouldKnow.pdf) for remembering them. + +- **C++:** DuMu<sup>x</sup> 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: + - https://www.youtube.com/watch?v=32tDTD9UJCE + - Compiling and Linking: + - https://www.youtube.com/watch?v=cpkDQaYttR4 + - Classes: + - https://www.youtube.com/watch?v=motLOioLJfg&t=2685s + - https://www.youtube.com/watch?v=O65lEiYkkbc- + - Functions: + - https://www.youtube.com/watch?v=CpHX1Du5R0Q&list=PLHTh1InhhwT7gQEuYznhhvAYTel0qzl72&index=45 + - Templates: + - https://www.youtube.com/watch?v=XN319NYEOcE&list=PLHTh1InhhwT4TJaHBVWzvBOYhp27UO7mI&index=13 + - https://www.youtube.com/watch?v=2Y9XbltAfXs&list=PLHTh1InhhwT4TJaHBVWzvBOYhp27UO7mI&index=14 + - Lambdas: + - https://www.youtube.com/watch?v=IgNUBw3vcO4&list=PLHTh1InhhwT4TJaHBVWzvBOYhp27UO7mI&index=6 + - Smart Pointers: + - https://www.youtube.com/watch?v=YokY6HzLkXs + - Memory: + - https://www.youtube.com/watch?v=rqVWj0aVSxg + - STL: + - https://www.youtube.com/watch?v=tXUXl_RzkAk + +- **Git:** Some of the exercises require the use of Git. This [Software Carpentry course](https://swcarpentry.github.io/git-novice/) teaches Git for beginners, while this [cheat sheet](https://about.gitlab.com/images/press/git-cheat-sheet.pdf) lists the most common Git commands. -- GitLab