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

Byte Order and Endianness

Learn how to handle byte order in using SDL3's endianness functions

• Updated
View
Game Development with SDL3

Padding and Alignment

Learn how memory alignment affects data serialization and how to handle it safely

• Updated
View
Game Development with SDL3

Read/Write Offsets and Seeking

Learn how to manipulate the read/write offset of an SDL_IOStream object to control stream interactions.

• Updated
View
Intro to C++ Programming

Copy Constructors and Operators

Explore advanced techniques for managing object copying and resource allocation

• Updated
View
Intro to C++ Programming

The using Keyword

This lesson introduces the using keyword in C++, focusing on namespaces, enums, and type aliasing

• Updated
View
Game Development with SDL2

Numeric and Binary Data

Learn how C++ represents numbers and data in memory using binary, decimal, and hexadecimal systems.

• Updated
View
Game Development with SDL2

Type Objects

Learn to create flexible game entities using the Type Object pattern for data-driven design.

• Updated
View
Game Development with SDL3

Reading Data from Files

Learn how to read and parse game data stored in external files using SDL3's I/O functions.

• Updated
View
Game Development with SDL3

Parsing Data using std::string

Learn how to read, parse, and use config files in your game using std::string and SDL3's I/O functions.

• Updated
View
Game Development with SDL3

Writing Data to Files

Learn to write and append data to files using SDL3's I/O functions, and an introduction to serialization libraries.

• Updated
View
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