College Board ยท Create Performance Task

AP Computer Science Principles Create Performance TaskPPR Scoring Guide and College Board Resources (2022 to 2025)

Everything students need to earn full points on the AP CSP Create PT: the 6-point rubric explained row by row, College Board scoring guidelines and sample submissions for every available year, the PPR written responses unpacked, and the mistakes that cost the most points per College Board reader observations.

AP Computer Science Principles Create Performance Task resources

Type
Year

9 of 9 resources

2025

3 files
  • 2025 AP Computer Science Principles Create PT Scoring Guidelines (Set 1)

    Scoring Rubric

    Covered: 6-point PPR rubric applied to 2025 student submissions: program purpose and function, data abstraction, managing complexity, procedural abstraction, algorithm implementation, testing

    Open PDF
  • 2025 AP Computer Science Principles Create PT Scoring Guidelines (Set 2)

    Scoring Rubric

    Open PDF
  • 2025 AP Computer Science Principles Chief Reader Report (Set 1)

    Chief Reader Report

    Open PDF

2024

2 files
  • 2024 AP Computer Science Principles Create PT Scoring Guidelines

    Scoring Rubric

    Covered: 6-point rubric applied to 2024 student PPR submissions: data abstraction with list shown and named, managing complexity explanation, algorithm with sequencing and selection and iteration, testing with two distinct input values

    Open PDF
  • 2024 AP Computer Science Principles Sample Submissions and Score Commentary

    Sample Submissions ยท official archive

    Open PDF

2023

2 files
  • 2023 AP Computer Science Principles Create PT Scoring Guidelines

    Scoring Rubric

    Covered: First year of PPR only format (no video). Rubric applied to data abstraction responses, algorithm implementation with procedural abstraction, and testing with two test cases and expected vs actual results

    Open PDF
  • 2023 AP Computer Science Principles Create PT Sample Submissions

    Sample Submissions

    Covered: Sample PPR responses across score levels with College Board reader commentary explaining why each row was earned or not earned

    Open PDF

2022

1 file
  • 2022 AP Computer Science Principles Create PT Scoring Guidelines

    Scoring Rubric

    Covered: Last year of the written response plus video format before PPR transition. Rubric covers program purpose and function (video), data abstraction, managing complexity, procedural abstraction, algorithm implementation, testing

    Open PDF

2021 and earlier

1 file
  • 2021 and earlier AP Computer Science Principles Create PT resources (official archive)

    Create PT Guidelines ยท official archive

    Open PDF

A school year program development project, not a timed exam section

What it is

30% of the AP Computer Science Principles score

Weight

At least 12 hours of dedicated class time

Class time requirement

April 30 each year (digital submission to College Board)

Submission deadline

Personalized Project Reference (PPR): two written responses, no video since 2023

What you submit

6 points total, each row scored 0 or 1 by College Board readers

Rubric

Any approved language: Python, JavaScript, Java, Scratch, and others accepted

Language

Program may be developed with a partner; the PPR written responses must be your own

Collaboration

What does the AP Computer Science Principles Create Performance Task test?

The Create PT tests whether you can design and implement a program that solves a real problem, then explain in writing how you used data abstraction and algorithmic thinking to do it.

Unlike the multiple choice section that asks you to read and reason about provided code, the Create Performance Task requires you to produce original work over weeks. You build a program using any approved language, then submit the Personalized Project Reference, two written responses that explain specific elements of your program. The first response covers data abstraction: you show a code segment that uses a list to manage complexity, explain what the list stores, and explain why storing that data in a list is more manageable than an alternative approach. The second response covers algorithm implementation with procedural abstraction: you show a procedure you developed that includes sequencing, selection, and iteration, then describe what the procedure does and how its algorithm works. College Board readers score your PPR against a 6-point rubric, with each of the six rows worth exactly 1 point. Per the AP Computer Science Principles Course and Exam Description published by College Board, the Create PT accounts for 30 percent of the total AP score.

What are the two Create PT written responses?

Response 1 demonstrates data abstraction. Response 2 demonstrates algorithm implementation with procedural abstraction. Each is scored against three dedicated rubric rows.

