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 SDL2
Learn C++ and SDL development by creating hands on, practical projects inspired by classic retro games
Progress0 of 129 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.

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
Game Development with SDL3

Matrix Transformations and Homogeneous Coordinates

Learn to implement coordinate space conversions in C++ using matrices and homogeneous coordinates.

• Updated
View
Game Development with SDL3

Understanding Screen & World Space

Learn to implement coordinate space conversions in C++ to position game objects correctly on screen.

• Updated
View
Game Development with SDL3

Scene Rendering

Create a scene management system that converts world space coordinates to screen space for 2D games.

• Updated
View
Game Development with SDL3

Breakout: Improving Paddle Physics

We'll add detailed collision logic to the paddle, giving the player control over the ball's trajectory.

• Updated
View
Game Development with SDL3

Breakout: Loading Levels

Add breakable bricks to the game by loading and parsing level files saved from our level editor.

• Updated
View
Game Development with SDL3

Breakout: Game Progression

Implement the core gameplay loop of destroying blocks and advancing through levels using SDL3 events.

• Updated
View
Game Development with SDL3

Breakout: Final Touches

Learn to manage game states for winning, losing, and pausing, and prepare the final game for distribution.

• Updated
View
Managing C++ Projects Using CMake

Static and Shared Libraries

The difference between static and dynamic libraries, how to create them, and the trade-offs between them.

• Updated
View
Game Development with SDL3

Breakout: Project Setup

Begin building a Breakout clone by integrating our level editor and engine into a new game project.

• Updated
View
Game Development with SDL3

Breakout: The Ball

This lesson focuses on creating the Ball class, customizing our physics engine, and launching the ball.

• Updated
View