What you'll build
Before you write a single line of capstone code, write the plan on one page. Problem, user, inputs, outputs, files, functions.
Requirements
The must-do parts. If any are missing, we'll ask you to take another pass.
- Pick one capstone option (or your own approved idea) and state the problem in one sentence.
- Describe the user in one sentence — who is this for, what do they need to get done?
- List the inputs your program will ask for, and the outputs it will produce.
- List the files you'll create (e.g.
main.py,data.py,report.md) and one line on what each does. - List four to seven function names with a one-line description of each.
Bonus, if you're feeling brave
- Sketch the data flow on paper, take a photo, and embed it in the markdown.
- List one thing you'll *not* build, so the scope stays small.
Where to start
Copy this scaffold into a new file. You don't have to use it — it's just a friendly nudge.
plan.md
# Capstone plan
## Problem
One sentence. What does this program do?
## User
One sentence. Who is this for?
## Inputs
- input one
- input two
- ...
## Outputs
- output one
- output two
- ...
## Files
- `main.py` — entry point, runs the program
- `data.py` — loads and saves the data
- `report.md` — written summary
## Functions
- `load_data()` — reads the CSV and returns a DataFrame
- `filter_by_country(df, country)` — returns rows for one country
- `summarize(df)` — prints the headline numbers
- ...How we'll grade it
Four checks, four points. Three or above is passing — we'll ask you to revise anything we can't tick.
| Check | What we look for | Pt |
|---|---|---|
| Problem is clear | Someone outside the cohort could read it and understand the goal. | 1 |
| User is named | There is a real person (or kind of person) this is for. | 1 |
| Files and functions | The structure is broken into named pieces, not one blob. | 1 |
| Honest scope | The plan looks like something you could finish in a week. | 1 |