AP CSP Create Performance Task Guide
🎯 AP CSP Create Performance Task
The Complete Guide to Planning, Building, and Scoring High on Your Create Task (2025-26)
📑 What's in This Guide
1. What is the Create Performance Task?
The Create Performance Task is a major component of the AP Computer Science Principles exam, worth 30% of your total score. Unlike a traditional test, the Create Task is a programming project you complete during class time before the exam date.
Here's how it works:
- During the school year: You'll be given at least 9 hours of class time to develop a computer program of your choice.
- Before the deadline (April 30): You submit your code as a Personalized Project Reference (PPR) through the AP Digital Portfolio.
- On exam day: You answer two written response questions about YOUR code (you'll have access to your PPR).
What You Submit
You will submit your Personalized Project Reference (PPR) which includes screenshots/copies of specific code segments from your program. On exam day, you'll answer questions about this code.
The PPR must include:
- A procedure you created with at least one parameter
- A call to that procedure
- How a list is used to manage complexity
2. Technical Requirements (Non-Negotiable)
Your program must include all of the following. Missing even one will cost you points:
✅ Required Program Elements
- Input: Your program must accept input from the user (keyboard, mouse click, dropdown selection, etc.)
- Output: Your program must produce output based on that input (display text, images, sounds, or actions)
- A List (or other collection type): Your program must use a list/array to store multiple values
- A Procedure/Function with at least one parameter: You must create your own procedure that takes input through a parameter
- An algorithm inside your procedure that includes: Sequencing (code runs in order), Selection (if/else statements), and Iteration (a loop)
len(), append(), or sort() is fine, but these don't count as YOUR procedure. You must write your own procedure from scratch with your own algorithm inside it.3. How the Create Task is Scored (Rubric Breakdown)
Your Create Task is worth 6 points total. The scoring happens on exam day based on your written responses about your PPR code.
| Row | What's Being Scored | Points |
|---|---|---|
| Row 1 | Program Purpose & Function: Can you describe what your program does, explain the input/output, and describe its functionality? | 1 |
| Row 2 | Data Abstraction (List): Does your code use a list? Can you explain how the list stores data and why a list is necessary? | 1 |
| Row 3 | Managing Complexity: Can you explain how your list manages complexity? What would the program look like without a list? | 1 |
| Row 4 | Procedural Abstraction: Did you create a procedure with a parameter? Can you describe what it does? | 1 |
| Row 5 | Algorithm Implementation: Does your procedure contain sequencing, selection, AND iteration? Can you explain how they work together? | 1 |
| Row 6 | Testing: Can you describe two different calls to your procedure with different arguments and explain the results? | 1 |
4. Project Ideas That Work
The best Create Task projects are simple, completable, and clearly demonstrate all requirements. Here are proven project ideas:
📊 Grade Calculator
User enters grades into a list, a procedure calculates weighted averages with conditions for letter grades.
Beginner Friendly📝 Quiz App
Questions stored in a list, user answers, procedure checks answers and tracks score with a loop.
Beginner Friendly📋 To-Do List Manager
User adds/removes tasks from a list, procedure filters or displays tasks based on criteria.
Intermediate🎲 Number Guessing Game
Computer picks a number, user guesses, procedure provides "higher/lower" feedback with attempt tracking.
Beginner Friendly🏀 Sports Stats Tracker
User enters player stats into a list, procedure calculates averages, finds MVP, or ranks players.
Intermediate🎵 Playlist Manager
Songs stored in a list, procedure searches/filters by criteria (genre, artist, length).
Intermediate💰 Budget Tracker
User logs expenses to a list, procedure categorizes and totals spending by type.
Intermediate📖 Flashcard Study App
Question/answer pairs in a list, procedure quizzes user and tracks correct/incorrect.
Beginner Friendly- Projects that are too simple (just print statements, no real algorithm)
- Projects that are too complex (you can't finish or explain them)
- Projects that copy tutorials exactly (you need to understand YOUR code)
- Projects without meaningful user input
- Projects where the list is just for display, not actually used in processing
5. Planning Your Project
Before writing a single line of code, plan your project to ensure it meets all requirements.
Step 1: Map to the Rubric
Create a simple table that shows exactly where each requirement will appear in your code:
📋 Example Rubric Map
Input: User enters grades via input() on lines 5-8
Output: Display final average and letter grade on line 25
List: grades = [] stores all entered grades, line 3
Procedure with parameter: calculate_average(grade_list) on lines 12-22
Selection (if/else): Inside procedure, lines 18-22
Iteration (loop): Inside procedure, line 14
Step 2: Timeline
With 9 hours of class time, here's a recommended breakdown:
Hours 1-2: Planning & Design
Finalize your idea, create rubric map, write pseudocode, design any UI elements.
Hours 3-5: Core Development
Write your main code, create your procedure, implement the list functionality.
Hours 6-7: Testing & Debugging
Test with multiple inputs, fix bugs, ensure all requirements are met.
Hours 8-9: PPR & Polish
Create your Personalized Project Reference, add comments, final review.
6. Writing Your Code
Example: Grade Calculator in Python
Here's a complete example that meets all requirements:
7. Creating Your Personalized Project Reference (PPR)
The PPR is what you submit to College Board and what you'll have access to on exam day.
📸 What to Include in Your PPR
- Procedure Definition: Screenshot showing your entire procedure with the parameter(s)
- Procedure Call: Screenshot showing where you call your procedure with argument(s)
- List Usage: Screenshot showing where your list is being used in your program
- Screenshots must be clear and readable (at least 10-point font)
- Do NOT include comments in your PPR code segments
- Do NOT include any personally identifying information
- Submit as final by April 30 deadline
8. Exam Day Written Responses
On exam day, you'll have 60 minutes to answer two written response questions about YOUR code from your PPR.
Written Response 1: Program Purpose and Function
Describe the overall purpose, functionality, and input/output of your program.
💡 Purpose vs. Function
Purpose (WHY): "To help students track and improve their academic performance"
Function (WHAT): "The program collects grade values from the user, calculates the average, and displays the corresponding letter grade"
Written Response 2: Algorithm and Abstraction
2(a) - Data Abstraction (List)
Explain what data is stored in your list, how it's used, and why a list is necessary.
2(b) - Procedural Abstraction
Describe what your procedure does and how the parameter affects its behavior.
2(c) - Algorithm
Explain how sequencing, selection, AND iteration work together in your procedure.
9. Common Mistakes to Avoid
❌ Procedure doesn't have a parameter
Creating a function that uses global variables instead of accepting data through a parameter.
❌ List doesn't manage complexity
Using a list just to store one or two values, or using it only for display without processing.
❌ Missing sequencing, selection, OR iteration in procedure
Having a loop in main code but not inside your procedure, or missing an if statement.
❌ Can't explain your own code
Copying code from a tutorial or getting too much help, then struggling to explain how it works.
❌ Confusing purpose and function
Writing "the purpose is to calculate averages" (that's function, not purpose).
10. Final Submission Checklist
🔍 Before You Submit Your PPR
- Your program runs without errors
- You have a procedure with at least one parameter
- Your procedure contains sequencing, selection, AND iteration
- You use a list that stores multiple values
- Your list is used meaningfully (not just for display)
- Your program has clear input from the user
- Your program produces output based on that input
- Your PPR screenshots are clear and readable
- There are NO comments in your PPR code segments
- There is NO personally identifying information
- You can explain every line of your code
- You can describe TWO different test cases with different arguments
- You understand the difference between purpose and function
- You submitted as FINAL in AP Digital Portfolio
Need More Help With Your Create Task?
Get personalized guidance from an experienced AP CS teacher. I've helped hundreds of students succeed on the Create Task.
Get 1-on-1 Tutoring → Back to AP CSP HubGet 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.
tanner@apcsexamprep.com
Courses
AP CSA, CSP, & Cybersecurity
Response Time
Within 24 hours
Prefer email? Reach me directly at tanner@apcsexamprep.com