Monday
Room 10
09:00 - 17:00
(UTC+02)
2 Days
Mod(C++) Fundamentals: Introduction to C++
Mod(C++) Fundamentals is a two day training course. It is ideal for new hires that have little to no experience in C++, but are proficient in an Object Oriented Programming language, like Java or C#.
Mod(C++) Fundamentals should ideally be taken before Mod(C++) Intermediate, another two day course which expands on the topics in Mod(C++) Fundamentals. Taken together these two courses will give a good foundation for a modern C++ programmer.
Course Description
The Fundamentals course gives the students an 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 PacMan. Topics covered in the course include:
Variable and function use, including auto, const, overloading and function templates
Namespaces, classes and structs, when and how to use them
Standard library containers and algorithms usage
How to efficiently use values and references
Memory theory, including understanding allocation on the heap and stack
RAII and lifetime management, including Rule of Zero
Lambda functions and using them with standard algorithms
An introduction to the C++ compilation model and advice to make the best use of compilers and build systems
Prerequisites
Students are assumed to be proficient in anObject 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 Jetbrains CLion, QtCreator or Visual Studio. A GitHub account will be useful.