Source: C Systems Lab Companion PDF

Repo: VHCosta/llc-companion-pdf Stack: Typst Author: VH Costa Status: All 11 chapters + appendices A–C complete; Gumroad live; all 3 tiers uploaded

Value Proposition

Paid companion to the free web app, sold on Gumroad. Adds:

  • Exercises with full annotated solutions (primary value)
  • Deeper “why” explanations behind design decisions
  • Real-world codebase connections (SQLite, Redis, CPython, Linux kernel)
  • Debugging chapter (GDB, Valgrind, ASan/TSan workflows, core dumps)
  • Interview prep mapped to chapters with model answers

Three-Tier Build System

  • Base (typst compile src/main.typ) — exercises with placeholder solution boxes
  • Solutions (--input solutions=true) — full annotated solutions
  • Complete (--input solutions=true --input extended=true) — solutions + extended projects

Structure

src/
├── main.typ          ← entry point, tier flags, page layout
├── template/lib.typ  ← block types: chapter-intro, callout, exercise, solution, realworld
├── chapters/         ← ch01.typ – ch11.typ
└── appendix/         ← debug.typ, interview.typ, repo.typ
content/
├── SCHEMA.md         ← canonical exercise schema
└── chNN/exN_M/       ← 43 exercises (starter/, solution/, shared/, prompt.md, meta.json)
scripts/
├── validate.sh       ← compiles all solution/ trees; 43/43 PASS
└── export.sh         ← exports/public/ (stubs) or exports/paid/ (full solutions)

Note: content/ is the canonical exercise source. scripts/validate.sh replaced the old tests/ validation approach.

Chapter Status

Note: PDF chapters have their own structure independent of the web module numbering.

ChapterPDF TitleWeb ModuleStatus
ch01Setup and the Compilation Modelm01-c-is-not-java (lessons 1-1, 1-2)Written
ch02Types, Operators, and Control Flowm01-c-is-not-java (lesson 1-3)Written
ch03Pointers and the Memory Modelm02-pointers-memory-modelWritten
ch04Dynamic Memorym03-dynamic-memoryWritten
ch05Structs, Unions, and Bit Fieldsm04-structs-unions-bitfieldsWritten
ch06The C Preprocessorm05-c-preprocessorWritten
ch07File I/O and System Callsm06-file-io-syscallsWritten
ch08Processes and Signalsm07-processes-signalsWritten
ch09Sockets and Networkingm08-sockets-networkingWritten
ch10Concurrencym09-concurrencyWritten
ch11Going Below Cm10-going-below-cWritten

Status: Shipped

All publishing tasks complete as of 2026-04-11:

  • Gumroad listing live at vhcosta.gumroad.com/l/c-systems-lab (28 / $38)
  • All 3 PDF tiers uploaded
  • VHCosta/c-systems-lab-exercises public repo live; README updated with Gumroad URL
  • Appendix C URL correct in src/appendix/repo.typ

Next planned additions: Game Boy emulator ch12 (PDF-exclusive capstone) — see meta-gb-emulator.