FAQ

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 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 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 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 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.
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 has a complete bill of materials and setup guide.

Contributing

How do I report errors in the textbook?
Open an issue on GitHub 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 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 — other adopters will benefit from seeing how you adapted the curriculum to your context.
Back to top