Project studio: the system comes together
420-302-VA · WEEK 12 · FALL 2026

Week 12 · Monday, November 23, 2026 · Room D-221

Nothing new. Everything, together.

For eleven weeks the course added boxes: board, OS, Python, GPIO, objects, ESP32, MQTT, control, Flask. Today it stops adding and starts assembling. The class becomes a studio: your pair, your repo, your bench, with the teacher circulating. One hour of theory first, because build weeks run on three skills nobody has formally named yet: joining pieces in the right order, finding faults in a system with eight places to hide, and keeping programs alive when nobody is watching them. D2 is due today: the walking skeleton, thin but end to end.

D2 due · the skeleton walks end to end Bring the full kit: both boards, your repo
The Week 12 path: the skeleton stands for D2, joining the pieces, debugging the whole, from script to service, studio time, and the hand-in 1Skeleton · D2 2Joining pieces 3Debugging 4Services 5Studio time 6Hand-in Week 13: Final exam · D3

What happens today

Theory · the first hour

Three skills, formally

Integration: why the thin end-to-end slice beats the perfect component, why pieces are joined one interface at a time, and how a stub lets you build without waiting for your partner. Debugging: half-splitting, the binary search that finds one broken segment among eight in three probes. Services: the systemd unit that keeps your bridge running after the SSH window closes, the same machinery that has run Mosquitto for you since Week 9.

Start with The skeleton stands →

Studio · the rest

Supervised build time

Pairs at their benches, repos open, the teacher circulating by request and by rounds. A ten-minute stand-up starts it, a mid-point checkpoint keeps it honest, and the last forty minutes are D2 demonstrations: each pair's skeleton crossing every interface, live. The studio page sets the rhythm and the hand-in evidence.

Jump to The studio & hand-in →

In the course outline

Deliverable D2 (5 %) is due today, in class, per the brief on Omnivox: the walking skeleton demonstrated end to end, with the analysis that explains it. One planning fact matters more than any grade this week: Week 13 is half-width. The final examination (15 %) and D3 (5 %) share Monday, November 30, so today's studio is also where you size next week's rung small, on purpose. The AE drop deadline has passed; everyone in the room is finishing.

The project's standing reference

From this week to the demo, one place holds the whole project: the brief decoded, all five milestones with their evaluation points, the pair method and repo layout, demo-day protocol, and the reference shelf of every manual the course has verified. Week pages tell you what happens on a Monday; the project hub is what you open every other day.

Open the LIA project hub →

Why a studio, and why now

A studio is not a lecture with free time at the end; it is a different allocation of the same three hours, chosen for where you are. In Weeks 1 to 11 the scarce resource was explanation, so theory led. From here the scarce resource is feedback latency: the time between hitting a wall and getting unstuck. At home that latency is measured in days; in the studio it is minutes, because the person who wrote eleven troubleshoot pages is standing behind you. The economics follow directly: a three-hour studio buys each pair several short, high-value interventions exactly when they are needed, which is worth more now than any new topic, because the remaining grade (D2 through D5, 35 % of the course) is earned by building, not by knowing one more thing.

The timing is not an accident either. The skeleton deadline forces every interface risk into the open this week, while help is cheap and the heavy milestones (D4 at 15 %, D5 at 10 %) are still two and three weeks away. Week 11's project page made the argument; today tests it on your bench.

What you will be able to do by the end of the week

  • Demonstrate a walking skeleton: one real value crossing every interface of your project, sensor to dashboard, however thin.
  • Plan integration as a sequence of interfaces, and stand in for a missing piece with mosquitto_pub or curl instead of waiting.
  • Localize a fault in the full chain by half-splitting, with the right observation tool at each probe point.
  • Write a systemd unit for your own program, enable it, and read its log with journalctl, so a demo survives a closed laptop and a reboot.
  • Run a pair stand-up and leave the studio with a ranked rung list that respects Week 13's half-width.

Words you will hear all day

TermMeaning on this bench
integrationJoining separately built pieces and making them work together; where projects actually fail
interface contractWhat two pieces agree on to talk: topic name, payload format, port, route; written down, not remembered
walking skeletonThe thinnest implementation that performs one small end-to-end function across every component (Cockburn)
rungOne feature step that leaves the system demonstrable; your project climbs rungs, never cliffs
stubA stand-in for a missing piece: mosquitto_pub as a fake node, curl as a fake browser
big-bang integrationBuilding everything apart, joining it all at once at the end; the classic way to lose a week
regressionSomething that worked, broken by a later change; why you re-verify old rungs after new ones
half-splittingProbing the middle of a signal chain to discard half the suspects per test; binary search on hardware
observabilityHow much a running system lets you see: logs, status topics, the firehose, journalctl
daemonA program that runs in the background, owned by the system rather than a terminal
unit fileThe small text file that tells systemd what to run, when, and what to do if it dies
stand-upA short, standing pair sync: done, next, blocked; ten minutes, start of every work session

Where this fits in the course

Week 11 · Nov 16

Flask & the project: the system gets a face

The dashboard went live and the LIA opened with D1; the skeleton due today was scoped there.

Week 12 · Nov 23 · this hub

Project studio

Integration, debugging and services in one hour of theory, then supervised build time; D2's skeleton walks.

Week 13 · Nov 30

Final examination & D3: one day, two proofs

The final exam (15 %) in the first half, and D3's rung, planned tiny but real, demonstrated the same day. Half-width by design: size this week's promises accordingly.

Working at home

From now on, home time is project time, and the Week 9 home setup carries all of it: broker on your Pi, node on your Wi-Fi, dashboard on any device in the house. Two habits make the between-class week count. First, never end a session without a commit and a push, even of a broken branch, because your partner's session starts where yours ended. Second, keep the skeleton walking: after every change, one end-to-end check (shade the sensor, watch the dashboard) before you move on. A regression caught the same evening costs minutes; the same regression found next Monday, in the half-width week, costs exactly what you do not have.