The Personalized Project Reference is not a traditional written essay. It is a structured submission with two responses, each tied to specific code segments from your program. You submit screenshots or copies of your code alongside the written explanations. College Board readers evaluate each response against precise rubric criteria, awarding 0 or 1 point per row. Both responses draw from the same program, so a program with a well developed algorithm and meaningful use of a list sets up both responses to succeed.

Response 1: Data Abstraction (Rubric Rows 2 and 3)

You submit two code segments: one that shows your list being created or modified, and one that shows the list being used in a way that does not include the creation or modification. You then name the list variable and describe what the data in the list represents. Finally, you explain how your list manages the complexity of your program: why using a list makes the program more manageable than if you had not used a list. Row 2 awards 1 point when the code segments are present, the list name is identified, and the data stored is described. Row 3 awards 1 point when the managing complexity explanation goes beyond saying the list stores multiple values and instead explains the specific role the list plays in reducing the complexity of your particular program.

Response 2: Algorithm Implementation with Procedural Abstraction (Rubric Rows 4 and 5)

You submit a code segment that shows a procedure you developed. You identify the procedure name and explain what it does. Then you explain how the algorithm in the procedure works: describing the sequencing, selection, and iteration present in the procedure, and explaining what happens at each step. Row 4 awards 1 point when the procedure has a student developed name, at least one parameter, and a call to the procedure elsewhere in the program. Row 5 awards 1 point when the response identifies and explains the sequencing, selection, and iteration within the procedure and describes how the algorithm achieves its result. A procedure that simply calls a built in function without containing student written logic cannot earn Row 5.

Row 1: Program Purpose and Function

This row asks you to identify the overall purpose of your program and describe what your program does. The distinction between purpose and function is important: program purpose is the problem the program solves or the goal it achieves (why it exists), while program function is what the program does when it runs (what happens step by step). Row 1 earns 1 point when the response correctly describes both and the described function matches what the submitted code actually does. Note: the video component that previously supported Row 1 was removed from AP CSP beginning in 2023. The current format asks you to describe program purpose and function in writing only.

Row 6: Testing

You describe two test cases for your program using two different input values. For each test case, you identify the input, the expected output, and the actual result. Row 6 earns 1 point when the two test cases use genuinely different input values (not the same value twice or the same category of value), the expected and actual results are both stated, and the results are consistent with what the code actually does. College Board readers verify that the described tests are plausible given the code segments submitted. Test cases that describe the same type of input, or that report expected results that contradict what the code would produce, do not earn Row 6.

How is the AP CSP Create Performance Task scored?

Six College Board readers each independently apply one rubric row to your PPR. Each row is worth exactly 1 point with no partial credit, for a maximum score of 6.

The Create PT is scored centrally by College Board readers, not by your teacher. Your submitted PPR, including your written responses and code segments, is read by trained readers who apply the scoring rubric. The rubric has six rows, and each row is either earned (1 point) or not earned (0 points). There is no partial credit within a row and no penalty for attempting a response. The 6 raw points from the Create PT are weighted to equal 30 percent of the overall AP score. Per College Board's scoring guidelines published annually, the rubric rows are: Row 1 (program purpose and function), Row 2 (data abstraction), Row 3 (managing complexity), Row 4 (procedural abstraction), Row 5 (algorithm implementation), and Row 6 (testing). Rows 2 and 3 together address the data abstraction response. Rows 4 and 5 together address the algorithm implementation response. Your score is not curved or adjusted based on what other students submitted. The rubric criteria are fixed and the same for every student in every year.

Worked example: how a Create PT PPR response earns or loses each rubric row

Row 3 (managing complexity) and Row 5 (algorithm implementation) are the two rows most frequently not earned per College Board reader observations. Both require specific explanatory moves that students most often miss.

