00 / C
Learn memory, the debugger and the buildgraded by the real tools
Segfaults, races, and the debugger that actually catches them - 186 lessons graded by gdb/lldb and your compiler's real exit code.
Early access
01 / what grades you
Grading runs the real tools the job actually uses, in the copy of VS Code you already have open - not a simulated sandbox and not a recording.
When a lesson says PASSED, that verdict came from the real debugger, the real test runner, or a real service running on your machine.
02 / the free tier
26 free lessons, forever
No account. No card.. the free tier makes zero network calls, answers ship encoded and are released one failed attempt at a time, and your progress is a local file you can read and delete. no accounts, no telemetry, no subscription.
03 / syllabus
Lesson 1 of 26 free. Opens in your own VS Code - free forever.
Store not yet open What to expect on your machine
186 lessons across 9 tracks
Debugging with GDB
Your first breakpointFREE/Stepping through codeFREE/Reading the call stackFREE/Reading a backtraceFREE/Conditional breakpointsFREE/Watchpoints: break when memory changes Linux/Windows only/Inspecting memory directlyFREE/Printing structs and pointersFREE/Your first segfaultFREE/Reading a core dump WSL on Windows + macOS/The stack smash WSL on Windows + macOS/Stepping into code you do not own/Debugging a failing test/The uninitialized read/The dangling pointer/The buffer overflow/The off-by-one/The infinite loop/The deadlock/A race you can catch every time/Attaching to a running process/Debugging inside Docker WSL on Windows/Optimized-out variables/Asserts as tripwires/The leak hunt WSL on Windows + macOS/The double free WSL on Windows + macOS/The use-after-free WSL on Windows/The misaligned cast WSL on Windows/The heisenbug WSL on Windows/Capstone
C language
Compile, link, runFREE/Variables and typesFREE/printf and scanf/Operators and precedence/Control flow/Functions properly/Scope and storage classes/Arrays/Strings, the honest way/Pointers: the first contact/Pointer arithmetic/Pointers and arrays together/Structs/typedef/Enums/Unions/malloc and free/Ownership discipline/Two-dimensional data/Function pointers/const correctness/Header files and includes/The preprocessor/Macro pitfalls/Casting/Integer promotion traps/Floating point honestly/Bit manipulation/Command-line arguments/File IO/errno and error handling/The standard library tour/A linked list from scratch/Capstone: a real CLI tool
Git
Repo anatomyFREE/The three areasFREE/Commits done well/Ignoring the right things/Branching/Two kinds of merge/The conflict/Branch lifecycle/Amend/Rebase onto a moved main/Squash and fixup/Reword, reorder, drop/Cherry-pick and revert/Reflog, the undo of undos/Reset: soft, mixed, hard/Stash/Bisect/Remotes: clone, fetch, pull, push/Pull with rebase/Force with lease, and tags/The feature workflow/Capstone: inherit the mess/What a commit really is/Trees, blobs and refs/The index unmasked/Submodules without tears/Worktrees/Large files and history bloat/Attributes that save releases/Hooks that guard the gate/Signed work/Rebase with a robot/Autosquash discipline/The reverted merge trap/Detached HEAD, no fear/Archaeology/Capstone: the inherited repo
Testing
Your first unit testFREE/Assertions that read wellFREE/A test runner that scalesFREE/Fixtures: setup and teardown/Table-driven tests/Testing the failure paths/Stubbing a dependency/Mocking with function pointers/Sanitizers in the test loop/Coverage, honestly/The regression test/TDD capstone
Memory
Stack vs heap, for realFREE/Valgrind: the first run WSL on Windows + macOS/Finding the leak WSL on Windows/Use-after-free with ASanFREE/The double free/Uninitialized memory WSL on Windows + macOS/Buffer overflows, found not feared/Alignment and padding WSL on Windows/Ownership patterns that scale/Arena allocation/realloc without tears/Memory-mapped files WSL on Windows/Cache-friendly layout/A custom allocator/Fragmentation/Capstone: the leak hunt WSL on Windows
Build and link
gcc flags that matterFREE/Warnings as errorsFREE/Object files and translation units/Static libraries/Dynamic libraries/make: the first Makefile WSL on Windows/make patterns and variables/CMake: the first build/CMake targets done right WSL on Windows/Linker errors, decoded/Sanitizers in the build WSL on Windows/Reproducible builds
Data structures
A dynamic arrayFREE/The linked listFREE/The doubly linked listFREE/A stack/A queue/A hash table/Hash collisions/A binary tree/The binary search tree/Tree traversal/A heap and priority queue/Quicksort/Mergesort/Binary search/String algorithms/Graphs: adjacency/BFS and DFS/Capstone: pick the right structure
Systems
ProcessesFREE/fork and execFREE/Pipes/Signals/Files and file descriptors/stat, directories, the filesystem/A TCP client/A TCP server/UDP/select and poll/Threads with pthreads/Mutexes/Condition variables/Shared memory/mmap/Capstone: a mini shell
Infrastructure
Docker imagesFREE/Docker composeFREE/Debugging in containers/Redis basics/Redis as a cache/Kubernetes deploy/Debug a pod/Config and secrets/Multi-stage builds: 800MB to 5MB/Volumes and persistence/Crash forensics: the core dump
04 / how it grades you
Do the work
Open the lesson in VS Code and write the fix, the query, or the test - in your own editor, with your own tools.
The real tool checks it
The debugger, the test runner, or the real service your code talks to decides pass or fail - not a string match on your keystrokes.
Hints, then the solution
Stuck lessons escalate through hints before the reference solution unlocks - spoilers are earned, not browsable.
05 / your machine
What to expect on your machine
By track, per operating system
| Track | Windows | macOS | Linux |
|---|---|---|---|
| Debugging with GDB (30) | 22/30 8 skip | 25/30 5 skip | 30/30 |
| C language (34) | 34/34 | 34/34 | 34/34 |
| Git (37) | 37/37 | 37/37 | 37/37 |
| Testing (12) | 12/12 | 12/12 | 12/12 |
| Memory (16) | 10/16 6 skip | 14/16 2 skip | 16/16 |
| Build and link (12) | 9/12 3 skip | 12/12 | 12/12 |
| Data structures (18) | 18/18 | 18/18 | 18/18 |
| Systems (16) | 0/16 | 16/16 | 16/16 |
| Infrastructure (11) | 11/11 | 11/11 | 11/11 |
generated from manifests, 2026-08-29
CI-proven Windows
CI-verified on Windows, WSL, Linux and Apple Silicon macOS (M-series - the debugger and every track run green there); store not yet open.
CI-proven, hand pass pending macOS
Intel Macs run the identical code - the same lldb path, nothing branches on the chip - but GitHub's Intel runners never become available to us, so CI cannot confirm them and we will not claim a green we do not have. It goes on sale the moment a person verifies it on real Apple hardware, not a day sooner.
CI-proven Linux / WSL
Linux is the one host that runs the entire curriculum. Every one of the 186 lessons runs on native Linux - and on WSL, which is real Linux - with nothing skipped for the platform.
Store not yet open 26 free lessons are ready right now.
06 / receipts
Receipts
Receipts are claims paired with evidence. The changelog carries the dated record.
PASS the exam is a live GDB sessiongoals tick only when the Debug Adapter Protocol reports the breakpoint hit, the line reached, the variable inspected - by you; the follow-up quiz is graded by hash, so the answer is not sitting in a file
PASS answers are earned, never browsablesolutions, explanations and hints ship encoded; the coach releases them one failed attempt at a time
PASS the paid edition is encrypted, and the encrypted buyer walk is CI-proven on three OSesthe full curriculum ships as an encrypted pack that only unlocks under your licence; CI already walks the paid lessons the way a buyer would - decrypt, grade, done - on Windows, macOS and Linux (Linux runs all of them; Windows and macOS run every lesson their tools support). What is left to prove: the release job that seals the download, and the Windows clean-up the moment you leave a lesson
PASS your progress is a file you ownno account - export it and import it from the Command Palette when you change machines
PASS your toolchain is checked, not assumedthe environment doctor reads each tool's version - gcc, gdb, make, cmake, git, node - not just whether it is installed, and tells you exactly what to add or upgrade before a lesson can trip on it, in one command
PASS zero minutes of videonothing to watch; everything to do