C++

Modern C++ from the ground up — memory model, RAII, templates, ranges, and the gotchas the standard left in. 14 lessons across 6 phases, plus 4 weekend-scale capstones.

Phase 0

Foundations

  1. ⚙️ #0 Welcome + the C++ Mental Model Why C++ in 2026, and what `g++ main.cpp` actually does
  2. 🧮 #1 Types, Values, and the Cost of a Copy What `int x = 5;` actually does, and why `int& y = x;` is a different thing entirely
  3. 🔁 #2 Control Flow + Functions, the C++ Way Range-for, lambdas, trailing return types, and the constexpr machine that runs at compile time
Phase 1

Memory + RAII

  1. 📐 #3 Stack, Heap, Lifetimes, and Scope Where your variables actually live, when they die, and why both questions are the same question
  2. 🎯 #4 References, Pointers, and nullptr Three tools for indirection, and the small set of rules that tells you which to reach for
  3. 🧷 #5 RAII + Smart Pointers How to use the heap without remembering to free it — by making the language do it for you
  4. 🚚 #6 Move Semantics + Rule of Zero/Five How `unique_ptr` transfers ownership, why `std::move` doesn't move anything, and the special members you should usually not write
Phase 2

Standard Library

  1. 📦 #7 Containers, Iterators, and the STL Shape vector, map, string_view, and the abstraction that lets one `sort` work on all of them
  2. 🛠️ #8 Algorithms + Ranges The free-function toolbox, and how C++20 ranges turned it into a pipeline language
Phase 3

Generic Programming

  1. 🧬 #9 Templates from First Principles How `std::sort` works for every type, why the compiler generates fresh code per instantiation, and what makes template error messages so famous
  2. 🪪 #10 Concepts + `requires` Giving names to template constraints — the C++20 feature that made templates legible
Phase 4

Concurrency

  1. 🧵 #11 Threads, `std::async`, and Futures Starting concurrent C++ safely — pick the right tool, RAII the rest
  2. ⚛️ #12 Atomics + the Memory Model The lesson most C++ courses get wrong — what `std::atomic` actually guarantees, and why `memory_order` exists
Phase 5

Wrap

  1. 🪦 #13 What to Skip (and Why) The parts of C++ this course intentionally de-emphasized — and what to reach for instead
Capstones

Weekend-scale projects

  1. 🛠️ 1w · advanced Concurrent Web Crawler thread pool · std::future · lock-free queue
  2. 🛠️ 1w · intermediate Custom Allocator placement new · alignment · std::pmr
  3. 🛠️ 1w · intermediate Process Monitor (htop-lite) RAII over file handles · /proc parsing · ranges
  4. 🛠️ 1w · intermediate Route Planner (A* on OpenStreetMap) templates · concepts · std::priority_queue