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 60 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

Intermediate Course

Managing C++ Projects Using CMake
This course is currently under construction. New content will be added regularly, and you can preview what is already available
Progress0 of 25 Completed
Updated
Preview

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.

Managing C++ Projects Using CMake

Build Configurations (Debug, Release, etc.)

Learn how CMake manages different build configurations like Debug and Release, the difference between generator types, and how to apply settings conditionally using modern techniques.

• New
View
Managing C++ Projects Using CMake

Cross-Platform Configurations

Learn the tools and patterns needed to write portable CMakeLists.txt files that work seamlessly across platforms and compilers

• New
View
Intro to C++ Programming

Member Initializer Lists

This lesson introduces Member Initializer Lists, focusing on their advantages for performance and readability, and how to use them effectively

• Updated
View
Game Development with SDL2

Odds and Ends: 10 Useful Techniques

A quick tour of ten useful techniques in C++, covering dates, randomness, attributes and more

• Updated
View
Game Development with SDL2

Creating a Window

Learn how to create and customize windows, covering initialization, window management, and rendering

• Updated
View
Game Development with SDL2

Implementing an Application Loop

Step-by-step guide on creating the SDL2 application and event loops for interactive games

• Updated
View
Game Development with SDL2

Cropping and Positioning Images

Learn to precisely control image display using source and destination rectangles.

• Updated
View
Game Development with SDL2

Rendering Text with SDL_ttf

Learn to render and manipulate text in SDL2 applications using the official SDL_ttf extension

• Updated
View
Managing C++ Projects Using CMake

Building and Running CMake Projects

Learn the two-stage process of building a CMake project. This lesson covers configuring, generating, building, running, and troubleshooting common errors.

• Updated
View
Managing C++ Projects Using CMake

Relationships Between Targets

Learn about target types, and how the PUBLIC, PRIVATE, and INTERFACE keywords control how properties are shared.

• Updated
View
Managing C++ Projects Using CMake

Using INTERFACE, ALIAS, and IMPORTED Libraries

Learn to use abstract target types like INTERFACE, ALIAS, and IMPORTED to model complex project needs, organize build properties, and integrate pre-compiled binaries.

• New
View
Managing C++ Projects Using CMake

Using Shared Libraries

Adding support for user-configurable library types and an initial introduction to target installation.

• New
View