SAT / PSAT
SAT / PSAT Prep
History & Social Science
AP World History AP US History AP European History AP Human Geography AP US Government & Politics AP Psychology AP Macroeconomics AP Microeconomics
English
AP English Language & Composition AP English Literature & Composition
Math & Computer Science
AP Calculus AB/BC AP Precalculus AP Statistics AP Computer Science A AP Computer Science Principles
Sciences
AP Biology AP Chemistry AP Environmental Science AP Physics 1 AP Physics 2
World Languages & Arts
AP Spanish Language AP Art History AP Music Theory Start studying →
Unit 1 · Creative Development Flashcards Cheat Sheet Essentials Visual Review MC Practice FRQ Practice

AP Computer Science Principles Unit 1 FRQ Practice

Practice a Create-Performance-Task-style written response about a program's purpose, errors, and development. Write your response, then reveal the model answer to see exactly what earns each point.

← Back to Unit 1 hub
Written Response · Unit 1 · Creative Development

Note: The AP CSP exam is all multiple-choice; extended writing appears in the Create Performance Task. This question gives you practice with that style of written response.

A student develops a program that helps users track how many glasses of water they drink each day. The user taps a button each time they drink a glass, and the program displays the running total and a message when the daily goal is reached.

A
Describe the function and the purpose of this program, and identify one input and one output.

✓ Model answer

The program's function is to count the glasses of water a user drinks and display the running total, showing a message when the daily goal is reached. Its purpose is to help people stay hydrated by making it easy to track their water intake. An input is the user tapping the button (each tap signals one glass); an output is the running total (and goal message) shown on the screen.

Why it scores: Clearly distinguishes function (what it does) from purpose (why/for whom), AND names a specific input (button tap) and a specific output (displayed total). Blurring function and purpose, or giving no concrete input/output, would lose credit.
B
While testing, the student finds the program runs but the running total is always one too low. Classify this error and describe how the student could identify and correct it.

✓ Model answer

Because the program runs but produces an incorrect result, this is a logic error — the counting logic is flawed rather than the grammar of the code. The student could identify it by testing with known inputs (for example, tapping exactly 3 times and checking whether the total shows 3) and hand-tracing the code that updates the total. A likely fix is correcting where or how the counter is incremented — for instance, starting the count at 0 and adding 1 on every tap.

Why it scores: Correctly classifies the error as a logic error (runs but wrong output), AND describes a concrete way to find it (test cases / hand-tracing) and a plausible correction. Calling it a syntax or run-time error would be wrong since the program still runs.
C
Explain how using an iterative development process — including feedback from others — could improve this program.

✓ Model answer

An iterative process means the student builds and tests the program in small steps, refining it with feedback each pass rather than finishing it all at once. After a first prototype, the student could ask users with diverse perspectives to try it and share feedback — for example, that the goal should be adjustable, or that the button is hard to reach. Each round of investigating, designing, prototyping, and testing lets the student catch errors earlier and add improvements, producing a program that is more correct, more usable, and better matched to its purpose.

Why it scores: Explains the iterative cycle (build → test → refine with feedback), ties collaboration/diverse perspectives to concrete improvements, AND connects the process to a better final program. A vague answer like "it makes it better" without the mechanism would lose credit.

How to write strong AP CSP responses