AP Computer Science A has 40 MCQ and 4 FRQs. Every FRQ falls into one of four predictable types, and knowing each type's pattern before you sit down is the single best thing you can do in the last 24 hours.
The 4 FRQ Types
- Methods and Control Structures: write one or two methods using conditionals and loops. No class definition needed. Focus on correct loop bounds and return types.
- Class: write a complete class definition including constructor(s), instance variables, and several methods. Check that your constructor initializes every instance variable.
- Array/ArrayList: traverse or manipulate a 1D array or ArrayList. Watch for off-by-one errors and correct use of
size() vs length.
- 2D Array: traverse a 2D array, usually row-major order. Remember:
arr[row][col]. Nested loop: outer iterates rows (arr.length), inner iterates columns (arr[0].length).
ArrayList vs Array — Key Differences
- Array length:
arr.length (field, no parentheses). ArrayList size: list.size() (method, needs parentheses).
- Array access:
arr[i]. ArrayList access: list.get(i).
- ArrayList
remove(i) shifts all elements after index i left by one — if you're removing inside a loop, decrement your index after removal or iterate backwards.
- ArrayLists cannot hold primitives directly — use
Integer, Double, Boolean wrapper types.
String Methods You Must Know
s.substring(a, b) — returns characters from index a up to but not including b. s.substring(2, 5) on "abcdef" returns "cde".
s.indexOf("x") — returns first index of "x", or -1 if not found.
s.equals(t) — always use .equals() for String comparison, never ==. == checks reference equality, not content.
s.length() — method call, not a field.
Inheritance and super()
When a subclass constructor calls super(args), it must be the first statement in the constructor. Subclasses inherit all non-private methods and fields. If a method is overridden, call the parent version with super.methodName(). Polymorphism: a variable of type Parent can hold a Child object; the overridden Child method executes at runtime.
MCQ Code-Tracing Strategy
For any MCQ that asks what a code segment outputs: write down variable values on scratch paper and update them line by line. Never trace in your head. For recursive methods, write out each call level explicitly. Budget about 90 seconds per MCQ — skip and return to tracing questions if needed.
Use Cram Mode on AimFive to drill AP CS A logic and tracing questions before the exam.
AP CS A Practice Questions · AP CS A Study Guide · AP CS A Score Calculator
AP and Advanced Placement are trademarks of College Board. AimFive is not affiliated with or endorsed by College Board.