Start outline/write-up of materials required for CollegeBoard:

In order to submit my work for the “Create Performance Task” section of the “AP Computer Science Principles” exam, I will need to gather all necessary materials such as my written response, program code, and video demonstration. I will also need to ensure that my work adheres to the guidelines set by CollegeBoard in terms of format and content. Additionally, I will need to prepare an outline that clearly explains the different aspects of my project and how they align with the six scoring categories of the CPT.


Describe portion of Project that will be used for “Create Performance task”:

The portion of my project that will be used for the “Create Performance Task” will be scoring feature. This also includes some functions of the leaderboard. The score that users receive will be stored and displayed on the learerboard. These elements will be demonstrated in the video and written portions of the CPT, and my code will be evaluated based on how it implements these features.


Describe code plan as it is required for CollegeBoard:

The code plan for the “Create Performance Task” must meet the requirements of the six scoring categories outlined by CollegeBoard. This includes demonstrating input, program functionality, and output in the video, as well as providing program code segments that show the use of data abstraction, managing complexity, procedural abstraction, and algorithmic implementation. Additionally, the written response must include a detailed explanation of how the identified algorithm works and how it contributes to the overall functionality of the program.


Consider what will be demonstrated in video, aka video plan:

In the video portion of the “Create Performance Task”, I will demonstrate the various features of the memory card game website, such as the registration and login process, the game play, and the leaderboard feature. Additionally, I will make sure that the video is well-produced and easy to follow, as this is also part of the evaluation criteria.




For the “Program Purpose and Function” category, the video will demonstrate the running of the program, including input, program functionality, and output. In the video, I will be playing a round of the game and then I will show that my score has been sent to the leaderboard. The written response will describe the overall purpose of the program, and explain what functionality of the program is demonstrated in the video, as well as describe the input and output of the program demonstrated in the video.

For the “Data Abstraction” category, the written response will include the required code segments. The first will show how data is stored in a collection type, such as a list, and the second will show the data being used as part of fulfilling the program’s purpose. In the written response, I will identify the name of the variable representing the list being used and describe what the data contained in the list is representing in the program. For example, I will show how the program stores the player’s name and score in an array and how that data is used to update the leaderboard.

For the “Managing Complexity” category, I will explain how the selected list manages complexity in the program code by explaining why the program code could not be written, or how it would be written differently, without using this list. For example, I will show how the program uses a list to keep track of the cards that have been flipped and their positions, which allows the program to determine if the cards match and update the game state accordingly.

For the “Procedural Abstraction” category, I will explain a procedure with at least one parameter that has an effect on the functionality of the procedure, and the second will show where the procedure is being called. I will describe what the identified procedure does and how it contributes to the overall functionality of the program. For example, I will show how the program uses a procedure to check if the cards match and update the game state accordingly, which is called every time the user flips a card.

For the “Algorithm Implementation” category, I will explain in detailed steps how the identified algorithm works in enough detail that someone else could recreate it. For example, I will show how the program uses an algorithm to shuffle the cards at the start of a new game, which involves iterating through the array of cards, selecting two random cards, and swapping their positions.

For the “Testing” category, I will describe the conditions being tested by each call to the procedure and identify the result of each call. For example, I will show how the program tests the procedure that checks if the cards match by calling it with different card combinations and verifying that the game state is updated correctly.

NOTE: THIS IS JUST AN OUTLINE AND I AM NOT GOING TO USE THIS AS MY FINAL PLAN. THIS IS ONLY A GUIDE.