AP CSA MCQ Bootcamp 2026
AP CSA MCQ Bootcamp 2026
42-Question Walkthrough • Full Recording + Study Materials
AP CSA Exam: May 7, 2026
What's Included
Sample Questions from the Bootcamp
These are the types of questions your students face on May 7. The bootcamp walks through all 42 at this level of depth. Try to predict the answer before reading the choices.
Sample Question — Unit 2 | Error Spottingval is a multiple of both 3 and 5, and false otherwise. For which of the following values of val does the method NOT work as intended?
public static boolean check(int val)
{
if (val % 3 == 0)
{
return true;
}
if (val % 5 == 0)
{
return true;
}
return false;
}
30
(B) 7
(C) 9 ✓ Correct
(D) 15
if-return blocks create OR logic, not AND. For val = 9: 9 % 3 == 0 is true, so the method returns true — but 9 is not a multiple of 5. The method needs a single condition: val % 3 == 0 && val % 5 == 0.Tracker object is created and record is called several times. getAverage is then called. Which of the following best explains why the method does NOT return the expected average?
public class Tracker
{
private int count;
private double total;
public Tracker()
{
count = 0;
total = 0.0;
}
public void record(double val)
{
double total = this.total + val;
count++;
}
public double getAverage()
{
return total / count;
}
}
record method should return a double instead of void.
(B) In record, a local variable total shadows the instance variable, so the instance variable is never updated. ✓ Correct
(C) The getAverage method should cast total to int before dividing.
(D) The constructor should initialize total to 1.0 to avoid division by zero.
double total = this.total + val; declares a new local variable named total that shadows the instance variable. The local variable disappears when the method returns — this.total is never changed. The fix: this.total += val;
arr after the code executes?
int[] arr = {1, 2, 3, 4, 5};
for (int val : arr)
{
val = 0;
}
NullPointerException is thrown.
true if all elements in the ArrayList are positive. Which of the following best explains why the method does NOT work as intended?
public static boolean allPositive(ArrayList list)
{
for (Integer val : list)
{
if (val > 0)
{
return true;
}
else
{
return false;
}
}
return true;
}
while loop instead of a for-each loop.
(B) The condition should be val >= 0 instead of val > 0.
(C) Both branches contain a return statement, so the method exits after checking only the first element.
(D) The method does not handle an empty list correctly.
How to Approach AP CSA Multiple Choice in 2026
The AP Computer Science A multiple-choice section is 42 questions in 90 minutes — just over two minutes per question. For most students, time is not the problem. The problem is precision: choosing the answer that is exactly right rather than the answer that seems right at a glance. Understanding how each unit is tested — and where the traps are buried — is the difference between a 3 and a 5.
The 2025-2026 exam reflects a significantly restructured curriculum. Inheritance, polymorphism, and extends have been removed entirely. File I/O with Scanner is now tested. Recursion appears only as a tracing problem — you will never be asked to write a recursive method. If you have been studying from an old textbook or outdated prep materials, stop and realign to the 4-unit structure before you do another practice question.
The Single Most Important MCQ Strategy
Before you read the answer choices, predict the answer yourself. Read the code, trace the logic, and form a concrete answer — a specific value, a specific output, a specific line number. Then look at the choices. If your prediction matches one of them, pick it with confidence and move on. This approach prevents the most common MCQ failure mode: reading a convincing wrong answer before you have formed your own judgment and letting it anchor your thinking.
On questions asking what is printed, write down each variable's value at every step. On questions asking which code contains an error, scan for the six most common error patterns before reading the options. On I and II and III questions, evaluate each statement independently and cross off any answer choice the moment one of its statements is false. These are not tricks — they are discipline, and discipline at the keyboard is exactly what exam day requires.
Unit 1: Using Objects and Methods (15–25% of the Exam)
Unit 1 questions appear straightforward but contain some of the exam's most reliable point-stealers. The examiners know that students are overconfident on this material and design the distractors accordingly.
String methods are the most heavily tested Unit 1 topic. Every year multiple questions hinge on the fact that substring(from, to) excludes the character at the to index. Students who have not internalized this write substring(3, 6) expecting four characters and get three. Similarly, indexOf() returns -1 when the search string is not found — not zero, not the last valid index. Questions regularly exploit the assumption that a method always returns a valid result.
String immutability catches students who know the rule but forget to apply it. If a question shows s.toUpperCase(); on its own line, the answer is that s is unchanged. The fix is always to assign the return value: s = s.toUpperCase();. This appears more often as a distractor than as the main point of the question — which means identifying it quickly is worth more than studying it in isolation.
Integer division and casting order are tested every single exam. The rule is simple: when both operands are int, Java performs integer division. The cast must appear on an operand before division, not around the result of it. (double)(7 / 2) is 3.0, not 3.5. String concatenation with the + operator evaluates left to right, so "val: " + 3 + 4 produces "val: 34", not "val: 7".
Pass by value is the Unit 1 concept with the highest rate of wrong answers. Primitive parameters are always copies. Reassigning a parameter inside a method does not change the original variable. Questions test this by showing a method that appears to modify an int parameter and asking what the calling code's variable holds afterward. The answer is always: the same value it had before the call.
Unit 2: Selection and Iteration (25–35% of the Exam)
Unit 2 carries the highest exam weight of any unit. Expect at least 10–15 questions that are primarily about loops and conditionals, with several more in Unit 4 that rely on Unit 2 logic. This is where precision in variable tracing decides your score.
Short-circuit evaluation is tested both as a correctness question and as a safety question. For &&, if the left operand is false, the right operand is never evaluated. This means a bounds check must appear on the left side of && before any array access on the right. Questions show the check in the wrong order and ask whether an exception is thrown. Students who have not traced the evaluation order carefully pick the wrong answer every time.
Loop tracing is the core skill of Unit 2. The exam will give you a loop with two or three changing variables and ask what is printed after it exits. The only reliable approach is to trace every variable through every iteration by hand, writing values down. Students who try to reason abstractly about what the loop “basically does” consistently get the answer wrong by one iteration. Off-by-one errors — using <= instead of <, or initializing a counter at 1 instead of 0 — are engineered into the wrong answer choices.
Boolean logic and De Morgan's Laws appear as both direct simplification questions and as embedded logic inside methods. The exam particularly likes questions that show OR logic implemented with two separate if-return blocks and asks for which input the method fails. The method fails when both conditions should be true simultaneously but the first if returns before the second is checked. Recognizing this pattern instantly is worth at least one or two questions.
Unit 3: Class Creation (10–18% of the Exam)
Unit 3 has the lowest exam weight for 2026, but the questions it produces are among the most conceptually demanding. Class design questions ask you to read a complete class and diagnose why it does not work. The two most common failure modes are variable shadowing and missing this.
Variable shadowing occurs when a method declares a local variable with the same name as an instance variable. The local variable takes precedence inside the method, so any assignment goes to the local copy, which disappears when the method returns. The instance variable is never updated. Questions show a class where the instance variable always reads as its initial value no matter how many times a method is called, and ask why. The answer is always some form of: a local declaration is hiding the instance variable.
The this keyword becomes critical when a constructor parameter shares its name with an instance variable. Without this., the assignment x = x; sets the parameter equal to itself and leaves the instance variable unchanged. Exam questions show a class where the constructor appears to work but every object has the same default values, and ask which line is responsible.
Static versus instance is the third major Unit 3 trap. Static methods cannot access instance variables. If a question shows a static method referencing this or accessing a non-static field directly, that is a compile error. Questions also test whether students understand that a static variable is shared across all instances — incrementing it in one object's method increments it for every object of that class.
Unit 4: Data Collections (30–40% of the Exam)
Unit 4 has the highest exam weight and is the source of all four FRQ types. Strong Unit 4 performance is non-negotiable for a score of 4 or 5.
ArrayList modification during traversal is the Unit 4 trap that costs the most points at every exam. Removing an element at index i in a forward loop shifts every subsequent element left by one, causing the next element to be skipped. The only safe removal pattern is a backward loop from list.size() - 1 down to 0. Questions show a forward loop that is supposed to remove all matching elements and ask which elements are not removed. Students who have not traced the index shift carefully will pick the wrong subset.
For-each loops cannot modify array or ArrayList contents. The loop variable is a copy of the element, not a reference to the storage slot. Assigning to it has no effect on the underlying collection. If a question shows a for-each loop that should zero out an array or transform every element, the answer is that the collection is unchanged. The fix is always a standard indexed for loop.
ArrayIndexOutOfBoundsException from off-by-one bounds is the most common Unit 4 error-spotting target. Valid array indices are 0 to arr.length - 1. When a question involves comparing adjacent elements, the loop must stop at arr.length - 1, not arr.length, because the body accesses arr[k + 1]. Spotting this requires reading the loop condition and the access expression together — neither one alone tells the full story.
Recursion on this exam is tracing only. You will never be asked to write a recursive method. You will be shown one and asked what value it returns. The reliable strategy: identify the base case first, write out the call chain from the initial argument down to the base case, then resolve from the innermost call outward. Multiplying rather than adding, or adding rather than multiplying, are the wrong-answer options placed to catch students who rush.
Why Walkthrough Matters More Than Just Checking the Answer Key
Checking your score against an answer key tells you which questions you missed. It does not tell you whether you got the right answer for the right reason, whether you got the wrong answer because of a genuine conceptual gap or because of a careless trace, or whether you would recognize the same trap in a different problem. A walked-through question — where the reasoning is explained in full, where each wrong answer is diagnosed, and where the underlying pattern is named — produces durable understanding instead of a score.
The 42 questions in this bootcamp were selected and written to cover the patterns that appear most reliably on the 2026 exam. Every question in the walkthrough is explained at that level of depth. That is what the session recording delivers, and it is what the annotated answer key preserves so you can return to any question as many times as you need before May 7.
Choose Your Tier
Frequently Asked Questions
Instant access • May 7 exam
Get in Touch
Whether you're a student, parent, or teacher — I'd love to hear from you.
Just want free AP CS resources?
Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.
Message Sent!
Thanks for reaching out. I'll get back to you within 24 hours.
Prefer email? Reach me directly at [email protected]