The example below traces the distinction between a response that earns each rubric row and one that does not, using a hypothetical program that manages a playlist. The program stores song titles in a list and uses a procedure that filters songs by genre. This type of program is representative of the programs students submit: it involves a list with a meaningful use, a procedure with parameters, and at least one conditional and one loop. The rubric analysis is grounded in the scoring criteria College Board has published in the 2023 and 2024 scoring guidelines, which show consistent row-by-row commentary on what earns and loses each point.

  1. Row 3: Explain how the list manages complexity in the program

    Rubric: 1 point earned when the response explains why using a list makes the program more manageable than an alternative, connecting the explanation to the specific role the list plays in the student's program. The explanation must go beyond stating that a list can store multiple values.

    Earns the point: The program stores song titles in a list called playlist. Without this list, the program would need a separate variable for each song, and the filtering procedure could not loop over the songs to check each title against the genre. Using a list allows the procedure to process all songs with a single loop regardless of how many songs are in the playlist, making the program manageable at any scale.

    Loses the point: The list playlist stores multiple song titles. Without a list, it would be difficult to manage the data. This response restates that a list stores multiple values without explaining how the list specifically reduces the complexity of this program. It does not address why a separate variable approach would be harder or what the list enables that individual variables would not.

  2. Row 5: Describe how the algorithm in the procedure works, including sequencing, selection, and iteration

    Rubric: 1 point earned when the response identifies sequencing, selection, and iteration present in the procedure and explains the role each plays in how the algorithm achieves its result. The procedure must contain student written logic, not just a call to a built in function.

    Earns the point: The procedure filterByGenre takes the playlist list and a genre string as parameters. It first creates an empty list to store matches (sequencing). It then loops over each song in the playlist (iteration). Inside the loop, it checks whether the song's genre attribute equals the target genre (selection). If the condition is true, the song is added to the results list. After the loop completes, the procedure returns the results list. Each step is necessary: the loop ensures every song is checked, the conditional ensures only matching songs are added, and the return sends the filtered results back to the calling code.

    Loses the point: The filterByGenre procedure goes through each song and adds it to a list if it matches. It uses a loop and an if statement. This response identifies that a loop and conditional are present but does not describe the sequencing of steps, does not explain what each step accomplishes, and does not explain how the algorithm produces its result. Identifying the presence of the three components without explaining how they work together does not earn Row 5.

  3. Row 6: Describe two test cases with different input values

    Rubric: 1 point earned when the two test cases use different input values (not the same value or same category of value), both state expected and actual results, and the results are consistent with what the code would produce.

    Earns the point: Test case 1: Input is an empty playlist list and genre string jazz. Expected result is an empty list returned. Actual result is an empty list. Test case 2: Input is a playlist containing four songs, two tagged jazz and two tagged pop, with genre string jazz. Expected result is a list containing the two jazz songs. Actual result matches the expected result. These two cases test different boundary conditions (empty input vs. populated input) and use different input values.

    Loses the point: Test case 1: Input genre is jazz, playlist has songs. The procedure returns jazz songs. Test case 2: Input genre is pop, playlist has songs. The procedure returns pop songs. Although these cases use different genre strings, they do not describe the full input (what songs are in the playlist), do not state expected output precisely, and do not confirm actual results. They describe the same category of test rather than genuinely different conditions.

Across all six rubric rows, the pattern is the same: the scoring rubric rewards specificity about your program. Generic statements about what lists do or what loops do in general lose points; specific statements about what your list does and how your algorithm works in your program earn them. The students who earn 5 or 6 points on the Create PT are not writing more impressive programs than students who earn 3 or 4 points. They are writing more precise, program specific explanations in their PPR responses. Practicing with the official scoring guidelines and reading the sample submissions at each score level is the most efficient preparation available.

