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.

Intro to C++ Programming

Booleans - true and false values

An overview of the fundamental true or false data type, how we can create them, and how we can combine them.

• Updated
View
Intro to C++ Programming

Preprocessor Definitions

Explore the essential concepts of C++ preprocessing, from understanding directives to implementing macros

• Updated
View
Game Development with SDL3

Mouse Capture and Global Mouse State

Learn how to track mouse movements and button states across your entire application, even when the mouse leaves your window.

• Updated
View
Game Development with SDL3

Relative Mouse Mode

Learn how to restrict cursor movement to a window whilst capturing mouse motion continuously.

• Updated
View
Game Development with SDL3

Customising Mouse Cursors

Learn how to control cursor visibility, switch between default system cursors, and create custom cursors

• Updated
View
Managing C++ Projects Using CMake

Creating a Consumable Package

Learn how to make your libraries consumable by other projects using CMake by turning your build-tree into a distributable install-tree.

• Updated
View
Managing C++ Projects Using CMake

Using Installed Packages

Learn how to consume a CMake package you've installed, completing the producer-consumer cycle. We'll cover using find_package() and how to point CMake to your library's location

• Updated
View
Game Development with SDL3

Handling Mouse Scrolling

Learn how to detect and handle mouse scroll wheel events in SDL3, including vertical and horizontal scrolling, as well as scroll wheel button events.

• Updated
View
Game Development with SDL3

Managing Mouse Focus

Learn how to track and respond to mouse focus events in SDL3, including handling multiple windows and customizing focus-related click behavior.

• Updated
View
Game Development with SDL3

Mouse Input Constraints

Implement mouse constraints in SDL3 to control cursor movement using window grabs and rectangular bounds

• Updated
View
Game Development with SDL3

Mouse State

Learn how to monitor mouse position and button states in real-time using SDL3's state query functions

• Updated
View
Game Development with SDL3

Loading and Displaying Images

Learn how to load, display, and optimize image rendering in your applications with SDL3.

• Updated
View