9 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
85a58c65c2 fix(slides): repair blank-pages and Vol1/Vol2 collision in release PDFs
Two issues caused the deployed slide PDFs to be unusable:

1. Every chapter .tex declared `\setsansfont{Helvetica Neue}` — proprietary
   to Apple, not installed on the Ubuntu CI runner. xelatex bombed mid-frame,
   the workflow's `|| true` swallowed the error, and the resulting PDF had
   most text never typeset (blank pages with only logos/rules surviving).
   Switch all 35 decks to TeX Gyre Heros (sans) and TeX Gyre Cursor (mono),
   both bundled with texlive-fonts-extra — no external font downloads needed.
   Drop the JetBrains Mono wget step and fonts-liberation from both slide
   workflows accordingly.

2. Vol1 and Vol2 each ship `00_course_overview.pdf` and `01_introduction.pdf`.
   The publish workflow uploaded them to a flat GitHub Release namespace, so
   the second upload silently overwrote the first — clicking Vol I's Course
   Overview actually downloaded Vol II's deck. Stage prefixed copies
   (vol1_*.pdf, vol2_*.pdf) before upload, and update slides/vol{1,2}.qmd
   plus the mlsysim cross-links to point at the new prefixed URLs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 08:35:11 -04:00
Vijay Janapa Reddi
f3f0e74276 style(svg): standardize typography to sans-serif and ensure high-contrast text
- Added font-family='Arial, Helvetica, sans-serif' to all SVG root tags to ensure clean, consistent textbook styling.
- Enforced strict high-contrast text colors, replacing pure black with a slightly softer dark gray (#333) for primary labels to adhere to the semantic style guide.
2026-04-23 17:16:55 -04:00
Vijay Janapa Reddi
022b98dd90 style(svg): normalize volume 2 colors and remove soft corners
Audited all SVG figures in Volume 2 to align with textbook aesthetic guidelines.

- Replaced rounded corners (rx, ry) on <rect> elements with sharp corners.
- Converted assorted unapproved colors to the rigorous semantic palette
  defined in the style guide (e.g. #cfe2f3 for compute, #d4edda for data,
  #f9d6d5 for errors, plus standard grays).
- Automated a headless browser check (Puppeteer) to evaluate the rendered
  layout, identifying and rectifying ~87 text element overlaps caused by
  the font or box shifting. Adjusted coordinate spacing on problem files
  such as the WSE and HBM architecture diagrams.
2026-04-23 16:54:48 -04:00
Vijay Janapa Reddi
7d00dc4645 feat(slides): implement all improvement report recommendations
~75 new slides across 35 decks based on systematic review of
slide content vs textbook chapters. All new slides have 5-component
speaker notes (LINK/NARRATE/ENGAGE/WARN/FLEX).

Quantitative exercises added (~20):
- Iron Law, roofline, memory budget, training cost calculations
- Chinchilla scaling, ZeRO memory, AllReduce crossover
- Tail latency SLO, DP noise calibration, Fermi estimates

War stories / case studies added (~8):
- Knight Capital $440M (deployment), COVID drift (data engineering)
- DistilBERT (compression), Tail at Scale (serving)
- OPT-175B failures (fault tolerance), Tesla IP theft (security)

Missing concept slides added (~25):
- Scaling law breakdowns, PFC deadlocks, checkpoint coordination
- Energy roofline, machine unlearning, robustness in GenAI
- Horowitz energy table, Pareto efficiency, diagnostic flowcharts

Generic backup slides replaced with chapter-specific content (all 35).
~15 new SVGs created for diagrams that needed visual support.
Section counters and pre-existing LaTeX bugs fixed across multiple decks.
2026-03-16 19:23:02 -04:00
Vijay Janapa Reddi
b3d4aedb2a feat(slides): upgrade all 1,099 speaker notes to 5-component structure
Research-grounded speaker note upgrade across all 35 slide decks.
Every \note{} now follows the LINK/NARRATE/ENGAGE/WARN/FLEX structure
based on Shulman PCK, Chi ICAP, Rosenshine, Ambrose, Merrill, Bain,
Wiggins UbD, and Garner & Alley frameworks.

28 chapters upgraded in this commit (7 were upgraded in prior commit).
- NARRATE + FLEX on 100% of slides
- LINK, ENGAGE, WARN on key concept slides (~70%)
- ~70% CORE / ~30% OPTIONAL tags for pacing flexibility
- Every line unique to its specific slide — no generic filler
- No slide content changed — only speaker notes rewritten
2026-03-16 18:46:03 -04:00
Vijay Janapa Reddi
6cf5430928 feat(slides): 5-component speaker notes + upgrade 7 chapters
New speaker note standard (LINK, NARRATE, ENGAGE, WARN, FLEX) based on
8 pedagogical frameworks (Shulman PCK, Ambrose, Rosenshine, Chi ICAP,
Merrill, Bain, Wiggins UbD, Garner & Alley).

Upgraded 7 chapters: Vol1 Ch00/Ch05/Ch09/Ch13, Vol2 Ch00/Ch06/Ch12.
Updated stats row on portal landing page.
28 chapters remaining for next pass.
2026-03-16 18:04:15 -04:00
Vijay Janapa Reddi
c1d3a372f1 fix: resolve CI failures across all ecosystem workflows
- Fix leaderboard script: unterminated string literal (line 60) and
  python-level typo in setup-python
- Fix instructors _quarto.yml: duplicate href key (Labs/Slides entries)
- Fix 2 SVGs: escape < in text content (ml-cicd-pipeline, precision-engineering)
- Fix codespell: add 'rithm' and 'Activ' to ignore list (split-word SVG text)
- Fix labs plans: add YAML front matter to 6 .md files to prevent
  Quarto YAML alias errors from **Story patterns
- Fix labs-validate-dev: use regular install instead of editable for mlsysim
  (hatchling sources remap incompatible with editable mode)
- Fix mlsysim hardware.qmd: replace Registry.list() with direct attribute
  iteration (Registry class shadowed by package __init__)
2026-03-16 16:20:11 -04:00
Vijay Janapa Reddi
d7331f74b0 improve(slides): add pedagogy features, photos, and SVG fixes across all decks
Content improvements (all 35 decks):
- Color legend slide after Learning Objectives (semantic palette guide)
- Mid-lecture micro-retrieval Quick Check slides
- Muddiest Point one-minute paper before retrieval practice
- 2-3 backup/appendix slides per deck for pacing flexibility
- Peer instruction protocol added to speaker notes

Real-world photos (23 CC-licensed from Wikimedia Commons):
- Vol1: 13 photos (GPU dies, datacenters, FPGA, Raspberry Pi, NVMe SSD)
- Vol2: 10 photos (H100, CERN datacenter, fiber optics, drones, cooling)

SVG quality fixes (28 files):
- Vol1: 7 fixes (text cutoff, tiny fonts, rotated text made horizontal)
- Vol2: 21 fixes (missing arrow marker, sub-7px fonts, background rects)

Based on expert pedagogy review (Garner & Alley, Mazur, Roediger).
2026-03-16 16:08:31 -04:00
Vijay Janapa Reddi
d0de4e2858 feat(slides): generate complete slide library for both volumes (35 decks)
Parallel-agent generation of Beamer lecture slides for the entire
ML Systems curriculum. Each deck follows the Ch1 gold-standard template
with speaker notes, active learning, and semantic SVG diagrams.

Volume I (17 decks):
- Course overview + 16 chapter decks (Introduction through Conclusion)
- 128 SVGs, ~450 frames total, 50-75 min teaching time per deck

Volume II (18 decks):
- Course overview + 17 chapter decks (Introduction through Conclusion)
- 138 SVGs, ~450 frames total, 50-75 min teaching time per deck

Infrastructure:
- Extended Makefile with Vol2 build targets (v2ch01-v2ch17)
- All decks compile with xelatex, overflows under 10pt threshold

Every deck includes: learning objectives, 3-4 active learning moments,
fallacies and pitfalls, key takeaways, references, and next-lecture hooks.
Expert pedagogy review collected for future improvement pass.
2026-03-16 16:08:31 -04:00