AP CSP Written Response Questions & Create Task Practice (2024-2025)

AP CSP Home › Written Response Archive

A complete archive of AP Computer Science Principles Written Response Questions from the Create Performance Task. Since 2024, students answer written response prompts during the AP exam about their own Create Task code using their Personalized Project Reference.

📌 Important: AP CSP does not have traditional FRQs like AP CSA. Instead, the "free response" portion consists of written response prompts that ask you to explain, analyze, and defend your own Create Task program.

🎯 Understanding AP CSP Written Response Questions

The AP Computer Science Principles exam changed significantly in 2024. Here's what you need to know:

Current Exam Format (2024–Present)

Section Content Time Weight
Section I 70 Multiple Choice Questions 120 minutes 70%
Section II Create Performance Task + Written Response 9 hours (in-class) + 60 min (exam) 30%

What Changed in 2024?

  • Before 2024: Written responses were submitted to the AP Digital Portfolio before the exam
  • 2024 and after: Written responses are completed during the exam using your Personalized Project Reference
  • This change was made to ensure students truly understand their own code (addressing AI/ChatGPT concerns)

What is the Personalized Project Reference?

The Personalized Project Reference (PPR) is a document you create containing screenshots of your Create Task code. You'll have access to this during the exam when answering written response questions. It must include:

  • A screenshot of your procedure/function with sequencing, selection, and iteration
  • A screenshot of your procedure call
  • A screenshot of your list being used

📚 Official College Board Materials by Year

Click any link to access official Written Response prompts, scoring guidelines, and sample responses from College Board.

2025 AP CSP Written Response Materials Most Recent Exam
Resource Type Set 1 Set 2
Written Response Prompts Set 1 PDF ↗ Set 2 PDF ↗
Scoring Guidelines Set 1 PDF ↗ Set 2 PDF ↗
Chief Reader Report Set 1 PDF ↗ Set 2 PDF ↗
Sample Responses Q1 Download ZIP ↗ Download ZIP ↗
Sample Responses Q2 Download ZIP ↗ Download ZIP ↗
2024 AP CSP Written Response Materials First year of new exam format with Personalized Project Reference
Resource Type Set 1 Set 2
Written Response Prompts Set 1 PDF ↗ Set 2 PDF ↗
Scoring Guidelines Set 1 PDF ↗ Set 2 PDF ↗
Chief Reader Report Set 1 PDF ↗ Set 2 PDF ↗
Sample Responses Q1 Download ZIP ↗ Download ZIP ↗
Sample Responses Q2 Download ZIP ↗ Download ZIP ↗
2023 AP CSP Create Task Materials Last year of old format (written responses submitted before exam)
Resource Type Link
Scoring Guidelines PDF ↗
Chief Reader Report PDF ↗
Scoring Commentary PDF ↗
Sample Responses (A-J) Videos + Written Responses ↗

📝 The Four Written Response Categories

On exam day, you'll answer 2 questions containing 4 distinct prompts. Each prompt tests a specific skill:

Written Response 1: Program Design, Function, and Purpose

What they're testing: Can you explain what your program does and why?

  • CRD-2.A: Describe purpose of computing innovation
  • CRD-2.B: Explain how program functions
  • CRD-2.C/D: Identify inputs and outputs
  • CRD-2.E/F: Development process and UI design
  • CRD-2.G: Write documentation

Written Response 2(a): Algorithm Development

What they're testing: Can you trace through your code step-by-step?

  • AAP-2.E/F: Evaluate relational and logic operators
  • AAP-2.H: Determine result of conditionals
  • AAP-2.J: Express algorithms with iteration
  • AAP-2.K: Determine result of iteration
  • AAP-2.L/M: Compare and create algorithms

Written Response 2(b): Errors and Testing

What they're testing: Can you identify errors and test your code?

  • CRD-2.I.a: Identify the error
  • CRD-2.I.b: Correct the error
  • CRD-2.J: Identify test inputs and expected outputs

Written Response 2(c): Data and Procedural Abstraction

