mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-06 01:28:35 -05:00
- 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
143 lines
6.2 KiB
Plaintext
143 lines
6.2 KiB
Plaintext
---
|
||
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 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](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: ~$50–100 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 (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)
|
||
|
||
::: {.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)
|