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

Recent Updates

New content is added on a regular basis, and we consistently update, improve, and revise what's already available.

CMake for C++

Setting Up a CMake Environment

A step-by-step guide to installing CMake. We'll explore command-line, GUI, and IDE workflows, and how to configure your compiler.

• Updated
View
CMake for C++

Writing a CMakeLists File

Creating the bare minimum CMakeLists.txt file and build up to a project with an executable and a library, learning the fundamental commands along the way.

• New
View
CMake for C++

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.

• New
View
CMake for C++

CMake Project Structure and Subdirectories

Learn how to organize large C++ projects in CMake using subdirectories and the add_subdirectory() command to create modular, maintainable builds.

• New
View
Intro to C++ Programming

The Modulus Operator (%)

Learn how we can use the modulus operator to get the remainder of integer division, and some common use cases.

• 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
Intro to C++ Programming

Constants and const-Correctness

Learn the intricacies of using const and how to apply it in different contexts

• Updated
View
CMake for C++

Why CMake?

An introduction to CMake, the cross-platform, open-source meta-build system that solves the core challenges of C++ project management.

• New
View
Professional C++

Perfect Forwarding and std::forward

An introduction to problems that can arise when our functions forward their parameters to other functions, and how we can solve those problems with std::forward

• Updated
View
Professional C++

Defining Ranges using Sentinels

An alternative way of defining ranges, and why we sometimes need to use them

• Updated
View
CMake for C++

Managing Libraries and Dependencies

Learn to manage third-party libraries in C++, covering include/library paths, static vs. shared libraries, versioning, and platform differences.

• New
View
CMake for C++

Automated Build Systems and Their Limitations

An introduction to traditional build tools like Makefiles and IDE projects, highlighting the maintenance, scalability, and cross-platform challenges that result

• New
View