Chapter 16 · Reps

Final Review — Reps

← Back to Chapter 16

Chapter 16 — Sample Final Reference

This file is not a set of weekly reps. Coding 2’s reps are over.

What you have here is the reference for a sample final — a fully worked example of Project 14, in the shape and scope that the real final will take. Read it. Compare it to your own Capstone Drill 5 runs from Chapter 15. The sample final is meant to be the baseline expectation, not the target — the real final’s grader is grading you against this same shape.

The reference solution itself lives alongside this file. Below is the prompt, the rubric mapping, and the walkthrough. Download the reference solution’s files and read them after your own timed run:


Ground rules

  1. Read the sample-final prompt below. Don’t peek at the reference solution yet.
  2. Open a blank Java project. Set a 60-minute timer.
  3. Build it. Spec, tests, code, persistence, prompts log, reflection.
  4. Stop at 60 minutes. Then open the reference solution and compare.

If you can ship the sample-final scope in 60 minutes with the required deliverables, you are ready for the real final. If you can’t — figure out which deliverable cost you the time, and drill that.


Sample Final Prompt

Build a Daily Verse Rotator.

The application reads a CSV file of reference,text rows (e.g., Psalm 23:1,The LORD is my shepherd; I shall not want.). Each time the program is run, it selects one verse to display. No verse should repeat within a “cycle”; when all verses have been shown, the cycle resets.

State must persist across runs in a text file.

Required deliverables:

  1. spec.txt — a complete specification.
  2. DailyVerseRotatorTest.java — at least 6 JUnit 5 tests, written before the production code.
  3. DailyVerseRotator.java (and any supporting classes) — the implementation.
  4. architecture.docx — a brief module-architecture doc (classes, responsibilities, data flow).
  5. prompts.txt — the prompt log. At least 2 methods must be AI-built. All prompts logged.
  6. reflection.docx — honest reflection on what the AI did, what you redirected, what you wrote by hand.
  7. The program must run end-to-end on a sample CSV without crashing.

Constraints:

  • Java 17.
  • Standard library only — java.util, java.io, java.nio.file, java.time are all fair game; no third-party dependencies (JUnit 5 is the only test library).
  • Persistence file format is your choice, but must be documented in spec.txt.
  • Exception handling at every I/O boundary.

Time: 60 minutes.


How the rubric maps to the deliverables

DeliverableWhat it provesRubric weight
spec.txtP2 skill: you wrote the contract15
DailyVerseRotatorTest.javaP4 skill: 6+ JUnit tests written first20
DailyVerseRotator.javaThe system runs and is correct25
architecture.docxP12 skill: module boundaries documented10
prompts.txtP9/P10/P13 skill: AI partnership logged15
reflection.docxP14 honesty work: claim what’s yours10
Exception handling, persistenceP3, P6 skills firing in the implementation5

That’s 100 points. The reference solution scores ~95 on this rubric.


Walkthrough of the reference solution

The reference solution (the DailyVerseRotator.java files you downloaded above) follows the order from Chapter 15 §15.3:

  1. Spec, 3 minutes. Inputs, outputs, invariants, public API. spec.txt is one short page.
  2. Architecture, 3 minutes. Three classes: Verse (data), VerseLoader (I/O), DailyVerseRotator (state machine). architecture.docx is half a page.
  3. Tests, 10 minutes. Six JUnit tests covering: returns a verse, no repeat within cycle, cycle resets, versesRemaining decrements, resetCycle works, state persists.
  4. Implementation, 25 minutes, AI on. Six prompts total, all scoped to one method each. Two redirects (one for a hallucinated Files.readLines call, one for a missing edge case in next()).
  5. Integration check, 3 minutes. Run the full test suite. Run the program against the sample CSV. Confirm round-trip.
  6. Architecture doc final pass, 2 minutes. Update if anything changed during implementation.
  7. Reflection, 3 minutes. What the AI got right, what was redirected, what was hand-typed.

Total: 49 minutes. Buffer of 11 minutes for things going sideways.

The reference solution’s prompts.txt is 8 prompts long. The reference solution’s reflection.docx is 220 words. Both are deliberately tight.

Read the reference solution. Then attempt your own. Then compare.


What to notice when comparing

If your version is markedly longer than the reference, ask why. Did you over-engineer the architecture? Did you write tests that go beyond the spec? Did you accept AI rewrites that bloated the code?

If your version is markedly shorter, also ask why. Did you skip a deliverable? Did you under-test? Is the implementation missing an edge case the spec required?

If your version is roughly the same length but took longer, the bottleneck is somewhere in your workflow. Most often: spec or tests. Drill the bottleneck.


Final note

The real final’s prompt will not be “Daily Verse Rotator” — it will be a different scope from the same approved list. The shape is the same; the content differs.

If you can ship this sample final in 60 minutes, you can ship the real final in 60 minutes. The variation is small.

Show up rested.


Up next: Project 14 — the capstone, the last project of Coding 2.