A 10-week introduction to Python for upper primary students.
Shape: 7 stateless learning worksheets that build core Python concepts, followed by a 2–3 week project deliverable students iterate on, save to a file, and take home or use for grading.
Why this shape: worksheets give every student a guaranteed floor (validated, scaffolded, easy/medium/hard tiers); the project gives them a ceiling (something open-ended they own and can show off). The save-to-file flow shipped in the scratchpad is the bridge — students take their work between sessions and home.
| Week | Focus | Concepts | Status |
|---|---|---|---|
| 1 | WS1 — The Python Calculator | print, arithmetic | ready |
| 2 | WS2 — Storing Your Numbers | variables, assignment | ready |
| 3 | WS3 — Making Things Repeat | for loops, range | ready |
| 4 | WS4 — Making Decisions | if / elif / else, comparisons | ready |
| 5 | WS5 — Working with Text | strings, f-strings, input | ready |
| 6 | WS6 — Lists & Indexing | lists, indexing, len, iteration | ready |
| 7 | WS7 — Functions (new) | def, parameters, return, reuse | to build |
| — Project phase — pick one deliverable, iterate across the final lessons — | |||
| 8 | Project: kick-off & first draft | pick a brief, scaffold from a starter, save to file | to design |
| 9 | Project: iterate & extend | add features, refine, debug, re-save | to design |
| 10 | Project: finish, share, present | final save, take home, show classmates | to design |
Each option is sized for ~3 lessons of a self-paced upper-primary student, leans on concepts from WS1–WS7, fits in a single .py file students save and re-open in the scratchpad, and is something a kid can actually show a parent. Running multiple briefs in parallel lets teachers pitch the one that suits their class — and gives extension/lunchtime-club students a second project to tackle.
def, parameters, return values, and reuse. Motivate it with a "DRY my code" hook (e.g. repeated print blocks, repeated drawing code if Pixel Art is in play).
worksheets/index.json. Salvage its problems — the canvas API intro, grid coordinates, looped row/column drawing — into starter material for the Pixel-Art project brief, where they motivate the work instead of being homework.
.py file, and opens it in the scratchpad. Decide: dedicated "type": "project" worksheet block vs. just curated scratchpad starters.
FileSystemFileHandle in IndexedDB (noted in ROADMAP Phase 4).
print() args mini-section flagged in ROADMAP — small but used by WS6 and likely by every project brief.