Skip to content

Machine LabPortable C labs for machine-facing programming

Teach device-shaped systems work without making students fight a VM first.

Machine Lab word processor example

Machine Lab is public courseware for computer architecture, operating systems, and systems programming classes that want low-level ideas without requiring a full OS lab setup.

It keeps the useful part of older PC lab work:

  • bytes, masks, registers, and status bits;
  • interrupt-shaped event loops;
  • keyboard and mouse packet parsing;
  • framebuffers and PCM audio;
  • serial protocols and paired programs;
  • final projects that produce visible artifacts.

It removes the part that usually burns the first week:

  • fragile VM images;
  • service-management ceremony;
  • platform-specific display/audio setup;
  • undocumented grading paths.

Students

Use a generated workspace, follow the lab guides, and build a final C project.

Student guide

Instructors

Adopt the material in one week, choose labs, publish a rubric, and run project studio.

Instructor guide

Maintainers

Work on the runtime, SDK, lab templates, release artifacts, and docs site.

Developer guide

Machine Lab music maker exampleMachine Lab breakout example

What You Can Send People

Course/docs licensed CC BY 4.0. Code licensed MIT.