Week 31 — Capstone build 1¶
At a glance
| Date | Friday, April 30, 2027 |
| Unit | 4 — Ship It |
| Big idea | Building starts with the smallest working version, not the fanciest final version. |
| Goal | Every team creates a working first version of the capstone: a page with content, a game loop, or a Python program that runs. |
| Student accounts needed | None required. |
| Prep time | 5 minutes |
Why this lesson looks the way it does¶
Last Friday students pitched. Today they build. The danger is that students will spend 30 minutes choosing colors, sprites, or names and never create the core. Your job is to keep saying: make the smallest version work first.
For mixed ages, the shared checkpoint matters more than a shared platform. By 0:36, every project should be demonstrable in some rough form. Rough is fine. Invisible is not.
CSTA 2026 standards¶
| Concept area | Connection |
|---|---|
| Algorithms & Design | Convert a pitch into a first build plan and prioritize must-have features |
| Programming | Implement and test an initial version in HTML/CSS, MakeCode, or Python |
| Data & Analysis | Use variables, lists, scores, page content, or user inputs as needed by the project |
| Systems & Security | Keep project files organized for later publication on the class site |
| Computing & Society | Build for an audience and check that content remains appropriate for public sharing |
"I can…" objectives¶
By the end of today, students can say:
- I can turn my pitch into a first working version.
- I can test the most important part before adding extras.
- I can explain what is working and what is still missing.
- I can keep my project files organized for sharing.
Teacher prep — the 5-minute version¶
- Have approved pitches available.
- Put the build order on the board:
Core first → Test → Save → Then decorate
- Open the three platform links you expect to support:
- https://arcade.makecode.com
- your chosen browser HTML editor
- your chosen browser Python editor
- Prepare a simple progress board with columns:
Not started,Core working,Needs help,Saved.
Minute-by-minute run sheet¶
0:00–0:04 — Anchor¶
Say:
"Last Friday you pitched the project. Today the pitch has to become something we can run, click, or read.
Your goal is not 'finish everything.' Your goal is 'make the core work.'"
Ask each team to point to the sentence on their pitch that defines "done."
0:04–0:10 — Mini-lesson: core first¶
Model three first builds:
| Platform | Core first version |
|---|---|
| Website | Title, one section, three useful facts, linked CSS |
| MakeCode | Player moves, one collectible or enemy, score changes |
| Python | Program runs, asks one question or makes one random choice |
Say:
"If the core does not work, decorations are hiding the problem. We are not hiding problems. We are finding them early."
0:10–0:36 — Long build block: first working version¶
Students build. Circulate with a clipboard or progress board.
Use these intervention questions:
"Show me the smallest thing that works."
"What can we test in the next three minutes?"
"What feature are you tempted to add that should wait?"
"Where is this saved? If the Chromebook restarts, do you still have it?"
At 0:25, call a two-minute save stop.
Website students should have files like:
A minimal website core:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Beginner Bird Guide</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main>
<h1>Beginner Bird Guide</h1>
<p>This guide helps new bird watchers notice three common backyard birds.</p>
<h2>Start with these</h2>
<ul>
<li>Robins often hop on lawns looking for worms.</li>
<li>Cardinals are bright red or warm brown with a crest.</li>
<li>Blue jays are loud, smart, and easy to spot.</li>
</ul>
</main>
</body>
</html>
body {
font-family: Arial, sans-serif;
margin: 40px;
background: #eef6ff;
}
main {
background: white;
padding: 18px;
border-radius: 12px;
}
Python students can start from:
print("Welcome to the snack recommender!")
answer = input("Do you want sweet or salty? ")
if answer.lower() == "sweet":
print("Try fruit and yogurt.")
else:
print("Try pretzels and cheese.")
0:36–0:42 — Share-out: rough demos¶
Pick three rough demos, one from each platform if possible.
"A rough demo is not an apology. It is evidence. Evidence tells us what to do next."
Ask each team:
- What works?
- What is the next must-have?
- What will you not touch until the core is done?
0:42–0:45 — Teaser + prompt¶
"Next Friday is Build Week 2. That is the week for finishing must-haves. If it is not a must-have, it waits."
Tiered challenges¶
🟢 Starter — grades 5–6¶
Pick the starter that matches your project.
Website starter: use the bird guide code above and replace the topic.
MakeCode starter goal:
1. Add a player sprite.
2. Make it move with controller.
3. Add one food sprite.
4. When player overlaps food, add 1 to score.
Python starter: use the snack recommender code and change the question/results.
🟡 Builder — grades 7–8¶
Add one must-have feature only:
- Website: second section with a useful list
- MakeCode: one enemy or timer
- Python: three branches instead of two
Then test with a partner who did not build it.
🔴 Extender — grades 9–10¶
Create a test checklist:
Run it twice and record one bug you fixed. Then help another team test without taking their keyboard.
Share-out prompt¶
"What is the smallest working part of your capstone right now?"
🤔 Think About This¶
Notice a time this week when something simple works better than something complicated. Why was simple better?
🔌 Unplugged Plan B — if the internet is down¶
This becomes a build-planning and test-design day.
| Time | Activity |
|---|---|
| 0:00–0:04 | Anchor: pitch becomes build plan |
| 0:04–0:10 | Mini-lesson: core first examples for website/game/Python |
| 0:10–0:25 | Teams draw screens or write pseudocode for the smallest working version |
| 0:25–0:34 | Teams create a test checklist for their core feature |
| 0:34–0:42 | Paper demos: teams walk another team through how the project should work |
| 0:42–0:45 | Teaser: next online time starts with building the tested core |
Collect plans and return them next week.
Common problems & fixes¶
| Problem | Fix |
|---|---|
| Team spends all time on colors or sprites | Ask them to demo the core. If they cannot, decorations stop until core works. |
| Student forgot approved pitch | Hand back the pitch or require a two-sentence rewrite before building. |
| MakeCode project not saved | Use MakeCode's download/share options according to school policy; also record the project name. |
| Python syntax errors discourage younger student | Read the error out loud and fix one thing. Celebrate the program getting farther. |
| Website student breaks CSS link | Check exact file names and folder location. |
| Team member is idle | Assign roles: driver, navigator, tester/documenter. Rotate after ten minutes. |
Vocabulary¶
- Core feature — the most important thing the project must do
- Prototype — an early working version used for testing
- Test — trying a project to see whether it behaves as expected
- Bug — a mistake that causes unexpected behavior
- Save point — a moment when work is stored so it can survive mistakes or restarts
Reflection — fill in after class¶
- Which projects have a working core?
- Which teams are still too broad?
- Who needs a platform-specific starter next week?
- Did saving work reliably?
Next week: Week 32 — Capstone build 2