Common AP Computer Science Principles Create Performance Task mistakes

  1. 01

    Selecting a procedure that only calls built in functions, earning zero points on Row 5

    Row 5 requires a student developed procedure that contains the student's own algorithm logic, including sequencing, selection, and iteration. Students who submit a procedure whose body consists entirely of calls to built in language functions or library methods (for example, a procedure that calls sort() or filter() from a standard library) have not demonstrated that they developed the algorithm. College Board readers cannot award Row 5 to a procedure that delegates all logic to built in operations, because there is no student written algorithm to evaluate. Per College Board reader observations from multiple administrations, this is one of the most consistent sources of Row 5 failures. The fix is to ensure the selected procedure contains a student written loop and a student written conditional, not delegated equivalents.

    AP Computer Science Principles scoring guidelines and College Board reader commentary 2022 to 2024, Row 5 criteria

  2. 02

    Failing to show both the segment with the list and the segment without the list for Row 2

    Row 2 requires two distinct code segments: one where the list is created or modified, and a separate one where the list is used in a way that does not include creation or modification. Students frequently submit only one code segment showing general use of the list, or two segments where both show the same type of use. The rubric is explicit: the two segments must be distinct, with one showing list creation or population and the other showing the list being accessed or processed in a separate context. Per the scoring guidelines published for 2023 and 2024, responses that show only one code segment or two segments that both show list creation do not earn Row 2 regardless of how well the written explanation explains the list's role.

    AP Computer Science Principles scoring guidelines 2023 and 2024, Row 2 criteria

  3. 03

    Explaining managing complexity in generic terms rather than program specific terms, losing Row 3

    Row 3 is the row most commonly not earned in the data abstraction section. The rubric requires the response to explain how the specific list in the student's program manages the specific complexity of that program, not how lists manage complexity in general. Responses that write only that a list can store multiple values without extra variables, or that without a list the program would be harder to manage, describe what lists do in general rather than what this list does in this program. College Board reader observations consistently flag this as the gap between Row 2 earners and students who earn both Row 2 and Row 3. The explanation must identify the concrete alternative (what the program would look like without the list) and explain why that alternative would be more complex given the program's specific operations.

    AP Computer Science Principles scoring guidelines and College Board reader commentary 2022 to 2024, Row 3 criteria

  4. 04

    Missing one of the three algorithm components (sequencing, selection, or iteration) in the Row 5 explanation

    Row 5 requires the response to describe a procedure that includes sequencing, selection, and iteration, and to explain how each contributes to the algorithm. Students who describe only two of the three components, or whose procedure code does not contain all three (for example, a procedure with a loop but no conditional), cannot earn Row 5. This is both a code selection error and an explanation error: students must first choose or develop a procedure that genuinely includes all three components, then explicitly identify all three in their explanation. Per College Board reader observations, the most common omission is failing to identify or explain sequencing, which students often treat as implicit. Sequencing must be explicitly described in the response, not assumed.

    AP Computer Science Principles scoring guidelines 2022 to 2024, Row 5 criteria and College Board reader commentary

  5. 05

    Submitting two test cases that use the same input type or category rather than different argument values

    Row 6 requires two test cases with different input values, and the difference must be meaningful: the two inputs should test different conditions or behaviors, not simply be two instances of the same type of valid input. Per the scoring guidelines, two test cases that both use non empty string inputs of the same category (for example, two different genre names with the same playlist) are less likely to earn Row 6 than test cases that exercise genuinely different conditions (for example, an empty input versus a populated input, or an input that produces a result versus one that produces no result). College Board reader commentary across multiple years identifies test cases that differ only in the surface value of the input, without testing different behaviors, as a frequent source of Row 6 losses.

    AP Computer Science Principles scoring guidelines 2022 to 2024, Row 6 criteria and College Board reader commentary

  6. 06

    Confusing program purpose with program function, losing Row 1

    Row 1 requires students to correctly identify both program purpose and program function, and many responses conflate the two or describe only one. Program purpose is the problem the program solves or the goal it serves: why it was created. Program function is what the program does when it runs: the specific behavior observable in the output. A response that writes only what the program does (function) without identifying why it exists (purpose) does not earn Row 1. Per College Board's scoring guidelines, the most frequently not earned version of this error is describing the program's mechanics (what happens step by step) without ever stating the problem being solved or the audience being served. The fix is a single sentence that states the purpose before describing the function.

    AP Computer Science Principles scoring guidelines 2022 to 2024, Row 1 criteria

How do you prepare effectively for the AP CSP Create Performance Task?

The highest return preparation is reading the official scoring guidelines for 2023 and 2024 and the sample student submissions with reader commentary, then drafting your own PPR responses and checking them row by row against the rubric.

