Software capstone: your own project lesson plan
The end of the Coding track: design and ship a project of your own on a Raspberry Pi, milestone by milestone, from the problem and the spec through modules, slices, tests and polish to a demo you can share.
Objectives and materials
By the end, students can
- Pick a problem worth solving and write a spec the program can check.
- Give every job a module, then grow the product one working slice at a time.
- A test suite with fakes that finds bugs first, then polish a stranger can use.
- A demo that cannot go wrong, a write-up, and a link to share.
Materials for the whole unit
- Eight-channel ADC, MCP3008
- Half breadboard
- LED
- Potentiometer
- Raspberry Pi 5
- Resistor
Every part is already on the simulator’s bench, so there is nothing to buy or hand out. The counts are the most any one lesson uses, if you build it on real breadboards too.
Plan
Pick a problem worth solving and write a spec the program can check.
| Lesson | Time | What students do |
|---|---|---|
| Pick a problemStart the capstone: what makes a problem worth a portfolio project, evidence that a sensor can see it, the smallest program that helps, the edge case that would fool it, and a one-sentence problem statement for your own project. | 65 min |
|
| Write the specTurn the problem into a written spec with user stories and an out-of-scope list, then into acceptance checks the program prints: a boundary bug the spec catches, a spec change made test first, and the spec run against the hardware. | 75 min |
|
Materials
- Eight-channel ADC, MCP3008
- Half breadboard
- LED
- Potentiometer
- Raspberry Pi 5
- Resistor
Check for understanding
Each student finishes "Write the spec" on their own, without opening the hints. The simulator checks 7 of its 7 steps as they go.
Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Your version: write your spec".
Build
Give every job a module, then grow the product one working slice at a time.
| Lesson | Time | What students do |
|---|---|---|
| ArchitectureSplit the working script by job: pure care rules, a sensor adapter behind a read() interface with a fake for tests, JSON storage, and a report layer, so each part can change, or be tested, without touching the others. | 65 min |
|
| Build in slicesGrow Sprout one vertical slice at a time, each a command that goes from typed text through every layer to a result: status, water, history and a setting, with bad input answered instead of crashing. | 75 min |
|
Materials
- Eight-channel ADC, MCP3008
- Half breadboard
- LED
- Potentiometer
- Raspberry Pi 5
- Resistor
Check for understanding
Each student finishes "Build in slices" on their own, without opening the hints. The simulator checks 7 of its 7 steps as they go.
Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Your version: plan your slices".
Prove
A test suite with fakes that finds bugs first, then polish a stranger can use.
| Lesson | Time | What students do |
|---|---|---|
| TestsA test suite of plain asserts with a tiny runner that counts: boundary tests from the spec, the command handler tested through a fake probe and a fake lamp, a test that finds a real bug before you fix it, and a gate that will not start the app until every test passes. | 75 min |
|
| Polish and docsMake Sprout feel finished: a version string and --help from argparse, options that change behavior, logging with levels, errors that are logged instead of crashing, help text that documents itself, and a README and docstrings for the next reader. | 65 min |
|
Materials
- Eight-channel ADC, MCP3008
- Half breadboard
- LED
- Potentiometer
- Raspberry Pi 5
- Resistor
Check for understanding
Each student finishes "Polish and docs" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.
Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Your version: polish and a README".
Ship
A demo that cannot go wrong, a write-up, and a link to share.
| Lesson | Time | What students do |
|---|---|---|
| Demo and write-upFinish the capstone: a scripted --demo mode that runs every command, a live moment with the lamp, the spec's acceptance checks run against the finished code, a one-line share card, then your README, a 60 second demo script and the Mokxi project link. | 65 min |
|
Materials
- Eight-channel ADC, MCP3008
- Half breadboard
- LED
- Potentiometer
- Raspberry Pi 5
- Resistor
Check for understanding
Each student finishes "Demo and write-up" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.
Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Your version: demo it and share it".
Teach this unit as a class
Start a class from this course and its 7 lessons are assigned in one go, in order. Students join with a six-character code or printed login cards, and each one’s work comes back to you.
The class tools are free for 30 days for one class of up to 20 students, with no card. The lessons themselves are free either way.