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.
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.
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.
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.
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_puborcurlinstead 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
| Term | Meaning on this bench |
|---|---|
| integration | Joining separately built pieces and making them work together; where projects actually fail |
| interface contract | What two pieces agree on to talk: topic name, payload format, port, route; written down, not remembered |
| walking skeleton | The thinnest implementation that performs one small end-to-end function across every component (Cockburn) |
| rung | One feature step that leaves the system demonstrable; your project climbs rungs, never cliffs |
| stub | A stand-in for a missing piece: mosquitto_pub as a fake node, curl as a fake browser |
| big-bang integration | Building everything apart, joining it all at once at the end; the classic way to lose a week |
| regression | Something that worked, broken by a later change; why you re-verify old rungs after new ones |
| half-splitting | Probing the middle of a signal chain to discard half the suspects per test; binary search on hardware |
| observability | How much a running system lets you see: logs, status topics, the firehose, journalctl |
| daemon | A program that runs in the background, owned by the system rather than a terminal |
| unit file | The small text file that tells systemd what to run, when, and what to do if it dies |
| stand-up | A 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.