Click each FRQ to expand and score parts individually. Each FRQ is worth 9 raw points. Partial credit is given — write something for every part even if incomplete.
Tests ability to write and call methods, use loops (for/while), conditionals (if/else), and basic string/math operations. No class design needed.
Requires designing a complete class: private instance variables, constructor, accessor/mutator methods, and at least one method with logic. Tests OOP fundamentals.
Tests traversal using for/for-each loops, searching, filtering, counting, or building a new list. ArrayList methods (add, remove, get, size) are commonly tested.
Tests nested for loops to traverse a 2D array by rows and/or columns. Typical tasks: find max/min, sum a row, rotate, search, or count elements meeting a condition.
Auto-generated based on your current scores
📊 Unit Confidence Tracker — 10 Units
Rate your confidence in each unit. Units 5-9 (recursion, arrays, inheritance, exceptions, 2D arrays) carry the heaviest FRQ weight.
How AP Computer Science A Scoring Works
The AP CSA exam consists of two equally weighted sections. Section I (MCQ) has 40 questions in 90 minutes — no guessing penalty, 4 answer choices each. Section II (FRQ) has 4 questions in 90 minutes, each worth 9 raw points of handwritten Java code.
Scoring formula: MCQ raw × 1.125 + FRQ raw × 1.25 = Composite (out of 90). The College Board then applies that year's cutoffs to convert composite to a 1–5 AP Score.
| Section | Questions | Time | Raw Pts | Weight | Multiplier |
|---|---|---|---|---|---|
| I: MCQ | 40 | 90 min | 40 | 50% | × 1.125 |
| II: FRQ (4 Qs) | 4 | 90 min | 36 | 50% | × 1.25 |
| Total | 44 | 3 hr | 76 | 100% | → 90 composite |
AP CSA Score Cutoffs (2025)
| AP Score | Composite Range | Qualification | % of Students (2025) |
|---|---|---|---|
| 5 | 70–90 | Extremely Well Qualified | ~24% |
| 4 | 56–69 | Well Qualified | ~18% |
| 3 | 40–55 | Qualified | ~18% |
| 2 | 26–39 | Possibly Qualified | ~15% |
| 1 | 0–25 | No Recommendation | ~25% |
AP Computer Science A Score Distribution (2025)
Pass rate (3+): 60.1% · Mean score: 3.04 · Students tested: ~26,000 (2025)
How to Score a 5 on AP Computer Science A
A composite of 70+ out of 90 earns a 5. With perfect MCQ (40 × 1.125 = 45) you need only 20/36 FRQ points (55.6%). Alternatively, 32/40 MCQ + 30/36 FRQ = 36 + 37.5 = 73.5 — a comfortable 5.
MCQ strategy: Focus on tracing code execution mentally — the AP CSA MCQ is heavily about what a code snippet outputs, not theory. Practice with past released FRQs. Know your precedence rules, short-circuit evaluation, and String methods.
FRQ strategy: Write something for every part. Partial credit is awarded per rubric point. Even a syntactically flawed method can earn points if the algorithm logic is correct. Always declare return type, use correct Java syntax for array access, and avoid null pointer errors by checking bounds.
Top tested topics: for/while loop tracing (Unit 4), ArrayList iteration with index management (Unit 7), class writing with encapsulation (Unit 5), 2D array nested loops (Unit 8), inheritance and polymorphism (Unit 9).
What AP CSA Score Do You Need?
AP score requirements vary significantly by college and program. Computer Science departments at selective schools often have higher bars — or don't grant credit at all, preferring you take their own intro course.
| School / Policy | Min Score | Credit Granted |
|---|---|---|
| Most state universities (UC, CSU, Big Ten) | 3 | 3–4 semester hrs (intro CS equivalent) |
| Many private universities | 4 | Intro CS course waived |
| MIT | — | No AP credit for CS — placement only |
| Carnegie Mellon (SCS) | — | No AP credit for CS majors |
| Stanford | 5 | CS106A equivalent credit |
| Georgia Tech | 4 | CS 1301 credit (3 hrs) |
Always verify directly with the registrar — policies change yearly. Use College Board's AP Credit Policy Search as a starting point.
AP CSA Average Score Trend (6 Years)
AP Computer Science A has maintained one of the higher mean scores among AP exams, reflecting its self-selected test-taking population — most students who take CSA have prior programming exposure. The mean has held steady around 3.0–3.2 since 2020.
Mean score (1–5 scale). The slight downward drift from 2021 reflects growing enrollment and a broader student demographic taking the exam.
Java Quick Reference Tips for the FRQs
The College Board provides a Java Quick Reference during the FRQ section. Key items to know cold — these come up year after year on the actual exam:
| Topic | Key Syntax / Method | Common Mistake |
|---|---|---|
| Array length | arr.length | Using arr.length() — arrays use a field, not a method |
| ArrayList size | list.size() | Confusing .length (array) vs .size() (ArrayList) |
| ArrayList get/set | list.get(i), list.set(i, val) | Using list[i] — bracket notation is invalid for ArrayList |
| ArrayList remove | list.remove(i) | Off-by-one when removing during forward traversal — iterate backwards or use iterator |
| 2D array dimensions | arr.length (rows), arr[0].length (cols) | Using arr.length for column count — always use arr[0].length |
| String compare | s.equals(t), s.compareTo(t) | Using == for String comparison — compares references, not content |
| String methods | s.length(), s.substring(a,b), s.indexOf(str) | substring(a,b) is exclusive of b — substring(0,3) returns chars 0,1,2 |
| Integer division | 7/2 = 3, 7%2 = 1 | Forgetting int/int truncates toward zero — cast to double if needed |
| Math methods | Math.abs(x), Math.pow(b,e), Math.sqrt(x) | Math.pow returns double — cast to int if assigning to int variable |
| for-each loop | for (Type item : collection) | Cannot modify the collection or use index — use regular for loop instead |
FRQ Attack Strategy by Question Type
Each of the 4 FRQ types has a predictable structure. Knowing what to write before you read the question saves critical minutes.
Methods & Control Structures
First move: Identify the return type and parameters from the method header. Write the method skeleton with the correct signature immediately. Then figure out the logic. Check: does your loop handle the empty case? Does your return sit outside the loop when needed?
Class Design
First move: List your instance variables first (private!), then write the constructor assigning each, then getters/setters, then the logic method. Declare types explicitly — never use var. Check: is each field private? Does the constructor use this.field = param?
Array / ArrayList
First move: Determine if the problem wants you to modify the original or build a new list. For removal during traversal, iterate backwards or use a separate result list. Always check bounds: i < arr.length, not i <= arr.length.
2D Array
First move: Draw a small 3×3 grid in your scratch space and trace your nested loop. Outer loop = rows (arr.length), inner loop = cols (arr[0].length). Confirm which direction you're traversing — row-by-row or column-by-column — before writing code.
AP CSA Time Management Guide
The AP CSA exam is 3 hours total — 90 minutes per section. Most students finish MCQ with time to spare but run tight on FRQs. Here's how to allocate your time:
| Section | Time Budget | Strategy |
|---|---|---|
| MCQ: Q1–20 (first pass) | 35 min | ~90 sec/question. Skip anything requiring long code traces — flag and return. |
| MCQ: Q21–40 (first pass) | 35 min | Same pace. Circle questions with complex recursive or inheritance traces. |
| MCQ: Flagged review | 20 min | Return to flagged questions. If still unsure, eliminate and guess — no penalty. |
| — 10 min break — | ||
| FRQ 1: Methods | 20 min | Usually the most approachable. Aim to fully complete this one. |
| FRQ 2: Class Design | 22 min | Write constructor and all declared methods even if the logic isn't perfect. |
| FRQ 3: Array/ArrayList | 22 min | If stuck on part (c), skip and write part (d) — parts are independently scored. |
| FRQ 4: 2D Array | 22 min | Draw your grid on scratch paper first. Trace with [0][0], [0][1], [1][0] before coding. |
| FRQ: Buffer / review | 4 min | Check that every method has a return statement and correct braces. |
Day-of Exam Checklist
These are the highest-leverage habits from students who score 4s and 5s on AP CSA:
- Read the entire FRQ prompt before writing anything
- Note every method and class already provided
- Identify exactly what the question asks you to return
- Sketch logic on scratch paper for 2D array problems
- Declare return type on every method
- Use
this.in constructors to avoid shadowing - Don't declare variables inside loop — declare above
- Write something for every part — blank = 0 pts
arr.length()— remove the parentheseslist[i]— must uselist.get(i)s1 == s2— must uses1.equals(s2)- Off-by-one:
i <= arr.lengthcauses ArrayIndexOutOfBounds
- Each rubric point is earned independently
- A wrong answer in part (a) won't auto-fail part (b)
- Write pseudocode in comments if time runs out
- Never leave a method body blank — write the skeleton at minimum