Course/Event Essentials
Event/Course Start
Event/Course End
Event/Course Format
Online
Live (synchronous)
Primary Event/Course URL
Training Content and Scope
Scientific Domain
Technical Domain
Level of Instruction
Intermediate
Advanced
Sector of the Target Audience
Research and Academia
Industry
Public Sector
HPC Profile of Target Audience
Application Developers
Language of Instruction
Other Information
Organiser
Supporting Project(s)
EuroCC2/CASTIEL2
Event/Course Description
C++ is widely used in many contexts. This training focusses on software engineering aspects of C++ such as building software, linting, testing libraries and applications, and so on. Also, best practices are discussed such as design patterns.
When you complete this training you will be able to:
- assess code quality;
- build software using CMake;
- perform static code analysis and interprete the results;
- write unit tests using Catch2;
- write functional tests using CTest;
- use C++ package managagers such as Conan or vcpkg;
- use some design patterns that are useful in scientific programming;
- program in an efficient functional style using STL algorithms and rangs.
Previous knowledge
You will need experience programming in C++, this is not a training that teaches you how to program in C++. You also need to be familiar with the Bash command line.