Getting Started

From zero to teaching in one afternoon

NoteWho is this site for?

The Blueprint is designed for instructors and TAs adopting the ML Systems curriculum. If you are a student, your instructor will direct you to the textbook, labs, and TinyTorch directly.


Step 1: Choose Your Track

Decide which configuration fits your program:

Configuration Duration What Students Get
Foundations Only (most common) 16 weeks Vol I + TinyTorch 01–08 + Labs 00–15
Scale Only (requires Vol I prereq) 16 weeks Vol II + Labs 01–16
Full Sequence 2 semesters Both volumes + all modules + all labs
Quarter Version 10 weeks Condensed Vol I (see Customization)
TipRecommendation

Start with Foundations Only. It is self-contained, requires no distributed systems background, and gives students a complete experience from theory through deployment.


Step 2: Access the Materials

All materials are open-source under CC-BY-NC-SA 4.0. No access codes, no adoption fees.

Resource Where to Find It Format
Textbook Vol I mlsysbook.ai/vol1 Web, PDF, EPUB
Textbook Vol II mlsysbook.ai/vol2 Web, PDF, EPUB
TinyTorch mlsysbook.ai/tinytorch Jupyter notebooks
Interactive Labs mlsysbook.ai/labs Marimo (browser)
Hardware Kits mlsysbook.ai/kits Deployment guides
Lecture Slides mlsysbook.ai/slides PDF, PPTX, LaTeX
GitHub Repository github.com/harvard-edge/cs249r_book Source

Step 3: Set Up Infrastructure

TinyTorch (Required for Foundations)

git clone https://github.com/harvard-edge/cs249r_book.git
cd cs249r_book/tinytorch
  • Students work in src/ — one folder per module (e.g., src/01_tensor/)
  • Each module has a companion ABOUT page with learning objectives, audio overview, and a Binder link for browser-based execution
  • Auto-grading runs via pytest or nbgrader
  • See the TinyTorch Instructor Guide for nbgrader configuration
TipWhat Does a TinyTorch Module Look Like?

Each module is a Python file with scaffolded cells. Students implement core functions (forward(), backward(), etc.) while the test suite validates correctness. For example, in Module 06: Autograd, students build reverse-mode automatic differentiation from scratch — implementing the computation graph, topological sort, and gradient accumulation that powers every modern framework. Browse any module’s ABOUT page on the TinyTorch site to see the full structure.

Interactive Labs (Both Semesters)

pip install marimo mlsysim
marimo edit labs/vol1/lab_05_nn_compute.py
  • Labs run in the browser — no GPU required
  • The mlsysim simulator provides hardware-accurate physics (models real hardware specs for H100, A100, Jetson, XIAO, and more)
  • Zero infrastructure beyond Python 3.10+

Hardware Kits (Optional)

  • Budget: ~$50–100 per student station
  • Order 4+ weeks before semester start
  • See Hardware Kits site for bill of materials

Step 4: Set Up Your LMS

Create these assignment categories in Canvas, Gradescope, or your LMS:

Semester 1 (Foundations):

Category Weight Frequency Source
TinyTorch Modules 35% Weekly Auto-graded notebooks
Lab Decision Logs 25% Weekly Written reflections (200 words)
Design Challenges 20% Bi-weekly Lab Part C open-ended problems
Capstone (AI Olympics) 20% Once End-of-semester competition

See Assessment & Grading for detailed rubrics and sample student work.


Step 5: Choose Your Syllabus

We provide two complete, week-by-week syllabi with direct links to every reading, lab, and assignment:

Need to adapt for a quarter system, a graduate seminar, or a specific emphasis? See the Customization Guide.


Step 6: Your First Week

Here is exactly what to assign on Day 1:

  1. Reading: Vol I, Introduction (45 min)
  2. Lab: Lab 00 — The Architect’s Portal (30 min)
  3. TinyTorch: Module 01: Tensor — due end of Week 1 (4–6 hrs)
  4. Prediction Lock: “A GPU is how many times faster than a CPU for a 1024x1024 matrix multiply?” (students commit a number before Lab 01)
TipDay 1 Activity

Have students write their GPU speedup prediction on a sticky note and post it on the board. After Lab 01, revisit. The visual distribution — and how wrong most of them are — sets the tone for the entire course.


Step 7: Prepare Your TAs

If you have teaching assistants, share these resources with them:

  • TA Guide — grading workflows, common student struggles, lab facilitation
  • Assessment & Grading — rubrics they will use every week
  • Pedagogy Guide — the “why” behind Prediction Locks, Decision Logs, and the A-B-C structure

Step 8: Join the Community

Back to top