What they're testing: Do you understand why you used a list and procedure?

  • AAP-1.D: Develop and explain data abstraction
  • AAP-2.O: Write and evaluate list traversals
  • AAP-3.B: Explain procedural abstraction

✏️ Custom Practice Prompts (16 Questions)

Use these practice prompts with your own Create Task code or any program you've written. These mirror the style and difficulty of actual AP CSP exam questions.

📘 Category 1: Program Design, Function, and Purpose
Practice Prompt 1.1
Identify an expected user of your program. Describe one way your program's design meets the needs of this user.
Scoring Focus: Specific user identification + concrete design feature that addresses their need
Practice Prompt 1.2
Describe the overall purpose of your program. Then explain how the functionality demonstrated in your video contributes to achieving that purpose.
Scoring Focus: Clear distinction between "purpose" (the problem it solves) and "functionality" (what it does)
Practice Prompt 1.3
Identify the input(s) to your program. For each input, explain how your program processes it to produce a meaningful output.
Scoring Focus: Identifying ALL inputs (user input, data from files, sensor data, etc.) and tracing to output
Practice Prompt 1.4
Your program is being reviewed by a new developer who will maintain it. Write documentation for the procedure shown in your Personalized Project Reference that would help them understand what it does and how to use it.
Scoring Focus: Clear parameter descriptions, return value explanation, and usage example
📗 Category 2(a): Algorithm Development
Practice Prompt 2a.1
Consider the iteration statement (loop) in the procedure shown in your Personalized Project Reference.
  • Identify the number of times the body of your iteration statement will execute based on the initial conditions shown.
  • Describe a change to the initial conditions that would cause your loop to execute a different number of times.
Scoring Focus: Accurate loop counting + understanding of loop control variables
Practice Prompt 2a.2
Describe what the procedure in your Personalized Project Reference does in enough detail that someone else could recreate it without seeing your code. Your explanation should include how the procedure handles:
  • The sequencing of steps
  • Any selection (conditional) statements
  • Any iteration (loops)
Scoring Focus: Step-by-step algorithm description in plain language
Practice Prompt 2a.3
Consider the conditional statement in your procedure.
  • What condition is being tested when your procedure is called with the values shown in your Personalized Project Reference?
  • Identify the result of this specific call.
  • Describe a different set of input values that would cause the conditional to evaluate differently.
Scoring Focus: Boolean expression evaluation + understanding of branching
Practice Prompt 2a.4
Describe a condition or error that would cause your iteration statement to not terminate (infinite loop). If no such condition exists in your current code, explain how the loop could be modified to cause an infinite loop.
Scoring Focus: Understanding of loop termination conditions
📙 Category 2(b): Errors and Testing
Practice Prompt 2b.1
Describe two different test cases you would use to verify that your procedure works correctly:
  • Test Case 1: Provide specific input values and the expected output
  • Test Case 2: Provide a different set of input values (including an edge case) and the expected output
Explain why these two test cases together provide better coverage than either one alone.
Scoring Focus: Meaningful test cases that cover different paths through the code
Practice Prompt 2b.2
A logic error has been introduced into your procedure. The procedure now always returns the same result regardless of input. Identify one type of logic error that could cause this behavior and explain how you would fix it.
Scoring Focus: Understanding difference between syntax, runtime, and logic errors
Practice Prompt 2b.3
Your procedure contains a conditional statement. Describe:
  • An input that would cause the condition to evaluate to TRUE
  • An input that would cause the condition to evaluate to FALSE
  • Why testing both paths is necessary for thorough testing
Scoring Focus: Path coverage in testing
Practice Prompt 2b.4
Consider what would happen if your list were empty when your procedure is called.
  • Would your procedure handle this correctly? Why or why not?
  • If not, describe how you would modify your procedure to handle an empty list appropriately.
