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

Enums

Learn about Enums and how they offer an efficient way to handle predefined values in your code

• Updated
View
Managing C++ Projects Using CMake

Source Control with Git

An introduction to Git, the version control system that underpins modern collaborative software development and automated build pipelines.

• Updated
View
Managing C++ Projects Using CMake

Build Servers and Continuous Integration

Learn how to automate your build and test process with Continuous Integration (CI) and a build server. This lesson provides a guide to creating a GitHub Actions workflow for a CMake project.

• Updated
View
Managing C++ Projects Using CMake

Packaging with CPack

Learn to package your C++ projects using CMake's CPack. This lesson covers creating developer ZIP archives and professional Windows MSI installers with components.

• Updated
View
Managing C++ Projects Using CMake

Packaging with GitHub Actions

Learn to automate the packaging process by integrating CPack with a multi-platform GitHub Actions workflow

• Updated
View
Managing C++ Projects Using CMake

Creating Installers with CPack and GitHub Actions

Learn to automate the creation of a professional Windows installer by integrating CPack, the WiX Toolset, and a multi-platform GitHub Actions workflow.

• Updated
View
Managing C++ Projects Using CMake

Deployment with GitHub Releases

Learn to automate the release process using a GitHub Actions workflow that builds, packages, and publishes artifacts to a GitHub Release

• Updated
View
Practical Algorithm Analysis

Data Structures & Algorithms

An introduction to data structures and algorithms from a practical, hardware-first perspective. Learn how the physical layout of your data in memory impacts performance.

• New
View
Practical Algorithm Analysis

CPUs, Memory, and Locality

Understand how our code interacts with physical hardware. Learn about virtual memory, the stack vs. heap, cache lines, and prefetching.

• New
View
Practical Algorithm Analysis

Polynomial Algorithms

Learn how input size affects execution speed and the most common class of algorithms.

• New
View
Practical Algorithm Analysis

Logarithmic and Linearithmic Algorithms

Working with massive datasets using divide and conquer strategies, and the the required trade-offs.

• New
View
Practical Algorithm Analysis

NP-Hard and Approximations

Learn why some problems are impossible to solve exactly and how we can use approximations like Monte Carlo simulations to cheat.

• New
View