Room 9

09:00 - 17:00 (UTC+02)

2 Days

Mod(C++) Fundamentals

Mod(C++) Fundamentals is a two day training course. It is ideal for new hires that have little to no experience in C++.

Programming Languages


Mod(C++) Fundamentals is ideal for people who have little to no experience in C++, but are proficient in an Object Oriented Programming language, like Java or C#.


  • Introduction to C++ and presentation of the project
  • Hello world and overview of simple C++
  • Using variables, functions and parameters effectively
  • Using values, references, auto and const
  • An introduction to the compilation model of C++. Build systems, compilation, linkage, headers, translation units and libraries
  • Introduction to unit testing using Catch2
  • Classes, structs, namespaces and enum class
  • Allocation on the stack vs heap, std::unique_ptr, Rule of Zero and RAII


  • Containers: std::array, and std::vector
  • Iterators and Algorithms
  • Lambdas and Function Templates
  • Algorithmic Thinking
  • Introduction to tooling like Clang Tidy, Clang Format, CMake, GDB
  • Introduction to sanitizers like AddressSanitizer, Undefined Behavior Sanitizer and Memory Sanitizer


Students are assumed to be proficient in an Object Oriented Programming language like Java or C#. They should be working in (or looking to work in) a C++ project.

Software needed

The exercises will be done in a CMake based project. The students will need a development environment, a rich IDE is recommended, for example Visual Studio Code and Jetbrains CLion. A GitHub account will be useful.

Ólafur Waage

Ólafur Waage is a Senior Software Developer working for TurtleSec in Norway. Previously he worked for many years in the gaming and air traffic control industries. His work focuses mainly on programming with C++. In his spare time he unsurprisingly likes video games and puzzles but he also enjoys non-fiction audio books and it would be a very strange day if it were not filled with music in some way.