This lesson introduces the AP CSP Create Performance Task (Create PT)
with one goal: clarity. Students should leave understanding what the
task is, what must exist in their code, and why simple + explainable
beats impressive + confusing.
Create Performance Task
Lesson 1: What AP Actually Wants
Today’s goal: remove confusion, reduce anxiety, and make the task
feel doable.
Today’s Plan
What the Create PT is (plain English)
What you submit
The Big Three required code elements
What doesn’t matter as much as you think
What counts as input
A minimum-viable mental model
Exit check
What is the Create PT?
You will build a small program of your choice and explain parts of
it to prove you understand core computer science ideas.
This is an evidence task — not an “impress the grader” contest.
What You Submit
Program Code (your proof)
Video (shows input → output)
Written Responses (explain how your code meets requirements)
The grader typically does not run your program. They score based
on what you clearly show and explain.
What the Grader Actually Sees
Your video
Your written responses
Your code
So your job is to make your evidence easy to find.
The Big Three Your Code Must Include
1) A List (stores related data in a way that matters)
2) A Student-Developed Procedure with a parameter
3) An Algorithm inside that procedure with:
Sequencing
Selection (if)
Iteration (a while loop)
One strong procedure can satisfy multiple requirements.
Lists That “Count”
Counts when…
It stores multiple values over time
You use it meaningfully (read + update)
The program would be worse without it
Often doesn’t count when…
You use it once and forget it
It only holds one value
It could be replaced with 2–3 simple variables
Procedures That “Count”
It must be student-developed (not built-in)
It must have at least one parameter
It should do real work (not just “print one thing”)
It must be called in your program
Parameters help prove your procedure can handle different inputs.
What AP Means by “Algorithm”
AP’s algorithm requirement is about proving you can write logic —
not about advanced math.
Sequencing: steps in order
Selection: decisions using if
Iteration: repetition with a while loop
The algorithm should live inside your procedure.
What Counts as “Input”?
Input is data that comes from outside the program and affects what it does.
Typing into a prompt or text field
Clicking a button / selecting a choice
Data from a file/dataset or sensor
For our “complete” demo today, we’ll use prompt().
What Doesn’t Matter as Much as You Think
Students over-focus on…
Fancy UI / graphics
Huge codebases
Complicated games
Extra features “just because”
What actually helps…
Easy-to-find evidence
Clear input → processing → output
One meaningful list
One strong procedure + algorithm
Simple and explainable beats impressive and confusing.
Minimum-Viable Mental Model
Example concept: Quiz / Survey Analyzer
User responds to questions (input)
Store responses in a list
Call a procedure(parameter) to analyze
Inside the procedure: while loop + if (algorithm)
Display a result (output)
Micro-Activity (3–5 min): Evidence Spotting
With a partner, answer:
What could the list store in the quiz example?
What could the procedure parameter be?
Where would the while loop and if naturally happen?
You are not writing code yet — just locating evidence.
Common Traps (Preview)
Procedure has no parameter
List is used once and forgotten
Algorithm exists, but not inside the procedure
Video doesn’t clearly show input and output
Next lesson: “counts” vs “looks like it counts.”
Exit Ticket
Answer one prompt in 2–3 sentences.
Exit Ticket
1
Pick ONE to answer:
2
3
1) In your own words: what is the purpose of the list in a Create PT program?
4
2) Why does AP require a procedure with a parameter?
5
3) Name one thing students often overdo on the Create PT that doesn’t help their score.
'F' → Fullscreen
Objectives
Describe the Create Performance Task in plain English
Identify the Big Three required code elements (List, Procedure, Algorithm)
Explain what “input” means in a Create PT program
Recognize common Create PT traps before they happen
Activity Tasks
During the micro-activity slide, write down your team’s answers for:
list idea, procedure parameter, and where the while loop + if would go.
Complete the exit ticket (Slide 15) and submit it in your LMS / on paper.
Activity Extension: Minimal Example (Optional, 10–15 min)
If time allows, review the short example program below. This version includes
real user input using prompt() and uses only
while loops.
Your goal is to identify exactly where each Create PT requirement appears.
Example Program (with input + while loops)
demo.js
1
// Create PT "Minimum Viable" Example (concept demo) — with input + while loops only
2
3
// LIST: stores user answers over time
4
let answers =[];
5
6
// INPUT: collect 3 answers from the user
7
let i =0;
8
while(i <3)
9
{
10
letresponse=prompt("Question "+(i+1)+": Type yes or no").toLowerCase();
11
answers.push(response);
12
13
i++;
14
}
15
16
// PROCEDURE (student-developed) with a PARAMETER
17
functionanalyzeAnswers(answerList)
18
{
19
letscore=0;
20
21
// ITERATION (while loop)
22
letindex=0;
23
while(index<answerList.length)
24
{
25
// SELECTION
26
if(answerList[index]==="yes")
27
{
28
score++;
29
}
30
31
index++;
32
}
33
34
// OUTPUT (return value)
35
returnscore;
36
}
37
38
// CALL THE PROCEDURE
39
let result =analyzeAnswers(answers);
40
41
// OUTPUT
42
console.log("You answered 'yes' this many times:", result);
Checklist
Where’s the Evidence?
1
✅ INPUT: prompt() gathers data from the user
2
✅ LIST: answers stores user responses over time
3
✅ PROCEDURE with PARAMETER: analyzeAnswers(answerList)
4
✅ ALGORITHM in the procedure:
5
- Sequencing (steps in order)
6
- Selection (if)
7
- Iteration (while loop)
8
✅ OUTPUT: console.log displays the result
Write the name of the list and the name of the procedure from the example.
Circle the line(s) that show selection and the line(s) that show iteration.
Underline the line(s) that show input and output.
Optional Homework: Safe Program Ideas
Write 2–3 program ideas that fit:
input → list → procedure(parameter) with while loop + if → output.
Reflection Questions
Why might a “simple but clear” program score better than a “big but messy” program?
Which of the Big Three (List, Procedure, Algorithm) do you feel most confident about right now?
Which feels the most confusing?
In your own words, what does it mean to “make the evidence easy to find” for a grader?
Submission
Submit your exit ticket response (and the optional extension notes if assigned)
to the appropriate dropbox.