Back

Create Performance Task Checklist

A practical, evidence-based checklist for AP CSP Create PT success.

divider

How to Use This Checklist

  • Every checkbox should be an honest yes.
  • If you can't point to it in your code, it doesn't count.
  • Simple and explainable beats impressive and confusing.

1) Program & Input

  • ☐ My program responds to something the user does.
  • ☐ The user's input changes what the program does.
  • ☐ I can point to the exact line where input happens.

If the user did nothing, the program would behave differently or not work.

Input Example
// INPUT: data comes from the user
let response = prompt("Type yes or no").toLowerCase();

2) List (Array)

  • ☐ I use one list that stores multiple related values.
  • ☐ The list is used more than once.
  • ☐ The program would be worse without this list.
  • ☐ I can explain why this list is better than separate variables.
List Example
// LIST: stores multiple related values
let answers = [];
answers.push("yes");
answers.push("no");

3) Student-Developed Procedure (Function)

  • ☐ I wrote this procedure myself.
  • ☐ It has at least one parameter.
  • ☐ It is called at least once.
  • ☐ It does meaningful work.

The procedure does not need to be called more than once.

Procedure Example
// STUDENT-DEVELOPED PROCEDURE with a PARAMETER
function analyzeAnswers(answerList)
{
let score = 0;
return score;
}

4) Algorithm (Inside the Procedure)

Sequencing

  • ☐ The procedure has multiple steps that run in order.

If your procedure has more than one line that executes top-to-bottom, you have sequencing.

Selection

  • ☐ The procedure uses an if statement.

Iteration

  • ☐ The procedure uses a while loop.

All three must appear inside the same student-developed procedure.

Algorithm Example (while + if)
// ALGORITHM inside the procedure
function analyzeAnswers(answerList)
{
let score = 0;
let i = 0;
// ITERATION
while (i < answerList.length)
{
// SELECTION
if (answerList[i] === "yes")
{
score++;
}
i++;
}
return score;
}

5) Output

  • ☐ The program produces visible output.
  • ☐ The output depends on user input and processing.
Output Example
// OUTPUT depends on processing
console.log("Yes count:", result);

6) Video

  • ☐ Shows user input.
  • ☐ Shows the program running.
  • ☐ Shows output.
  • ☐ No narration required.

7) Written Responses

  • ☐ I reference my list, procedure, and algorithm.
  • ☐ I explain what the code does.
  • ☐ I answer exactly what the prompt asks.

8) Final Sanity Check

  • ☐ I can explain my entire program calmly. If you can point to it and explain it calmly, AP will count it.
  • ☐ I did not add features "just in case."
  • ☐ Every major part of my code exists for a rubric reason.