You take the Unit 3 test in class today. This page is everything you can do before it — what’s on it, how to revise, and practice that isn’t on the real test. There are no test questions here.
No new reading. Everything on the test comes from 3.1–3.19. The fastest revision is the 3.19 gym, not re-reading.
A checkpoint on the biggest unit of the year. Nothing here is new. After the test, Week 5 is the Create PT dress rehearsal — where all of this becomes a program that is yours.
Where the points are — study to this map:
| What it tests | From | Roughly |
|---|---|---|
| Loop traces (while, for, how many times) | 3.1, 3.3 | 3 Q |
| while ↔ REPEAT UNTIL negation | 3.2 | 2 Q |
| Accumulator traces (sum / count / max) | 3.4, 3.9 | 3–4 Q |
| List indexing & the 0-vs-1 flip | 3.6 | 2–3 Q |
| Traversal (FOR EACH) — "what does it compute?" | 3.8 | 2 Q |
| Procedures: parameter/argument, what it returns | 3.11–3.12 | 2 Q |
| return vs display | 3.13 | 2 Q |
| Random range & libraries | 3.16–3.17 | 1–2 Q |
Retrieval beats re-reading. Produce the answer before you check. Fastest order:
1. Say the unit in a breath (2 min). “Loops repeat, lists hold many, procedures package and reuse.” Expand each.
2. Run the five traps (5 min). Below.
3. Drill traces cold (5 min). The 3.19 gym, especially the robot and REPEAT UNTIL items.
4. Take the practice set (8 min). Section 4 — fresh questions, none on the real test.
Every one has cost real students points. Thirty seconds each:
| Don’t confuse | The one-line difference |
|---|---|
| while vs REPEAT UNTIL | while loops while TRUE; REPEAT UNTIL loops until true (while FALSE) — opposite conditions. |
| index 0 vs index 1 | Python’s first element is [0]; AP’s is [1]. Count from the notation’s start. |
| return vs display | return hands a value back to the program; DISPLAY only shows it on screen. |
| max init 0 vs init list[0] | Starting max/min at 0 breaks on all-negative data; start at the first element. |
| range end vs RANDOM end | range stops BEFORE its end; RANDOM includes both ends. |
Want the interactive version? Lesson 3.19 has the robot stepper and the full gym.
Six mixed questions in AP format, most in pseudocode. None is on the real test — they’re for calibration. Pick an answer for instant feedback.
Prompt. Explain how this procedure works and what its purpose is. Name its parameter, what it does to the list, and what it returns.
PROCEDURE mystery(nums)
{
best ← nums[1]
FOR EACH x IN nums
{
IF (x > best) { best ← x }
}
RETURN (best)
}
Write three or four sentences before opening the checklist.
□ Names the purpose. It finds and returns the largest value in the list.
□ Names the parameter. It takes a list, nums, as its parameter.
□ Describes the mechanism. It starts best at the first element, then uses iteration to check each value and selection to keep any larger one.
□ Notes the return. After the loop it returns best — the maximum. (Starting at nums[1], the first element, is what makes it correct even for all-negative lists.)
Describe purpose and mechanism, not a line-by-line reading. “It returns the largest element by keeping a running maximum” beats “line 3 sets best, line 4 loops…” Naming the parameter, the iteration, the selection, and the return is exactly the Create PT written response.