Stop following, start building

The Project Workshop 🛠️

Lessons teach you the language. Projects teach you to program. Here you get a spec, not a script: build the thing yourself, reach for a hint only when you're stuck, and compare with a reference solution at the end.

⚠️ This will feel harder than the lessons That is the entire point, and it is not a sign you learned badly. Staring at an empty file is a skill of its own, and the only way to build it is to stare at a few. Struggle for a while before opening a hint; the struggle is where the learning happens.

Projects

P1

Number Guessing Game

The classic first program: the computer picks a number, you guess, it says higher or lower. Loops, user input, and match.

after Level 1 ~45 min
P2

Tip Splitter CLI

A real command-line tool that reads arguments, does honest money math, and fails gracefully when someone types nonsense.

after Level 2 ~1 hour
P3

Todo List

Your first program that remembers things between runs: structs, vectors, and reading and writing a real file.

after Level 2 ~1.5 hours
P4

Flashcard Quizzer

A study tool you will actually use: cards from a file, shuffled, and the ones you miss come back until you know them.

after Level 2 ~1.5 hours
P5

Text Adventure

Build a five-room world, an inventory, and a command parser. Find Rusty's golden claw and learn the indices-not-references trick.

after Level 2 ~2 hours
P6

Word Counter Pro

Feed it any text file, get the shape of the writing: counts, unique words, and a top-ten table. Iterator chains earning their keep.

after Level 3 ~1.5 hours
P7

Markdown Converter

A real parser: turn .md into .html with headings, emphasis, lists, escaping, and the ordering traps every text tool hides.

after Level 4 ~2 hours
P8

rustle: a mini grep

Your own text-search tool with line numbers and a case-insensitive flag, built on a lifetime you finally need for real.

after Level 3 ~1 hour
P9

The Capstone: Build the Server

Rebuild this website's own web server from a spec: TCP, HTTP, threads, a security check, and tests. Pure std. 🏔️

after Level 4 ~3 hours
🎓 How to use the workshop
  1. Read the spec, then close this tab. Open your editor and try. Getting it wrong first is normal and useful.
  2. Hints are a ladder, not an elevator. They go from a gentle nudge to actual code. Take the smallest one that unsticks you.
  3. Compare at the end. The reference solution is one valid answer, not the only one. If yours works and reads clearly, yours is right.
  4. Then break it. Every project has stretch goals. That's where it stops being homework and starts being yours.