Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

๐Ÿ•น๏ธ Practice arcade

Extra games, not extra homework โ€” timed sprints, survival runs that end when your lives run out, and mastery drills built from the same skills C++ teaches.

Log in to play โ€” the arcade tracks runs per student.

โšก Sprints

Beat the clock.

๐Ÿ’€ Survival

Each miss costs a life โ€” lose them all and the run ends.

๐ŸŽฏ Mastery

No clock โ€” just get N in a row.

๐Ÿงฐ Which Tool Catches It?

Warnings, a static analyzer, a sanitizer, or the debugger: sort each bug to the cheapest tool that catches it first.

๐Ÿ“‚ Stream and Mode

ifstream or ofstream, truncate or append, text or binary: open five files right in a row.

๐Ÿ“ˆ How Does It Grow?

Read a loop's shape and name its growth, from O(1) to O(nยฒ), five times in a row.

๐Ÿ“ฆ Ship a Library

Which file each system builds, and where each loader looks for it: name five in a row on Linux, macOS and Windows.

๐Ÿงช Pass, Fail, or Not Run?

-R or -L, --output-on-failure, WILL_FAIL and PASS_REGULAR_EXPRESSION: call five ctest runs right in a row.

๐Ÿ—๏ธ Design Review: tasks

Library or main, optional or throw, exit code 1 or 2, and the portable choice: defend the capstone's design five times in a row.

๐Ÿšฉ Flag for the Job

-g or -O2, which sanitizer, which warning, which build type, and which CMake step: pick five flags right in a row.

๐Ÿ” Loop Tracer

while, do-while, break and continue: trace five loops in a row without an off-by-one.

๐Ÿงญ Calls and Scopes

Which overload wins, which default fills in, which x a block sees, and when each local is destroyed.

๐Ÿ—๏ธ Build and Tear Down

Members, bases, stack unwinding, unique_ptr ownership and copy-vs-move counts: who is built, moved and destroyed, in what order.

๐ŸŽฏ Who Handles It?

Which catch runs, which expected branch, which virtual override, and what T deduces to.

๐Ÿ› ๏ธ Build It Right

Compile, link, runtime or logic error? PRIVATE, PUBLIC or INTERFACE? Read the build like a maintainer.