Modern C++ Made Simple

Whether you're new to coding or switching careers, we've got you covered. Learn C++ from the ground up starting with our introductory course.

Intro to C++ Programming

Beginner Course

Intro to C++ Programming
Become a software engineer with C++. Starting from the basics, we guide you step by step along the way
Progress0 of 61 Completed
Updated
View

First Lesson

No upcoming lessons available.

Get Started

Intermediate Course

Managing C++ Projects Using CMake
Manage complex, cross-platform builds using industry-standard tools. Create scalable build systems that automate the entire development lifecycle.
Progress0 of 61 Completed
Updated
View

First Lesson

No upcoming lessons available.

Get Started

Intermediate Course

Game Development with SDL3
Learn C++ and SDL development by creating hands on, practical projects inspired by classic retro games
Progress0 of 132 Completed
Updated
View

First Lesson

No upcoming lessons available.

Get Started

Intermediate Course

Professional C++
Comprehensive course covering advanced concepts, and how to use them on large-scale projects.
Progress0 of 128 Completed
Updated
View

First Lesson

No upcoming lessons available.

Get Started

Recent Updates

New content is added on a regular basis, and we consistently update, improve, and revise what's already available.

Managing C++ Projects Using CMake

Working with the File System

Exploring CMake's file() command, covering how to read, write, copy, and glob files, and how to manipulate paths.

• Updated
View
Managing C++ Projects Using CMake

Using Conan with CMake

Discover Conan, the binary-first C++ package manager, and learn how to integrate it with CMake using profiles and lockfiles for fast, reproducible builds.

• Updated
View
Managing C++ Projects Using CMake

Cross-Compilation with Conan

Learn to cross-compile C++ projects with Conan, using build and host profiles to manage dependencies for different platforms.

• Updated
View
Managing C++ Projects Using CMake

Generating Documentation with Doxygen

A step-by-step guide to integrating Doxygen into your CMake build process for automated C++ documentation.

• Updated
View
Implementing a Structure of Arrays

Domain-Specific Containers

Build a custom container that combines the performance of data-oriented design with the ergonomics of object-oriented programming.

• New
View
Implementing a Structure of Arrays

Sorting and Permuting Containers

Implement proxy sorting, physical memory permutations, and multi-threaded reordering.

• New
View
Implementing a Structure of Arrays

The Swap-and-Pop Idiom

Comparing the performance cost of deletion techniques, and implementing the Swap-and-Pop approach in a Structure of Arrays container.

• New
View
Implementing a Structure of Arrays

Stable Addressing and Tombstones

Solving the index invalidation problem and the trade-offs between memory density and reference stability.

• New
View
Implementing a Structure of Arrays

Generational Indices

Upgrade simple indices into Generational Handles, creating safe, persistent references that detect stale access.

• New
View
Implementing a Structure of Arrays

The Reallocation Spike

The hidden cost of std::vector growth, why it is dangerous for real-time systems, and how to mitigate it.

• New
View
Intro to C++ Programming

The this Pointer

Learn about the this pointer in C++ programming, focusing on its application in identifying callers, chaining functions, and overloading operators.

• Updated
View
Intro to C++ Programming

Function Arguments and Parameters

Making our functions more useful and dynamic by providing them with additional values to use in their execution

• Updated
View