Scoring Focus: Edge case identification and defensive programming
📕 Category 2(c): Data and Procedural Abstraction
Practice Prompt 2c.1
Explain how the list in your Personalized Project Reference manages complexity in your program. Your explanation must describe why your program code could not be written, or how it would be written differently, if you did not use the list.
Scoring Focus: Concrete comparison between with-list and without-list approaches
Practice Prompt 2c.2
Consider the procedure in your Personalized Project Reference.
  • What would happen to your program if this procedure did not exist and you had to write out all the code it contains every time you needed that functionality?
  • Explain how using this procedure as an abstraction makes your program easier to develop and maintain.
Scoring Focus: Understanding procedural abstraction benefits (reusability, readability, maintainability)
Practice Prompt 2c.3
Your list stores multiple related pieces of data. Describe:
  • What type of data is stored in the list
  • How the data is organized within the list
  • How your procedure traverses or accesses the data in the list
Scoring Focus: Understanding list structure and traversal patterns
Practice Prompt 2c.4
Another programmer suggests replacing your list with individual variables (one for each element currently in the list). Explain:
  • Why this would make your program more complex
  • What specific functionality would become more difficult to implement
  • How scalability would be affected if you needed to handle more data
Scoring Focus: Deep understanding of data abstraction value

💡 Scoring Tips & Common Mistakes

What Earns Full Credit

Be Specific Don't say "it makes code simpler." Say exactly HOW and WHY.
Reference YOUR Code Use specific variable names and procedure names from your PPR.
Answer ALL Parts Multi-part questions require ALL parts for full credit.
Know the Vocabulary Use "iteration," "selection," "abstraction," "parameter" correctly.

Common Mistakes to Avoid

Mistake Why It Loses Points What to Do Instead
Confusing "purpose" with "functionality" Purpose = WHY (problem it solves). Functionality = WHAT (what it does). Purpose: "Help students study vocabulary." Functionality: "Displays flashcards and tracks scores."
Saying the list "stores data" This is too vague—all lists store data. Explain HOW: "Without the list, I would need 50 separate variables and couldn't use a loop."
Generic algorithm descriptions Graders can't verify understanding without specifics. Use actual values: "When i=0, it checks if scores[0] > highest..."
Skipping edge cases in testing Only testing "happy path" shows incomplete understanding. Include: empty list, single element, boundary values, invalid input
Not explaining abstraction benefits "It makes code cleaner" doesn't demonstrate understanding. Mention: reusability, avoiding duplication, easier debugging, readability

⏱️ Time Management on Exam Day

  • 60 minutes total for all written responses
  • Suggested pacing: ~12-15 minutes per prompt category
  • Read ALL prompts first, then answer (some may inform others)
  • Don't leave anything blank — partial credit is possible

📖 How to Use This Archive

  1. Complete your Create Task first. You need actual code to practice with.
  2. Create your Personalized Project Reference with required code screenshots.
  3. Review official prompts from 2024-2025 to understand the format.
  4. Practice with custom prompts above using YOUR code.
  5. Time yourself to build exam-day stamina (60 minutes total).
  6. Compare to scoring guidelines to identify gaps in your responses.
  7. Review Chief Reader Reports to learn from common student mistakes.

📎 Additional Resources

❓ Frequently Asked Questions

Is AP CSP harder than AP CSA?

Generally no. AP CSP is broader and more conceptual, while AP CSA requires deeper Java programming skills. The CSP written response is about YOUR code, so if you understand your project well, you'll do fine.

What programming language should I use for the Create Task?

Any language with procedures, variables, conditionals, loops, and lists. Popular choices include Python, JavaScript, Scratch, and App Lab. The exam pseudocode is language-agnostic.

Can I use AI to help with my Create Task?

Yes, but you MUST fully understand the code. The written response questions are answered during the proctored exam, and you won't have access to AI. If you can't explain your own code, you'll lose significant points.

What if I finish my Create Task early?

Practice answering written response questions about your code! The more you practice explaining your algorithm, list usage, and testing approach, the better you'll perform on exam day.

How is the Create Task scored?

The Create Task (program code, video, and written responses) is worth 30% of your total AP CSP score. Written responses are scored by trained AP readers using a rubric that awards points for demonstrating specific knowledge and skills.

Contact form