We provide online course about Mod(C++) Intermediate. Mod(C++) Intermediate is a two day training course. It is ideal for people who have some C++ experience or that have taken Mod(C++) Fundamentals.
Content:
The Intermediate course gives the students a deeper understanding of how one should think and program in “Modern C++” ( C++11/14/17/20). The exercises will all be based around a 2D graphics game inspired by Ms. Pac-Man.
Topics covered in the course include:
Day 1 - Generic programming “thinking”:
• Introduction to the training Presentation of the project
• Function overloading
• Operators
• Class templates, function templates, non-type parameters
• Aliases and and alias templates
• std::variant and std::visit
• std::tuple and structured bindings
• Variadic templates, fold expressions and parameter packs
Day 2 - Modern C++ Features:
• Ranges
• std::string view and std::span
• Constexpr and Consteval
• Concepts
• Special member functions (Rule of Five / Zero)
• Pragmatic introduction to move semantics and return value optimizations
• Safety: Riskier constructs in C++ and how to minimize their impact
• Conclusion and review
Instructor: Patricia Aas, Senior Consultant & CTO at TurtleSec AS
Patricia Aas is an international speaker and has spoken at CppCon, ACCU, C++OnSea, NDC Security, NDC Oslo and many other conferences on subjects ranging from Sandboxing in Chromium to Vulnerabilities in C++. She has taught a range of subjects in Computer Science at the University of Oslo.
Patricia has a masters degree in Computer Science and 13 years professional experience as a programmer, most of that time programming in C++. During that time she has worked in codebases with a high focus on security: two browsers (Opera and Vivaldi) and embedded Cisco telepresence systems.
Target audience:
Anyone who wants online course about Mod(C++) Intermediate
Prerequisites:
• Students are assumed to have some C++ experience or should have taken Mod(C++) Fundamentals
• 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.