C++ Fundamentals You Wish You Had Known Earlier is a three-day online training course with programming examples, taught by Mateusz Pusz. It is offered online from 09:00 to 15:00 Aurora time (MDT), 11:00 to 17:00 EDT, 17:00 to 23:00 CEST, Monday, September 21st through Wednesday, September 23th, 2026 (following the conference).
◈ Register Here ◈ See Other Offerings ◈
Course Description
- Emphasis on understanding the philosophy and mechanisms of C++ programming language and learning how to reuse this knowledge in one’s own code.
- Particular focus on the usage of C++ templates in practical tasks.
- Development of error-unfriendly code.
- Selection of useful patterns and techniques that prove in a demanding production code.
- 40% lecture
- 30% discussion
- 20%hands-on coding
- 10% knowledge quiz
- A laptop with a web browser and access to the Internet
- All hands-on exercises will be implemented using Compiler Explorer
Prerequisites
The training targets developers with some professional experience with C++ programming language and who realize the problems caused by careless ways of coding in this language. The workshop aims to strengthen the knowledge of the C++ core language and show how to avoid many problems that often appear in the production code.
Course Topics
- Identifiers and naming conventions
- Namespaces
- C++ Types and their properties
- Value vs reference semantics
- Pointers vs references
- Unscoped vs scoped enumerations
- Classes and friends
- Special Member Functions
- Rule of Three, Five, and Zero
- Value categories
- Automatic type deduction
- Type conversions
- Objects
- Alignment
- Scope
- Lifetime
- ODR and inline
- Storage duration
- Stack vs Heap vs Free Store
- Initialization
- Name Lookup
- Overload Resolution
- Customization points
- Range-based for loop
- Copy elision
- Move semantics
- Ref-qualifiers
- `noexcept`
Course Instructor

Mateusz Pusz is a software architect, principal engineer, and security champion with over 20 years of experience designing, writing, and maintaining C++ code for fun and for a living. His main areas of interest and expertise are Modern C++, code performance, low latency, safety, and maintainability.
As the founder of Train IT, Mateusz provides dedicated C++ training and consulting services to corporations worldwide, drawing on over 15 years of teaching experience. He contributes to the industry as a conference speaker and as an active voting member of the ISO C++ Committee (WG21), where he helps shape the language’s future alongside the world’s top experts.
Committed to software safety, Mateusz is also the founder and primary author of the mp-units project, an open-source library that strives to make the world safer by ensuring the correct handling of physical quantities in software.