Unlike timed exam sections where practice under time pressure is the primary training method, the Create PT rewards deliberate iteration over weeks. Start by reading the College Board scoring guidelines for a recent year, both of which are linked from this page. The guidelines include the exact rubric language for each row plus sample scored responses showing what earns and what does not. After reading, draft your two PPR responses as if submitting them today, then check each response against the row criteria: Row 2 asks whether you have two distinct code segments; Row 3 asks whether your complexity explanation is program specific; Row 5 asks whether you have explicitly described sequencing, selection, and iteration by name. Students who check their drafts against the row criteria before the April 30 deadline consistently earn more rubric points than students who submit responses written only from memory of general rubric guidance. The 2023 sample submissions document linked from this page includes responses at the 3 of 6, 4 of 6, and 5 of 6 score levels with annotated reader commentary explaining every row that was and was not earned. That annotation is the single most efficient preparation tool available at no cost.

  1. 1

    Choose a program idea early in the school year and stick with it. The Create PT is scored on what you submit by April 30, not on what you intended to build. Students who pivot their program topic late in the year often submit incomplete or poorly documented work because they have less time to develop meaningful list use and algorithm complexity.

  2. 2

    Build your program around a list from the beginning. The data abstraction response (Rows 2 and 3) requires a list that genuinely manages complexity in your program. Retrofitting a list into a finished program often produces a list that does not meaningfully reduce complexity, which loses Row 3. Design the program so the list is central to how it works, not an add-on.

  3. 3

    Write your own algorithm logic. Do not select a procedure that delegates all work to built in functions. Your Row 5 procedure must contain a student written loop (iteration) and a student written conditional (selection). If your procedure body is mostly library calls, rewrite it so the core logic is yours, calling the library only for input and output operations.

  4. 4

    Draft your PPR responses before the submission deadline and read each response against the rubric criteria published in the scoring guidelines. For Row 3, ask yourself: have I explained what would be harder about my specific program if I had not used a list? For Row 5, ask yourself: have I identified and explained sequencing, selection, AND iteration by name?

  5. 5

    Pick two test cases that test genuinely different conditions. The best test cases for Row 6 test edge cases: an empty input, the maximum input, an input that should return nothing, and an input that should return something. Two test cases that differ only in which valid value you entered are weaker than cases that exercise different branches of your program logic.

  6. 6

    Distinguish purpose from function in your Row 1 response. Write one sentence that states what problem your program solves or what goal it serves (purpose). Then write one or two sentences describing what the program does when run (function). If you find yourself writing only about what the program does, add a sentence before it that starts with: this program was designed to solve or this program exists to help.

  7. 7

    Do not describe your procedure in abstract or general terms in Response 2. Instead of writing that the procedure processes data and returns a result, describe the specific steps of your specific algorithm: what it initializes, what condition it checks in the loop, what it adds or modifies when the condition is true, and what it returns. Use the variable names and operation names from your actual code.

  8. 8

    Read at least two sample submissions from the College Board archive before submitting your PPR. The sample submissions for 2023 and 2024 are linked from this page and include reader commentary explaining why each row was or was not earned. Reading a sample that earned 4 out of 6 and understanding which two rows it missed is more efficient preparation than re-reading the rubric criteria alone.

AP Computer Science Principles Create Performance Task FAQ

How long does the AP Computer Science Principles Create Performance Task take?

College Board requires a minimum of 12 hours of dedicated class time for the Create Performance Task, spread across the school year. Most students spend additional time outside of class developing and refining their program. The Personalized Project Reference written responses are typically completed in the weeks before the April 30 submission deadline. Unlike a timed exam section, there is no single-sitting time limit; the Create PT is designed as a sustained project developed over the course of the school year.

What can I use from the internet for the Create PT?

You may use code found on the internet as part of your program, provided you properly credit the source and it is used appropriately. However, the procedure you select for the algorithm response (Rows 4 and 5) must be substantially your own development. Per College Board guidelines, responses submitted for scoring must represent your own work; submitting a procedure written entirely by someone else and claiming it as your own violates academic integrity policies. Library calls and APIs are permitted, but the core algorithm logic in the Row 5 procedure must be student developed, not copied from an external source.

Can I work with a partner on the AP CSP Create PT?

You may collaborate with a partner on developing the program during the school year. However, the Personalized Project Reference written responses must be entirely your own work. College Board requires that each student submit their own PPR independently, even if two students developed the same or a similar program together. Both students submit separate PPR responses, and each response is scored independently. Submitting the same written responses as a partner violates College Board's academic integrity policies and can result in a score of zero on the Create PT.

What happens if I submit the Create PT late?

The April 30 deadline for Create PT submission is firm. College Board does not accept late submissions except in cases of documented extenuating circumstances approved in advance. Students who do not submit by the deadline receive a score of zero on the Create PT component, which equals 30 percent of the AP score. A zero on the Create PT makes earning a score of 3 or higher substantially more difficult. Contact College Board through your AP coordinator well in advance of the deadline if you believe you have grounds for a deadline extension.

How is the PPR scored and who scores it?

