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.

Intro to C++ Programming

Function Overloading

This lesson provides an in-depth look at function overloading in C++, covering its importance, implementation, and best practices

• Updated
View
Managing C++ Projects Using CMake

Using Shared Libraries

Adding support for user-configurable library types and an initial introduction to target installation.

• Updated
View
Google Benchmark for C++

Configuring a CMake Project

Separate our core logic into libraries, configure CMake for multiple targets, and apply hardware-aware optimizations.

• New
View
Google Benchmark for C++

Integrating Google Benchmark

Integrate the industry-standard Google Benchmark library into a CMake project to capture nanosecond-precision timings.

• New
View
Google Benchmark for C++

Writing Effective Benchmarks

Fight the compiler's aggressive optimizations to ensure benchmarks measure reality.

• New
View
Google Benchmark for C++

Analyzing Benchmark Data

Learn to interpret CPU time, variance, and the trade-offs between insertion speed and read speed.

• New
View
Google Benchmark for C++

Mapping Complexity and Hardware Cliffs

Using Google Benchmark's Range and Complexity features to visualize Big O growth and identify the moment our data falls off the CPU cache cliff.

• New
View
Google Benchmark for C++

Amortized Costs and Crossover Points

Using benchmarks to calculate the 'break-even point' where investing in data preparation pays off.

• New
View
Game Development with SDL3

The Transformation Pipeline

Build a complete 3D graphics pipeline from scratch. Transform vertices from local space to screen space using matrices and homogenous coordinates.

• New
View
Game Development with SDL3

View and Projection Matrices

Complete the 3D graphics pipeline by implementing View and Projection matrices. Learn about camera simulation, perspective projection, and the viewport transform.

• New
View
Game Development with SDL3

The GLM Library

Install and start using GLM, the popular mathematics library for C++ graphics programming.

• New
View
Game Development with SDL3

Cameras and View Space

Create camera systems that follow characters, respond to player input, and properly frame your game scenes.

• Updated
View