Skip to content

Instructor guide ​

lcom-ng works as a course module, workshop, independent study track, or semester lab section. Students get a generated workspace. Instructors get lab guides, reference tests, examples, rubrics, and a portable runtime with no VM setup.

Students implement small C libraries for device-shaped interfaces, then reuse them in a final interactive project. See the syllabus map for topics, outcomes, and a week-by-week plan.

Course shape ​

PhaseMaterialOutcome
Week 1Lab 1bit reasoning and RTC reads
Week 2Lab 2PIT divisors and timer event loops
Weeks 3-4Labs 3-4keyboard and mouse packet handling
Weeks 5-6Lab 5framebuffer graphics and sprites
Weeks 7-8Labs 6-7audio buffers and UART protocols
Weeks 9-13Project studiointeractive C application, optionally published in a class Arcade

Teaching materials ​

ResourceUse
Lab trackstudent-facing lab sequence
Syllabus maptiming, outcomes, weekly plan
Adoption guidefirst-week setup and course decisions
Project rubricassessment weights and milestones
Game collectionsclass Arcade, metadata, and browser/Android export
Install guiderelease archives for student machines

What to publish ​

  • Release archive or install page.
  • Generated workspace instructions.
  • Lab schedule, collaboration policy, and grading rubric.
  • Project milestones and expected artifacts.

Artifacts can include test output, traces, screenshots, WAV captures, replay scripts, videos, or bundles.

What to keep private ​

PathReason
dev/lab-solutions/reference implementations
dev/lab-tests/can reveal expected behavior
upstream CMake/runtime internalsnot part of normal student work

Students start from lcom-ng setup, not the upstream repository. The upstream repository is for maintainers and contributors.

First class flow ​

Show the short demo, generate a workspace live, run make, run a failing lab test, and implement one tiny bit helper together. Stop before solving the whole lab. The point is to show that tests are feedback for missing student code, not broken infrastructure.

Next: adopt lcom-ng in one week.

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