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 / 67
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.

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
Practical DSA

Robin Hood Hashing

Fix the worst-case scenarios of linear probing by implementing Robin Hood Hashing to minimize variance and keep CPU cache lines packed.

• New
View
Intro to C++ Programming

References

This lesson introduces references, explaining how they work, their benefits, and their role in performance and data manipulation

• Updated
View
Practical DSA

Queues and Stacks

Learn how to decouple producers and consumers using FIFO and LIFO buffering structures.

• Updated
View
Practical DSA

MPMC Ring Buffers

Build a Multi-Producer Multi-Consumer lock-free queue using CAS loops, Sequence Tickets, and memory ordering.

• New
View
Practical DSA

Lock-Free Object Pools

Build a highly concurrent, lock-free object pool and defeat the ABA problem using generation tags.

• New
View
Practical DSA

Lock-Free Stacks

Build a highly concurrent Treiber stack using atomic Compare-And-Swap (CAS) instructions.

• New
View