The Personalized Project Reference is scored centrally by trained College Board readers, not by your teacher. Each of the six rubric rows is scored independently at 0 or 1 point. Readers apply the rubric criteria published in the annual scoring guidelines. Scores are not curved or adjusted based on other students' submissions. The 6 raw Create PT points contribute 30 percent of the final AP score through a weighting formula. Your score is final after the scoring process; individual row commentary is not provided to students, though the rubric criteria and sample scored responses are publicly available.

What programming language should I use for the Create PT?

Any approved programming language is accepted. College Board accepts Python, JavaScript, Java, Scratch, App Lab (using JavaScript), Snap!, and other languages that can be run and submitted in approved formats. Choose the language you are most comfortable with and that best supports the type of program you want to build. The rubric does not favor any specific language. The scoring guidelines and sample submissions show programs in multiple languages. If you are learning programming for the first time in AP CSP, Python and App Lab are the most commonly used languages in the course.

What is the difference between the program purpose and the program function for Row 1?

Program purpose is why the program exists: the problem it solves or the goal it serves. Program function is what the program does when it runs: the operations it performs and the outputs it produces. For example, a program that helps students track their study hours has a purpose of helping students manage their time, and a function of recording study sessions, calculating totals, and displaying a summary. Row 1 requires both to be correctly described. A common error is writing only about function (what the program does) without stating purpose (why it was created or what problem it addresses).

Has the Create PT format changed recently?

Yes. Beginning in 2023, College Board changed the Create PT format to remove the video submission component. The current format requires only the Personalized Project Reference, two written responses submitted digitally by April 30. Before 2023 (the 2022 exam and earlier), students submitted both written responses and a short video of their program running. Scoring guidelines and sample submissions from 2022 and earlier reflect the old format with a video component; the 2023 and 2024 materials linked from this page reflect the current PPR only format.

How many rubric points does the average student earn on the Create PT?

Based on College Board's annual scoring data, most students who complete and submit the Create PT earn 3 to 5 out of 6 rubric points. Students who earn fewer than 3 points most commonly miss Rows 3 and 5 (the managing complexity explanation and the algorithm implementation description), which are the two rows that require the most program specific written detail. Students who earn 6 out of 6 typically submit programs with clear algorithmic complexity and write PPR responses that explicitly address every rubric criterion by name. Approximately 65 percent of test takers earned a score of 3 or higher on AP CSP in 2024 per College Board's annual score distribution.

What is the Personalized Project Reference and how is it different from the old written response?

The Personalized Project Reference is the current written response format introduced in 2023. It replaced the previous format, which included both written responses and a video submission. The PPR consists of two structured responses with required code segment screenshots: Response 1 addresses data abstraction (Rows 2 and 3), and Response 2 addresses algorithm implementation with procedural abstraction (Rows 4 and 5). Row 1 (program purpose and function) and Row 6 (testing) are also scored from the PPR. The PPR is submitted digitally through the AP Digital Portfolio by April 30. Unlike the old format, no video is required or accepted in the current PPR only format.

Do I need to use a specific type of list for the data abstraction response?

The data abstraction response requires a list, which College Board defines broadly as any ordered collection of items that can be stored and accessed by index. In Python this is a list. In JavaScript this is an array. In Java this is an array or ArrayList. In Scratch this is a list block. The list must be used to store data that represents multiple related values relevant to your program. A list of integers, strings, or objects all qualify. The key requirement is that the list genuinely manages complexity in your program, meaning it enables an operation (typically a loop over the stored items) that would be significantly harder or impossible without it.

Where can I find official sample Create PT submissions to study?

College Board publishes sample student submissions with reader commentary annually on the AP Computer Science Principles past exam questions page. The 2023 sample submissions document is directly linked from this page and includes complete PPR responses at multiple score levels with annotated rubric commentary explaining each row. The 2024 materials are available via the College Board archive hub also linked here. Reading sample submissions at the 3 of 6, 4 of 6, and 5 of 6 levels with reader commentary is the most efficient way to understand the gap between what earns and what loses each rubric point.

More AP Computer Science Principles resources

Working on your AP CSP Create Performance Task?

An AI tutor that reviews your PPR written responses against the 6-point rubric, identifies which rows are at risk, and guides you toward the specific language that earns each point.

Start free with Tutorioo