Files
cs249r_book/instructors/getting-started.qmd
Vijay Janapa Reddi f24f1683da feat(slides): deploy slides portal to dev, add PPTX builds, fix all overfull warnings
- Wire up slides-preview-dev.yml to deploy via SSH (matching labs/kits pattern)
- Add slides/ URL rewrite in book-preview-dev.yml for landing page links
- Add pdf2pptx.py conversion script (pdftoppm + python-pptx, 300 DPI)
- Update Makefile with pptx targets (per-chapter, per-volume, all)
- Update slides-build-pdfs.yml and slides-publish-live.yml to build PPTX
  and include PDF+PPTX ZIP archives in GitHub releases
- Fix all 44 overfull box warnings across 17 Vol1 Beamer decks
- Update slides portal pages with direct per-deck PDF/PPTX download links,
  PPTX column in tables, and remove placeholder callouts
- Update teaching.qmd with PPTX build instructions
- Cross-link slides from instructors hub, getting-started, and both syllabi
2026-03-18 13:58:22 -04:00

143 lines
6.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Getting Started"
subtitle: "From zero to teaching in one afternoon"
---
::: {.callout-note}
## Who 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](https://mlsysbook.ai), [labs](https://mlsysbook.ai/labs/), and [TinyTorch](https://mlsysbook.ai/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 0108 + Labs 0015 |
| **Scale Only** (requires Vol I prereq) | 16 weeks | Vol II + Labs 0116 |
| **Full Sequence** | 2 semesters | Both volumes + all modules + all labs |
| **Quarter Version** | 10 weeks | Condensed Vol I (see [Customization](customization.qmd)) |
::: {.callout-tip}
## Recommendation
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](https://creativecommons.org/licenses/by-nc-sa/4.0/). No access codes, no adoption fees.
| Resource | Where to Find It | Format |
|:---|:---|:---|
| **Textbook Vol I** | [mlsysbook.ai/vol1](https://mlsysbook.ai/vol1/) | Web, PDF, EPUB |
| **Textbook Vol II** | [mlsysbook.ai/vol2](https://mlsysbook.ai/vol2/) | Web, PDF, EPUB |
| **TinyTorch** | [mlsysbook.ai/tinytorch](https://mlsysbook.ai/tinytorch/) | Jupyter notebooks |
| **Interactive Labs** | [mlsysbook.ai/labs](https://mlsysbook.ai/labs/) | Marimo (browser) |
| **Hardware Kits** | [mlsysbook.ai/kits](https://mlsysbook.ai/kits/) | Deployment guides |
| **Lecture Slides** | [mlsysbook.ai/slides](https://mlsysbook.ai/slides/) | PDF, PPTX, LaTeX |
| **GitHub Repository** | [github.com/harvard-edge/cs249r_book](https://github.com/harvard-edge/cs249r_book) | Source |
---
## Step 3: Set Up Infrastructure
### TinyTorch (Required for Foundations)
```bash
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](https://mlsysbook.ai/tinytorch/modules/01_tensor_ABOUT.html) 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](https://mlsysbook.ai/tinytorch/INSTRUCTOR.html) for nbgrader configuration
::: {.callout-tip}
## What 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](https://mlsysbook.ai/tinytorch/modules/06_autograd_ABOUT.html), 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](https://mlsysbook.ai/tinytorch/) to see the full structure.
:::
### Interactive Labs (Both Semesters)
```bash
pip install marimo mlsysim
marimo edit labs/vol1/lab_05_nn_compute.py
```
- Labs run in the browser — no GPU required
- The [`mlsysim`](https://mlsysbook.ai/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: ~$50100 per student station
- Order 4+ weeks before semester start
- See [Hardware Kits site](https://mlsysbook.ai/kits/) 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](assessment.qmd) 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:
- [**Foundations Syllabus**](foundations-syllabus.qmd) — 16 weeks covering Volume I
- [**Scale Syllabus**](scale-syllabus.qmd) — 16 weeks covering Volume II
Need to adapt for a quarter system, a graduate seminar, or a specific emphasis? See the [Customization Guide](customization.qmd).
---
## Step 6: Your First Week
Here is exactly what to assign on Day 1:
1. **Reading**: [Vol I, Introduction](https://mlsysbook.ai/vol1/introduction.html) (45 min)
2. **Lab**: [Lab 00](https://mlsysbook.ai/labs/vol1/lab_00_introduction.html) — The Architect's Portal (30 min)
3. **TinyTorch**: [Module 01: Tensor](https://mlsysbook.ai/tinytorch/modules/01_tensor_ABOUT.html) — due end of Week 1 (46 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)
::: {.callout-tip}
## Day 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**](ta-guide.qmd) — grading workflows, common student struggles, lab facilitation
- [**Assessment & Grading**](assessment.qmd) — rubrics they will use every week
- [**Pedagogy Guide**](pedagogy.qmd) — the "why" behind Prediction Locks, Decision Logs, and the A-B-C structure
---
## Step 8: Join the Community
- **GitHub Discussions**: [Ask questions, share adaptations, report issues](https://github.com/harvard-edge/cs249r_book/discussions)
- **OpenCollective**: [Support the project's ongoing development](https://opencollective.com/mlsysbook)