2025 AP CSA FRQ - All 4 Free Response Questions + Full Solutions and Scoring
2025 AP CSA Free Response Questions
Complete Java solutions, scoring rubrics, common mistakes, and exam tips for every 2025 AP CSA FRQ. All question text verified from the official College Board PDF.
The 2025 AP CSA FRQs
The 2025 exam followed the standard 4-question format used since 2019. Each FRQ type appears in the same order every year, which means you can prepare specifically for each position. Here are all four questions with direct links to full solutions.
DogWalker
Calculate dog-walking distances and fees using Math.min(), loops, and method decomposition across two method parts.
SignedText
Write a complete SignedText class that tracks a text string and a digital signature, with constructors and behavior methods.
Round
Process an ArrayList of integers by rounding values to the nearest multiple and modifying the list in place.
SumOrSameGame
Process a 2D integer grid by merging adjacent equal values or replacing pairs with their sum according to game rules.
Quick Reference: All Four 2025 FRQs
| FRQ | Problem | Type | Difficulty | Key Skill |
|---|---|---|---|---|
| FRQ 1 | DogWalker | Methods | Medium | Math.min() capping, loop accumulation |
| FRQ 2 | SignedText | Class | Medium | Class anatomy, String concatenation |
| FRQ 3 | Round | ArrayList | Medium | set() vs add(), integer division rounding |
| FRQ 4 | SumOrSameGame | 2D Array | Hard | In-place 2D array mutation, merge logic |
How Hard Were the 2025 AP CSA FRQs?
Overall: moderate, with a hard FRQ 4. FRQ 1 (DogWalker) rewarded students who recognized the Math.min() capping pattern and wrote clean accumulation loops. FRQ 2 (SignedText) was a classic class-writing problem with no major surprises.
FRQ 3 (Round) had a subtle but important trap: students who used add() instead of set() to update ArrayList elements inserted duplicate entries rather than replacing the existing values. FRQ 4 (SumOrSameGame) was the most complex — the grid mutation rules required precise control over traversal order and in-place array modification.
FRQ 1: DogWalker — Medium
Two-part method problem. Part (a) was a clean loop with Math.min() capping. Part (b) called part (a) in a loop to accumulate total fees. Very doable for prepared students.
FRQ 2: SignedText — Medium
Complete class with a String field and a signature. No inheritance, no complex logic — just clean constructor/method writing. Students who blanked on class structure lost easy points here.
FRQ 3: Round — Medium
The set() vs add() distinction was the key pitfall. Rounding to the nearest multiple required integer arithmetic; students who used floating-point division often lost precision points.
FRQ 4: SumOrSameGame — Hard
In-place 2D grid mutation with column-based merge rules. The traversal order mattered: processing cells in the wrong direction produced incorrect results. Time pressure made this particularly dangerous.
FRQ Type Pattern (Same Every Year)
Since 2019, every AP CSA exam uses the same four question types in the same order. Knowing this pattern is a strategic advantage — you can rehearse your approach for each slot before exam day.
FRQ 1 — Methods & Control Structures
Write 1–2 methods using loops, conditionals, and expressions. Usually two parts: (a) implements helper logic, (b) calls (a) or extends it. Most students find this the most approachable.
FRQ 2 — Class Writing
Write a complete class: instance variables, constructor, accessor/mutator methods, and at least one behavior method. Tests your understanding of OOP design and encapsulation.
FRQ 3 — ArrayList Manipulation
Traverse, filter, modify, or build an ArrayList. Common traps: mutating a list while iterating, index drift after removals, and using wrong ArrayList method names.
FRQ 4 — 2D Array Operations
Navigate a 2D grid using nested loops. Tests row/column indexing, boundary awareness, and accumulation patterns. Often the most time-consuming question on the exam.
How to Use This Page
For best results: attempt each FRQ yourself first (set a 22-minute timer), then open the solution page and compare your code to the sample answer line by line. Pay special attention to the scoring rubric — you’ll often find you earned more points than you thought.
- Click any FRQ card above to open the full solution page.
- Each solution page includes the original question text, a complete Java solution, scoring rubric breakdown, and common mistakes to avoid.
- Use the FRQs by Topic page to find more practice on any specific concept.
- See all years at the FRQ Archive.
Frequently Asked Questions About the 2025 AP CSA FRQs
What are the 2025 AP CSA FRQs?
FRQ 1 DogWalker (Methods & Control Structures), FRQ 2 SignedText (Class Writing), FRQ 3 Round (ArrayList), FRQ 4 SumOrSameGame (2D Array). Each is worth 9 points for a total of 36 points, which counts as 45% of the final exam score.
Which 2025 FRQ was the hardest?
FRQ 4 SumOrSameGame was the most challenging, requiring in-place mutation of a 2D array based on merge rules. Students who confused row and column iteration order or applied the merge rules incorrectly lost the most points.
What is the key skill tested in 2025 FRQ 3 Round?
Integer arithmetic rounding and the use of ArrayList's set() method to modify elements in place. A common mistake was using add() instead of set(), which inserts a new element rather than replacing the existing one.
How does the 2025 AP CSA FRQ difficulty compare to previous years?
The 2025 FRQs were moderate overall, with FRQ 4 being notably tricky due to its 2D array mutation rules. FRQ 1 (DogWalker) was accessible. FRQ 3 (Round) had a subtle trap with set() vs add(). Most well-prepared students were able to earn strong partial credit.
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]