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

Building with Components

Learn how composition helps build complex objects by combining smaller components

• Updated
View
Game Development with SDL3

Implementing a Component System

Create the C++ framework for adding, retrieving, and removing components from game entities.

• Updated
View
Game Development with SDL3

Entity and Component Interaction

This lesson provides an in-depth exploration of using inherited methods and variables in C++, covering constructor calls, variable modification, and function shadowing

• Updated
View
Professional C++

Class Templates

Learn how templates can be used to create multiple classes from a single blueprint

• Updated
View
Professional C++

Variable Templates

An introduction to variable templates, allowing us to create variables at compile time.

• Updated
View
Game Development with SDL3

Bounding Boxes

Discover bounding boxes: what they are, why we use them, and how to create them

• Updated
View
Game Development with SDL3

Intersections and Relevancy Tests

Optimize games by checking object intersections with functions like SDL_HasRectIntersection().

• Updated
View
Game Development with SDL3

Handling Object Collisions

Implement bounding box collision detection and response between game objects

• Updated
View
Professional C++

Move Semantics

Learn how we can improve the performance of our types using move constructors, move assignment operators and std::move()

• Updated
View
Game Development with SDL3

Physical Motion

Create realistic object movement by applying fundamental physics concepts

• Updated
View
Game Development with SDL3

Force, Drag, and Friction

Learn how to implement realistic forces like gravity, friction, and drag in our physics simulations using SDL3.

• Updated
View
Game Development with SDL3

Momentum and Impulse Forces

Add explosions and jumping to your game by mastering momentum-based impulse forces

• Updated
View