AP Computer Science A: How to Approach the FRQ in 4 Steps

The AP Computer Science A free-response section is 50% of your exam score and the single biggest predictor of who gets a 5 vs a 4. The good news: FRQs follow a tight pattern. Here’s the 4-step process Tae teaches his AP CS students for tackling any FRQ.

Step 1 — Read the method signature carefully

Before you read the problem description, look at the method signature. It tells you almost everything:

  • Return type — do you return a value, or is it void?
  • Parameters — what's the input shape? Arrays? ArrayList? 2D array? Single primitive?
  • Static or instance? — can you access instance variables, or do you need to work entirely from parameters?

If the signature says public int[] foo(int[] arr), you already know you're returning a new int array, probably the same size or related to arr.length.

Step 2 — Sketch the algorithm in pseudocode before writing Java

Java syntax is the #2 cause of point loss after wrong algorithm. Don’t mix the two cognitive loads. Write the algorithm in plain English (or pseudocode) first:

// for each element in arr:
//   if condition, add to result list
// convert result list to int[] and return

This takes 30 seconds and prevents you from getting halfway through Java syntax before realizing your logic is wrong.

Step 3 — Translate to Java, then check the boundary cases

Once the algorithm is clear, write the Java. Then before moving on, mentally trace through:

  • An empty input (array of length 0)
  • A single-element input
  • The case the problem description specifically mentions

Off-by-one errors and missing null checks are the most common AP CS A FRQ mistakes.

Step 4 — Match against the AP scoring rubric mentally

The rubric awards points for specific milestones, not the final answer. Make sure you've:

  • Declared and initialized any helper variables (often worth 1 point)
  • Looped over the full input correctly (loop bounds — another point)
  • Made the correct comparison or computation inside the loop
  • Returned the correct type

Even if your algorithm has a bug, you still earn most of these points if the structure is right. A 4 vs 5 is usually about getting the partial-credit points, not about being perfect.

Common mistakes that cost the most points

  1. Modifying the parameter when you should return a new value. Read the prompt: do they want the original modified, or a new return?
  2. Using length instead of size() (or vice versa). Arrays use .length, ArrayList uses .size(). Wrong one = compile error in the grader's mental model.
  3. Forgetting that ArrayList<Integer> auto-boxes, but primitives don't. You can't put an int into an Object[]; you need Integer.
  4. Off-by-one on the loop bound. i < arr.length, not i <= arr.length.
  5. Returning the wrong type. If the signature is int[], don't return an ArrayList.

Need a long-term AP Computer Science mentor, not just a one-off explanation? Learn about AP Computer Science mentorship at Palo Alto Mentor. Most of our students stay with the same mentor for 3–5 years.