Source: https://mokxi.com/learn/path/software-capstone
Updated: 2026-11-11

All paths

# Software capstone: your own project

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.

Raspberry Pi 4 Model B Free 7 lessons 8 h 4 chapters 3,720 XP Coding · Expert +400 XP

0 of 7 done

Start the course free Pick a problem Lesson plan for teachers

What you will build

## 3 projects, built step by step

7 lessons in 4 chapters, about 8 hours on a simulated Raspberry Pi 4 Model B. Free, in your browser, every step checked by the simulator.

Chapter 1 project

### Write the spec

Turn 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.
Open it in the simulator

Chapter 2 project

### Build in slices

Grow 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.
Open it in the simulator

Chapter 3 project

### Polish and docs

Make 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.
Open it in the simulator

The map

## Chapter by chapter

Each lesson opens when the one before it is done, and each chapter ends in a project.

Chapter 1

## Plan

Pick a problem worth solving and write a spec the program can check.

Open 350 XP

### Pick a problem

Start 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.

0 of 6 steps

Start What is in it

Project Locked 800 XP

### Write the spec

Turn 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.

0 of 7 steps

Chapter 2

## Build

Give every job a module, then grow the product one working slice at a time.

Locked 350 XP

### Architecture

Split 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.

0 of 6 steps

Project Locked 800 XP

### Build in slices

Grow 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.

0 of 7 steps

Chapter 3

## Prove

A test suite with fakes that finds bugs first, then polish a stranger can use.

Locked 400 XP

### Tests

A 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.

0 of 7 steps

Project Locked 700 XP

### Polish and docs

Make 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.

0 of 6 steps

Chapter 4

## Ship

A demo that cannot go wrong, a write-up, and a link to share.

Locked 320 XP

### Demo and write-up

Finish 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.

0 of 6 steps

Syllabus

## Every lesson in the course

All 7 lessons, in order, each with what it covers. Any of them opens in the editor right away.

Chapter 1

### Plan

- Pick a problem Start 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.
- Write the spec Turn 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.

Chapter 2

### Build

- Architecture Split 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.
- Build in slices Grow 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.

Chapter 3

### Prove

- Tests A 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.
- Polish and docs Make 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.

Chapter 4

### Ship

- Demo and write-up Finish 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.

Kits

## Build it on your bench too

Every lesson runs in the simulator with nothing to buy. When you want the real thing, these kits have the parts.

Have a kit already?

### Find your kit

Pick the starter kit you own and run every lesson in its manual with the same parts on the same pins.
See every kit

Questions

## About Software capstone: your own project

Is Software capstone: your own project free?

Yes. All 7 lessons of Software capstone: your own project are free and run in your browser, with nothing to install and no parts to buy before you start.

Do I need a real Raspberry Pi 4 Model B?

No. Every lesson runs on a simulated Raspberry Pi 4 Model B with its parts on the canvas, and the simulator checks each step as you go. When you want to build it for real, the same wiring and code work on a real board.

How long does Software capstone: your own project take?

About 8 hours: 7 lessons in 4 chapters, each one a few short steps. Your progress is kept, so you can stop after any lesson and pick up where you left off.

What will I build?

Each chapter ends in a project that puts it together: Write the spec, Build in slices and Polish and docs.

Where do I start?

With "Pick a problem", and each lesson builds on the one before it. New to circuits? Electronics basics is the course that starts from zero.
