CompSciIQ // Lesson 01 // Diagnostic ● ready
AP Computer Science A · Lesson 01

The Exam, Decompiled

AP CS A is not just a Java test. It’s a scoring game played through Java. If you already know how to code, good — now we train the exam-specific instincts that turn code knowledge into points.

You already code; we teach you to score.

This first lesson does three things: shows you the real exam (not the myth), runs a 10-question diagnostic that names the trap behind every miss, and ends with a score report that tells you exactly what to study first. Bring your own brain; we’ll bring the test runner.

§01 The Real Exam, Not the Myth

remember · understand

The exam is not asking, “Can you build an app?” It’s asking, “Can you read AP-shaped Java under time pressure, avoid predictable traps, and write rubric-shaped code?” Here’s the machine you’re actually up against.

Section I — Multiple Choice
42 questions
90 minutes · 55% of exam score
Discrete and set-based questions
Section II — Free Response
4 questions
90 minutes · 45% of exam score
25 points total · 3 hours overall
FRQ Q1
/7
Methods & Control Structures
FRQ Q2
/7
Class Design
FRQ Q3
/5
Data Analysis (ArrayList)
FRQ Q4
/6
2D Array
Digital reality — this is a Bluebook exam
Bluebook interface. You take it in College Board’s digital app, not on paper. Get comfortable navigating it before May.
On-screen Java Quick Reference. Method signatures you’re allowed to look up are right there. Memorize behavior, not spelling.
You type the code. FRQ answers are typed into the interface. No autocomplete, no compiler, no red squiggles to save you.
Self-managed clock. 90 / 90. Roughly 2 min per MC, ~22 min per FRQ. Time discipline is a scored skill in disguise.

§02 The Four Units and the Scoring Game

understand · evaluate

Four units. The official weighting tells you where the points live — and where to spend your study hours. Notice Unit 4 alone can be 30–40% of the MC section. The naive move is to study what feels hard; the scoring move is to study what’s heavily weighted and shaky.

UnitWhat it looks likeWhat the exam actually rewardsWeight
U1 · Using Objects & Methods “Just calling methods on objects.” Tracking what a method returns vs. what it prints, and when an object is actually null. 15–25%
U2 · Selection & Iteration “if statements and loops.” Predicting exact control flow under pressure without stepping on boundary mistakes. 25–35%
U3 · Class Creation “Writing constructors and getters.” Encapsulation that survives a rubric: correct signatures, state that isn’t accidentally destroyed. 10–18%
U4 · Data Collections “Arrays and ArrayLists.” Traversal without skipping or over-running elements — 1D, 2D, and ArrayList removal all hide here. 30–40%
A quiet truth: the deadliest MC misses aren’t knowledge gaps. They’re trap gaps — a boundary off by one, a value vs. a reference, a method that returns nothing. The diagnostic below is built to surface yours by name.

§03 Diagnostic — 10 Questions

apply · analyze

Ten code-trace questions across all four units. Pick an answer and the test runner reacts: PASS / FAIL, plus the named trap behind the most tempting wrong answer. Answer all ten to unlock your score report. These are logic traps — later, in Lesson 4, we’ll separate logic traps from the official FRQ scoring penalties (they are not the same list).

§04 Mini-FRQ — Methods & Control Structures

create · evaluate

This is Q1-style practice (not an official College Board rubric). Write the full method, then reveal the reference solution and self-score against the 7-point rubric. Be honest — the rubric is where you learn what graders actually look for.

Prompt.javajava · read-only
123456
/** * Returns the number of values in nums that are strictly greater than threshold. * For example, countGreaterThan(new int[] {4, 9, 9, 2}, 5) returns 2. */ public static int countGreaterThan(int[] nums, int threshold) { // your code below }
Solution.javayour answer
Reference.javajava
123456789
public static int countGreaterThan(int[] nums, int threshold) { int count = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] > threshold) { count++; } } return count; }
stdout — sample runs
$ INPUT: nums = {4, 9, 9, 2}, threshold = 5 OUTPUT: 2 $ INPUT: nums = {1, 2, 3}, threshold = 3 OUTPUT: 0
Self-score rubric — 7 points (Q1-style, simplified for L1)
Mini-FRQ self-score0 / 7
Full official penalty taxonomy — the specific point deductions graders apply — comes later in Lesson 4. For now, focus on whether the logic is correct and the traversal is clean.

§05 Score Report & Trap Ledger

analyze · evaluate

Answer all 10 diagnostic questions, then run the report. It reads like a test runner, not a worksheet: a trap ledger for every miss and a single recommended next move.

Diagnostic Summary
0/10
Multiple Choice
0/7
Mini-FRQ
0/17
Total

Unit Breakdown (MC only)

Trap Ledger

Recommended Next Move

CompSciIQ · AP Computer Science A Lesson 01 — Exam Anatomy + Diagnostic