C++ (C++23 with C++26 previews)
The planned outline of 24 modules. Lessons are written, run and reviewed before they are published.
Planned outline
- Module 1
Start here: toolchains, compiling and first programs
Coming soon - Module 2
Types, values and expressions
Coming soon - Module 3
Control flow
Coming soon - Module 4
Functions, files and scope
Coming soon - Module 5
Arrays, vectors and aggregate types
Coming soon - Module 6
References, pointers and memory
Coming soon - Module 7
Classes, objects and RAII
Coming soon - Module 8
Inheritance and polymorphism
Coming soon - Module 9
Templates and concepts
Coming soon - Module 10
Standard containers
Coming soon - Module 11
Iterators, algorithms and ranges
Coming soon - Module 12
Move semantics and smart pointers
Coming soon - Module 13
Error handling
Coming soon - Module 14
Input/output, files, formatting and time
Coming soon - Module 15
Build systems, testing and tooling
Coming soon - Module 16
Concurrency: threads, atomics and the memory model
Coming soon - Module 17
Modules and coroutines
Coming soon - Module 18
C++26 previews: reflection, contracts and safety (labelled)
Coming soon - Module 19
C++ for DSA and competitive programming
Coming soon - Module 20
Systems programming with C++
Coming soon - Module 21
Embedded C++
Coming soon - Module 22
C++ for game development
Coming soon - Module 23
Design, idioms and maintainable C++
Coming soon - Module 24
Interview preparation and capstone projects
Coming soon
Official documentation
- isocpp.org/std/the-standard (isocpp.org)
- en.cppreference.com/w/cpp (en.cppreference.com)
- gcc.gnu.org/gcc-16/changes.html (gcc.gnu.org)
- clang.llvm.org/cxx_status.html (clang.llvm.org)
More in Programming languages
- Python (coming soon)
- SQL (PostgreSQL, MySQL, SQLite) (coming soon)
- JavaScript (ES2026) (coming soon)
- Java (JDK 25 LTS) (coming soon)
- All Languages tracks
- How we make lessons