2025 AP CSA FRQ 1: DogWalker Solution + Rubric

May 2026 exam uses a NEW point structure — tap for details

This page shows the original 2025 FRQ 1, which the College Board scored on a 9-point rubric. The May 2026 exam uses a NEW point distribution and structure — the patterns and traps on this page still apply, but expect different point values and formats on test day.

FRQ 1: 7 points (2 parts: Part A 4pts + Part B 3pts) — Methods & Control Structures

FRQ 2: 7 points (single part) — Class Design

FRQ 3: 5 points (single part) — Data Analysis with ArrayList

FRQ 4: 6 points (single part) — 2D Array

Total Section II: 25 points = 45% of exam score. Only Question 1 has two parts on the 2026 exam; Questions 2, 3, and 4 each have a single part.

Sources: Official College Board CED, Exam Overview (page 145) · Skylight Publishing CED Sample FR Solutions (page 161 reference)

2025 AP CSA FRQ 1: DogWalker — Complete Solution & Rubric

Step-by-step solution to 2025 AP CSA FRQ 1 (DogWalker) with the official 9-point rubric, common mistakes that cost points, and a built-in 22-minute practice timer. Written by an AP Computer Science teacher whose students earn 5s at more than 2x the national rate.

Year: 2025 Question: 1 of 4 Points: 9 Topics: Methods, Control Structures Difficulty: Easy
Recommended pace: 22:00 per FRQ 22:00

The Official 2025 FRQ 1 Question

The complete prompt is in the PDF below. Use the recap above the editor to keep the key requirements in mind while you write your response.

The PDF cannot be embedded on this device.

Open Prompt PDF in New Tab

Write Your Part A Response: walkDogs

Read the prompt above and write your responses in the editors below — Part A in the first, Part B in the second. The real AP exam in Bluebook gives you the prompt and separate response areas per part with no requirement summary or hints. Practice like that here. When you’re done with both parts, click Reveal Solution & Scoring Rubric below to compare your code against the official rubric.

walkDogs.java Tab indents | Enter auto-indents | Brackets auto-close
Drag bottom-right corner to resize editor ⇲

Write Your Part B Response: dogWalkShift

dogWalkShift.java Tab indents | Enter auto-indents | Brackets auto-close
Drag bottom-right corner to resize editor ⇲

Ready to self-grade? Compare your code against the official 9-point rubric below. AP FRQs are graded by trained human readers, so we don’t auto-score — you’ll learn more by checking your work against the rubric criteria yourself.

What the Prompt Was Asking

Before reading the solution, check whether your response covered each of these requirements:

Write: public int walkDogs(int hour) — Part A; public int dogWalkShift(int startHour, int endHour) — Part B

Required behavior:

  • Part A: get available dogs from company.numAvailableDogs(hour), walk the smaller of that count and maxDogs, then call company.updateDogs(hour, walked) and return the count walked.
  • Part B: loop from startHour to endHour inclusive, and call walkDogs(hour) exactly ONCE per iteration — save the result to a variable. Calling walkDogs twice triggers updateDogs twice and removes too many dogs.
  • Part B: pay is 5 * dogs per hour, with a +$3 bonus if dogs == maxDogs OR if the current hour is between 9 and 17 inclusive. The bonus check must use the loop variable (the hour being considered), not startHour or endHour.

How to Write the DogWalker Methods Step-by-Step

// Sample solution adapted from official scoring guidelines
// 2025 AP CSA FRQ 1: DogWalker (worth 9 points)

public int walkDogs(int hour) {
    int dogsToWalk = company.numAvailableDogs(hour);
    if (dogsToWalk > maxDogs) {
        dogsToWalk = maxDogs;
    }
    company.updateDogs(hour, dogsToWalk);
    return dogsToWalk;
}

public int dogWalkShift(int startHour, int endHour) {
    int totalPay = 0;
    for (int hour = startHour; hour <= endHour; hour++) {
        int dogs = walkDogs(hour);
        totalPay += 5 * dogs;
        if (dogs == maxDogs || (hour >= 9 && hour <= 17)) {
            totalPay += 3;
        }
    }
    return totalPay;
}

Official 9-Point Scoring Rubric for DogWalker

Pts Criterion
+1 Calls company.numAvailableDogs(hour) on the company instance variable
+1 Determines the smaller of available dogs and maxDogs
+1 Calls company.updateDogs(hour, dogsToWalk) with correct args
+1 Returns the number of dogs walked (algorithm, Part A)
+1 Loops from startHour to endHour inclusive
+1 Calls walkDogs(hour) exactly ONCE per iteration and saves the result
+1 Computes base pay as 5 * dogs per hour (calculated, not constant)
+1 Adds $3 bonus when dogs == maxDogs OR hour is between 9 and 17 inclusive
+1 Accumulates and returns the correct total pay (algorithm, Part B)

