mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-07 10:08:50 -05:00
Complete instructor-facing Quarto site with 10 pages: - Landing page with hero, semester cards, and component overview - 8-step getting started checklist for adopting instructors - Week-by-week syllabi for both semesters with direct links - Course component map with SVG diagrams - Pedagogy guide with facilitation strategies and cheat sheet - Assessment rubrics with sample student work - TA training guide with grading workflows - Customization guide for quarters, seminars, and emphases - FAQ addressing common adoption questions Includes 4 SVG diagrams, ecosystem-aligned SCSS (light + dark), and navbar structure matching the book sites.
103 lines
6.2 KiB
Plaintext
103 lines
6.2 KiB
Plaintext
---
|
||
title: "FAQ"
|
||
subtitle: "Common questions from instructors adopting the curriculum"
|
||
---
|
||
|
||
## Getting Started
|
||
|
||
**Can I teach Volume II without Volume I?**
|
||
: Yes, but students need equivalent systems background. Volume II assumes familiarity with the Iron Law, the Roofline model, and basic hardware-software tradeoffs. If your students have taken a computer architecture or systems course, they can start with Volume II.
|
||
|
||
**Do students need GPUs?**
|
||
: No. All labs run on `mlsysim`, which simulates hardware physics in Python — no actual GPUs required. TinyTorch is pure Python/NumPy. Students can work on any laptop.
|
||
|
||
**What Python version is required?**
|
||
: Python 3.10 or higher. The labs use Marimo notebooks; TinyTorch uses standard Jupyter/nbgrader.
|
||
|
||
**Can students use Google Colab?**
|
||
: Yes for TinyTorch modules. Labs use Marimo, which requires a local install (`pip install marimo`) or the browser-based Marimo playground.
|
||
|
||
**What are the prerequisites?**
|
||
: Volume I assumes programming proficiency (Python), basic linear algebra (matrix multiplication, transposes — not eigenvalues), and introductory probability (distributions, expectation). No prior ML experience is required.
|
||
|
||
---
|
||
|
||
## Course Structure
|
||
|
||
**What if I only have 10 weeks?**
|
||
: See the [Customization Guide](customization.qmd) for a detailed 10-week quarter version with specific guidance on what to keep, compress, and drop.
|
||
|
||
**Can I use just the textbook without TinyTorch or labs?**
|
||
: Absolutely. Each component is independently adoptable. The textbook stands alone as a reading resource. See [Customization Guide](customization.qmd) for partial-adoption patterns.
|
||
|
||
**Can I use just the labs as active learning activities?**
|
||
: Yes. Labs are self-contained Marimo notebooks. Assign them alongside any ML or systems textbook as hands-on supplements.
|
||
|
||
**How does this compare to CS231n / CS224n / other ML courses?**
|
||
: Those courses teach ML models (architectures, training, applications). This course teaches ML *systems* — the hardware, software, and infrastructure that makes those models actually run. The two are complementary: students who take CS231n learn to build a ResNet; students who take this course learn why that ResNet runs at 3ms on an A100 but 4 seconds on a Raspberry Pi.
|
||
|
||
---
|
||
|
||
## TinyTorch
|
||
|
||
**How long do students spend on each module?**
|
||
: 4–8 hours per module, depending on the student's programming background. Module 06 (Autograd) is consistently the hardest — budget extra office hours that week.
|
||
|
||
**What if a student falls behind on TinyTorch?**
|
||
: Each module builds on previous ones, so falling behind compounds. Recommend they complete at least the auto-graded portion (70% of grade) even if they skip the systems thinking questions. Week 12 is a catch-up week with no new module — use it.
|
||
|
||
**Can students use AI tools (ChatGPT, Copilot) on TinyTorch?**
|
||
: This is your decision. Our recommendation: allow AI tools for debugging and understanding concepts, but require students to write the core implementation (`forward()`, `backward()`) themselves. The systems thinking questions are hard to answer with AI because they require understanding of specific hardware constraints.
|
||
|
||
---
|
||
|
||
## Labs
|
||
|
||
**What is a Decision Log?**
|
||
: A 200-word engineering justification that students write after completing Lab Part C. They must cite specific numbers from instruments, use Iron Law terminology, and acknowledge tradeoffs. See [Assessment & Grading](assessment.qmd) for the rubric and sample student work.
|
||
|
||
**What is a Prediction Lock?**
|
||
: Before each lab, students commit to a specific numeric prediction (e.g., "INT8 quantization will lose 5% accuracy"). They cannot interact with instruments until they commit. The gap between prediction and reality is where learning happens. See [Pedagogy](pedagogy.qmd) for the science behind this.
|
||
|
||
**Do students need to install anything for labs?**
|
||
: Just Python 3.10+ and two packages: `pip install marimo mlsysim`. Labs run in the browser.
|
||
|
||
---
|
||
|
||
## Assessment
|
||
|
||
**How do I handle late submissions?**
|
||
: We recommend a 24-hour grace period with 10% penalty, and no submissions accepted after 48 hours. Decision Logs lose their pedagogical value when submitted long after the lab — the prediction-reality gap fades.
|
||
|
||
**How do I ensure grading consistency across multiple TAs?**
|
||
: Run a grading calibration session in Week 0: give all TAs the same 5 sample Decision Logs and have them grade independently. Compare scores, discuss disagreements, and align on the rubric. Repeat mid-semester. See the [TA Guide](ta-guide.qmd).
|
||
|
||
**What about academic integrity for TinyTorch?**
|
||
: The auto-graded tests catch identical code. For the systems thinking questions, look for copy-paste patterns: students who copy tend to use identical phrasing and cite the same non-standard numbers. Flag for the instructor.
|
||
|
||
---
|
||
|
||
## Hardware Kits
|
||
|
||
**How much do hardware kits cost per student?**
|
||
: Approximately $50–100 per student station. The three recommended boards (Arduino Nano 33 BLE Sense, Raspberry Pi, Seeed XIAO ESP32S3) can be shared in groups of 2-3.
|
||
|
||
**What if I don't have budget for hardware?**
|
||
: All hardware experiences are replicated in the labs via `mlsysim`. The simulator models the exact memory, thermal, and latency profiles of each device. Hardware adds tactile engagement but is not required.
|
||
|
||
**How long does it take to order and set up hardware?**
|
||
: Order at least 4 weeks before the semester. Allow 1-2 hours for initial setup (firmware flashing, driver installation). The [Hardware Kits site](https://mlsysbook.ai/kits/) has a complete bill of materials and setup guide.
|
||
|
||
---
|
||
|
||
## Contributing
|
||
|
||
**How do I report errors in the textbook?**
|
||
: Open an issue on [GitHub](https://github.com/harvard-edge/cs249r_book/issues) with the chapter name and a description of the error. We actively maintain errata.
|
||
|
||
**Can I contribute new labs or TinyTorch modules?**
|
||
: Yes! We welcome contributions. Start a thread in [GitHub Discussions](https://github.com/harvard-edge/cs249r_book/discussions) describing your idea. We will help you align it with the curriculum structure.
|
||
|
||
**Can I share my adapted syllabus with other instructors?**
|
||
: Please do. Post it in [GitHub Discussions](https://github.com/harvard-edge/cs249r_book/discussions) — other adopters will benefit from seeing how you adapted the curriculum to your context.
|