Adopt Machine Lab In One Week
This guide is for instructors, teaching assistants, club organizers, and curriculum leads who want to use Machine Lab quickly.
Day 1: Pick Scope
| Mode | Best for | Use |
|---|---|---|
| Workshop | 2 to 6 hours | Lab 1 plus one visual example |
| Course module | 2 to 4 weeks | Labs 1, 2, 3, 5 and a small project |
| Semester course | 10 to 14 weeks | Labs 1 to 7 and final project studio |
| Replacement lab track | existing systems course | Select labs that match lecture order |
Day 2: Verify Tooling
sh
machinelab --help
machinelab setup student-smoke --force
make -C student-smoke
machinelab test rtc --project student-smokeThe last command should fail for a fresh workspace. That means the TODO stubs are present and the tests are ready for students.
IMPORTANT
Do not distribute the upstream repository as the normal student workspace. Use machinelab setup so students see the course surface, not runtime internals.
Day 3: Pilot One Lab
Have one staff member follow Lab 1 without using reference solutions:
- Read the overview.
- Run the failing test.
- Implement the bit helpers.
- Re-run the test.
- Patch every confusing handout step before students see it.
Day 4: Publish The Course Shape
Publish:
- schedule;
- grading weights;
- late policy;
- collaboration policy;
- final project milestone dates;
- artifact expectations.
Day 5: Run The First Class
Show the demo, generate a workspace, run a failing test, then implement only one small helper. The best first impression is a student seeing a failing test turn into a more precise result through C code.
Public Marketing
Lead with:
- free course kit;
- portable setup;
- C labs with deterministic tests;
- final projects with screenshots, WAVs, videos, traces, and bundles.
Good first channels:
- Hacker News: "Show HN: Machine Lab - portable C labs for device-shaped systems programming"
r/C_Programmingr/learnprogrammingr/osdevr/compsci- teaching and SIGCSE-adjacent groups