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 / 68
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

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