Create Performance Task

The AP Computer Science Principles (AP CSP) Create Performance Task is a pivotal component of the course, allowing students to demonstrate their programming skills and creativity. Recent updates have altered how the written response is handled, making it essential to understand the current requirements and effectively navigate the process from idea conception to project execution.

Understanding the Create Performance Task

The Create Performance Task requires students to develop a program that performs a meaningful function, showcasing their understanding of programming concepts and problem-solving abilities. This task emphasizes creativity and the practical application of coding skills.

Key Components:

Program Code: Develop a working program that includes:

  • At least one list (or similar data structure) to manage or process data.
  • A student-developed procedure that:
    • Contains at least one parameter.
    • Incorporates an algorithm that includes sequencing, selection, and iteration.
  • An algorithm that integrates two or more algorithms to achieve a specific goal.

Video Demonstration: Record a brief video (approximately 1 minute) demonstrating the program’s functionality and how it meets the intended purpose.

Personalized Project Reference: Instead of a traditional written response, students now create a Personalized Project Reference containing screenshots of their program’s code, particularly highlighting the list and the developed procedure. This reference is submitted through the AP Digital Portfolio and is accessible during the end-of-course exam.

Important Update: As of the 2023-24 academic year, the written response component has been integrated into the end-of-course exam. Students will respond to questions related to their Personalized Project Reference during the exam, making it crucial to submit this reference by the specified deadline.

From Idea to Execution: A Step-by-Step Guide

1. Incorporate a Data Structure for Lists

Your program must include at least one list or data structure that can store multiple values. Think of it as a way to organize data—whether it’s a list of quiz questions, user scores, or items in a shopping cart. This list should play a key role in your program’s functionality.

Example: If you’re building a quiz game, you might store all the questions and answers in a list to easily cycle through them during gameplay.

2. Add Conditional Logic

You’ll need to include conditional statements (like if or else statements) to control the flow of your program. This allows the program to make decisions based on certain conditions, adding flexibility and interactivity.

Example: In a quiz game, you can use conditionals to check if the user’s answer matches the correct answer, then provide feedback based on whether it’s right or wrong.

3. Implement Iteration (Loops)

To meet the requirements for iteration, your program should include repeated actions, often achieved with loops (for or while loops). Loops are perfect for tasks like going through a list, running calculations repeatedly, or allowing a user to retry an action until they get it right.

Example: In the quiz game, a loop can be used to go through each question in the list, allowing the game to repeat until all questions are answered.

4. Develop a Custom Procedure with a Parameter

Your program should have at least one custom procedure (function or method) that takes in a parameter. This custom code block helps organize your program and makes it more modular, allowing you to call the same procedure with different values.

Example: A custom procedure for displaying feedback could take in a parameter for the user’s score and provide a different message depending on their performance.

5. Use Sequencing, Selection, and Iteration Together

The core elements of your program should include a blend of sequencing (executing steps in order), selection (conditional logic), and iteration (repeated actions). These are key to making a program dynamic and responsive.

Example: In a game, sequencing is used to display questions, selection checks for correct answers, and iteration cycles through each question.

6. Test and Debug Your Program Thoroughly

Finally, testing and debugging are crucial. Run your program with different inputs, test edge cases, and ensure that each part of your code functions as expected. This will help you catch any errors and ensure a smooth user experience.


By following this structured approach, you can effectively navigate the Create Performance Task, from initial idea conception to final execution and exam preparation. Staying organized and adhering to deadlines are crucial for success.

Leave a comment