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

    INTRODUCTION TO C++

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

    DAY 1 - WELCOME TO 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

    DAY 2 - ALGORITHMIC THINKING

    • 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

    Prerequisites

    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.

    Corentin Jabot
    Freelance Software Engineer

    Corentin is a freelance software engineer, member of the C++ committee, and a Clang maintainer.

    Programutvikling uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?