We provide online course about 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#.
Content:
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. 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
Speaker: 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++) Fundamentals: Introduction to C++
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.