Common Mistakes That Cost Points on FRQ 1

Mistake 1: Calling helper methods without the company object — writing numAvailableDogs(hour) instead of company.numAvailableDogs(hour). The Chief Reader commentary on Sample 1B and 1C confirms this loses Point 1 in Part A. The helper methods belong to the DogWalkCompany class and must be called on the company instance variable.
Mistake 2: Using AND instead of OR for the bonus condition: if (dogs == maxDogs && hour >= 9 && hour <= 17). The official rubric Point 8 states a response loses the point if it counts the bonus 'only when both conditions are true.' The prompt's phrase 'at least one of the following is true' is OR logic — the bonus applies if EITHER condition holds.
Mistake 3: Checking the wrong variable in the peak-hour comparison: writing if (startHour >= 9 && endHour <= 17) instead of if (hour >= 9 && hour <= 17). Sample 1B in the official commentary lost Point 8 for exactly this reason — the comparison did not refer to the hour being considered, i. The peak-hour check must use the loop's iteration variable, not the shift's bounds.
Mistake 4: Calling walkDogs() multiple times per loop iteration. Sample 1B lost Point 9 because, as the Chief Reader commentary states, 'the response calls this.walkDogs() multiple times in the loop. The method walkDogs calls the updateDogs method, removing too many dogs from the pool of available dogs.' Save the result to a local variable: int dogs = walkDogs(hour); then reuse dogs for both base pay and bonus check.
Mistake 5: Adding a constant instead of a calculated base pay — totalPay += 5; instead of totalPay += 5 * dogs;. Sample 1C in the Chief Reader commentary lost Point 7 because, in their words, 'the base pay is increased with amountEarned += 5, which is adding a constant and not a calculated value of the number of dogs walked in an hour.' Each dog walked earns $5; if 3 dogs are walked in an hour, that hour's base pay is $15.
Key Insight: When an FRQ has a Part B that depends on Part A, your job in Part B is to USE Part A, not redo it. The 2025 rubric awards an explicit point (Point 6) just for calling walkDogs(i) inside the loop. This pattern — Part A solves a single case, Part B applies it across a range — recurs in every Methods & Control Structures FRQ since 2018. A second equally important insight: helper-method calls have side effects. walkDogs calls updateDogs, which mutates the company's state. Calling walkDogs(hour) twice in the same iteration removes twice as many dogs as the walker actually took. Always cache the return value in a local variable on the very first line of the loop body.

FAQs About 2025 AP CSA FRQ 1

What does 2025 AP CSA FRQ 1 DogWalker test?

DogWalker tests calling helper methods on the correct object (company.numAvailableDogs and company.updateDogs), using min logic via conditional or Math.min, and accumulating pay with a loop that includes a conditional bonus check. Part B requires reusing Part A — the rubric awards an explicit point for calling walkDogs inside the loop rather than reimplementing the logic.

How many points is FRQ 1 worth?

9 points, awarded across the rubric criteria. FRQ 1 makes up about 11% of the AP CSA exam score.

What is the most common mistake on 2025 FRQ 1 DogWalker?

Using AND instead of OR for the bonus condition in Part B. The prompt says the $3 bonus applies if 'at least one of the following is true' — that is OR logic. Writing if (dogs == maxDogs && hour >= 9 && hour <= 17) requires both conditions, so the bonus only triggers when the walker hits the cap during peak hours. The College Board rubric explicitly disallows the 'only when both true' interpretation.

How long should I spend on FRQ 1?

Aim for 22 minutes per FRQ. The AP CSA free-response section is 90 minutes for 4 questions, so 22 minutes per question leaves a 2-minute buffer to review.

Is DogWalker still relevant for the 2026 AP CSA exam?

Yes. The current AP CSA 4-unit curriculum still tests method writing with loops and conditionals, so DogWalker is excellent practice for the 2026 exam format.

Where can I find the official scoring guidelines?

College Board publishes the official scoring guidelines as a PDF on AP Central. The rubric on this page mirrors those criteria. You can download the official scoring guidelines here.

Related AP CSA FRQs to Practice Next

If you found DogWalker useful, work through these next to lock in the same Java concepts:

Why 2025 FRQ 1 Still Matters for the 2026 AP CSA Exam

The 2026 AP CSA curriculum reorganized the topic list into 4 units, but the FRQ types stayed the same. 2025 FRQ 1 (DogWalker) tests method writing with loops and conditionals, which is still a core part of the exam. Practicing this question prepares you for the Bluebook digital test format and builds the muscle memory you need for the exam on Friday, May 15, 2026.

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.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]