Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Session 16: Milestone project work day 2 + demo day

Phase 3 — Python basics · Session 16 of 16

What we’re learning today

Today is the last session of Phase 3. You’ll spend the first half finishing and polishing your project — fixing bugs, adding the last features, making sure it runs. Then in the second half, you’ll demo your project to the class. By the end, you’ll have shipped your second milestone project (the first was Phase 1’s Scratch game) and you’ll be ready for Phase 4.

You’ll need to remember from last time

  • Your project plan from last week.
  • Whatever you got working — the foundation we’ll finish on today.
  • Your buddy — they’ll help you test your program one last time before demos.

Part A: Final polish

You have about 30-40 minutes to finish your project. Be honest about what’s left.

What “finished” means

A finished milestone project is:

  1. It runs without crashing when you use it normally.
  2. It does what your plan said it would do — at least the simplest version (your answer to question 4 from last week).
  3. You can explain how it works. If someone asks “how does the score get tracked?” or “where does it save the journal?” you can walk them through it.

If your project doesn’t meet all three, focus on getting it there before adding anything new. A working basic project beats a broken ambitious one.

Add a final layer of polish

If your basic project works, spend the remaining time on polish — small things that make it nicer to use:

  • Friendly error messages. Wrap risky input in try/except (Session 13). Tell the user what went wrong, don’t crash.
  • Clear prompts. “Enter score: “ is clearer than “>”. A quick sentence of context at the start helps the user understand.
  • Output formatting. Use f-strings with formatting specifiers (:.2f for 2 decimal places, etc.). Add blank lines between sections (print() with no args).
  • Comments in your code explaining the trickier bits. Future-you will thank you.
  • A title banner at startup so the program announces itself.

These small touches make a program feel finished instead of just barely working.

Buddy test

About 15 minutes in, swap with your buddy. They use your program for two minutes; you use theirs. Notice:

  • Did it work without help?
  • Did anything crash or do something unexpected?
  • Could they tell what to do without instructions?

Tell each other one thing you noticed. This is the most useful feedback you’ll get.

Checkpoint: Your project runs the basic version of what you planned, and you’ve had at least one buddy try it. This is the natural stop point if class is cut short — but today, we keep going to the demo half.


Part B: Demo day

This is the fun part. Each of you will get 3-5 minutes to demo your program to the class.

How a demo works

When it’s your turn:

  1. Show your program. Run it. Use it for a minute or two. Let the class see what it does.
  2. Tell us about it. What’s it called? What’s it for? What does it do?
  3. Tell us one thing that was hard. Honest, not bragging. “Getting the file to save correctly was tricky.” “I couldn’t figure out why my loop was running twice.” Bug stories are the best stories.
  4. Take one question. Someone in the room asks something specific. Answer as best you can.

How to be a good audience

When it’s not your turn:

  • Watch carefully. Pay attention to what other people built.
  • Be ready to ask one question. Specific is better. “How did you make the trivia questions load from the file?” beats “That was cool, how’d you make it?”
  • Be encouraging. Mr. Eric will say something specific about each project at the end; you can do the same as a buddy comment.

After everyone demos

Mr. Eric will say a few things about each of you and what he saw across the projects. Then we’re done — Phase 3 is over.

What you accomplished

  • You shipped your second milestone project. Most adults haven’t shipped two creative projects ever. You’re at two.
  • You handled real Python concepts: data structures, control flow, file I/O, error handling. That’s enough to write small programs that actually do things in the real world.
  • You finished Phase 3. Sixteen sessions. Roughly 30 hours of class. The foundational programming skills are in place.

What’s next: Phase 4 — Intermediate Python, the CLI, and Git

Phase 4 is the next 8-10 sessions. What’s coming:

  • Intermediate Python: working with multiple files, modules, slightly more advanced patterns. Your programs get bigger — more than one file each.
  • The command line (CLI): until now, you’ve run Python through Thonny’s green button. The command line is how professionals run programs. You’ll learn cd, ls, and python myscript.py — the moves you’ll use forever.
  • Git: the most important tool for tracking your code. Lets you save versions of your work, undo mistakes, and (eventually) share with the world. We’ll start local, then go to GitHub in Phase 6.

After Phase 4, you’ll have everything you need to build real projects with multi-file structure, version control, and command-line workflow. The toolkit gets professional.

Bring your machine and your brain. See you in Phase 4.

If you missed this session

Two cases:

If you missed only the demo half: Show your project to Mr. Eric at the start of next week’s class. Same kind of feedback you’d have gotten in the demo.

If you missed the whole session and don’t have a finished project: No big deal. Finish your project at home using your Session 15 plan, and bring it next week. Or: just join us in Phase 4 — what you’ve already built is plenty to be proud of.

Stretch and extension ideas

If you have time after the demos and want to keep going:

  • Polish your project more. Add more features, save state to a file, handle more edge cases.
  • Build a second project of a different style. With everything you know now, the second one is faster than the first.
  • Show your program to your family. They will be impressed. This is a fact.
  • Save your project files. You’ll want them later. By the end of Phase 8, you’ll be amazed how far you came.

What’s next

Phase 4 — Intermediate Python, the command line, and Git. Real-world programmer tools. See you there.