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

Free 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 / 61
Get Started

Free Intermediate Course

Professional C++

Comprehensive course covering advanced concepts, and how to use them on large-scale projects.

Progress0 / 128
Get Started

Free Intermediate Course

Practical DSA

Learn data structures and algorithms by building real systems, measuring performance, and understanding how your code interacts with the physical hardware.

Progress0 / 69
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 / 61
Get Started

Intermediate Course

Game Development with SDL3

Learn C++ and SDL development by creating hands on, practical projects inspired by classic retro games

Progress0 / 132
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

The CMake Cache

Discover the CMake Cache, the mechanism for storing persistent user-configurable options, and learn how to create and manage cached variables.

• Updated
View
Managing C++ Projects Using CMake

CMake Commands, Arguments, and Lists

Exploring CMake's command syntax and its list data type, including how to create, manipulate, and use lists in your projects.

• Updated
View
Practical DSA

Cardinality and HyperLogLog

Trade exactness for memory efficiency. Learn how to calculate distributed cardinality at scale using HyperLogLog and hardware intrinsics.

• New
View
Managing C++ Projects Using CMake

Managing Libraries and Dependencies

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

• Updated
View
Managing C++ Projects Using CMake

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.

• Updated
View
Practical DSA

Cuckoo Hashing and Filters

Implement strict guarantees by bounding a lookup to exactly two memory locations, and build a fast rejection path for massive databases.

• New
View
Practical DSA

Hash Caching and Heterogeneous Lookups

Learn why string keys destroy cache locality, and how to fix it using Hash Caching and Heterogeneous Lookups.

• New
View
Practical DSA

String Interning

Learn how to globally deduplicate string data and transform complex data into fast integer handles.

• New
View
Practical DSA

Hash Rings and Consistent Hashing

When our work outgrows a single machine's capability, learn how to partition it across a cluster using Consistent Hashing.

• New
View
Intro to C++ Programming

System Calls and Terminal Management

This lesson introduces system calls, and how to use them to clear the terminal

• Updated
View
Practical DSA

Hash-Based Containers

Explore hashing, bitwise masking, and why the standard library's implementations hurt CPU cache performance.

• New
View
Practical DSA

Flat Sets and Linear Probing

Learn how to build a contiguous, cache-friendly hash set using open addressing and linear probing.

• New
View