Create Performance Task - 2024
Create Performance Task - 2024
● College Board: CSP Course Site Exam Info FAQs TIP SHEET
○ Videos: Overview Guidelines Pacing your Project Exam Prompt Categories Scoring
● You are allowed to collaborate with your partner(s) on the development of the
program only.
● The video and Personalized Project References that you submit for this
performance task must be completed individually, without any collaboration
with your partner(s) or anyone else.
● You can develop the code segments used in the Personalized Project
References with your partner(s) or on your own during the Create Task time.
5 5
TClark
General Requirements
You will be provided with a minimum of 9 hours of class time to complete and
submit the following:
1. Final program code (created independently or collaboratively)
2. A video that displays the running of your program and demonstrates
functionality you developed (created independently)
3. Code Segments for your Personalized Project Reference (created
independently)
You must "Submit Final" for each file before the deadline, or that file will not be
considered for scoring.
On the Exam Date, you will have access to your Personalized Project Reference and will write
responses to 4 prompts related to your program and the code contained in your reference sheet.
6 6
TClark
Rules
Once the Create Task has been assigned as part of the AP Exam to submit to the
College Board, you are expected to complete the task without assistance from
anyone except for your partner(s) and then only when developing the program
code. You must follow the Guidelines for Completing the Create Performance Task.
During the final submission process in the AP Digital Portfolio, students will be
asked to attest that they have followed the Performance Task guidelines and have
not plagiarized their submission. Each of the three components of the Create
performance task must be submitted as final to be sent for scoring. Additionally, if
students do not submit their Personalized Project Reference by the deadline, they
will not have this resource available on exam day to complete their written
response section.
7 7
TClark
Academic Integrity and Plagiarism Policy
If you commit plagiarism you will receive a score of 0 on the entire Create Task
Policy on Plagiarism
The use of media, data, information, or evidence created by someone else or with
generative AI tools in the creation of a program and/or a program code segment(s),
without appropriate acknowledgment, is considered plagiarism. Avoid plagiarism!
more terminology
12 12
TClark
Collaboration?
● Hint: you may look at materials that have been previously shared:
this slideshow, samples & past practice task scores, website notes, etc.
TClark 13 13
Submission
Requirements
TClark 14 14
Component A:
Program Code
Created Independently
or with partner(s)
15 15
TClark
A - Program Code - Format
Submit one PDF that contains all your program code, including comments.
● Text-based program code: you can use print to PDF, or copy and paste your code to
a document and save as PDF. Video Tutorial Template
● Block-based program code, you can create screen captures that include only your
program code, then copy and paste your code to a document and save as PDF.
Video Tutorial
○ Screen captures should not be blurry, and text should be at least 10 pt font size.
i. Instructions for input from: the user (including user actions that trigger
events), a device, an online data stream, or a file.
ii. Instructions for output (visual, textual, audible, or tactile) based on input and
program functionality.
iii. Use of at least one list, or collection type, to represent a collection of data
that is stored and used to manage program complexity and help fulfill the
program's purpose.
○ TClark hint: click the links for definitions and terminology.
17 17
TClark
A - Program Code - Requirements iii-vi
iii. At least one procedure that contributes to the program's intended purpose,
where you have defined: the procedure's name, the return type (if necessary),
one or more parameters.
○ Implementation of built-in or existing procedures or language structures, such as
event handlers or main methods, are not considered student-developed.
iv. An algorithm that includes sequencing, selection, and iteration that is in the
body of the selected procedure from iii.
v. Call(s) to your student-developed procedure from iii.
TClark hint: make your 100% own function that has at least one parameter, and that
parameter is used in an if statement, that same function must also have a loop
18 18
TClark
A - Program Code - Takeaway / Summary
1. Make sure your program has a user interface with both input and output
2. Make sure your program creates and uses a list of information
3. Make sure your program includes an important function that has a parameter,
an if-statement that depends on the parameter value, and a loop
○ Make sure your program calls this function at least once
4. Use comments to cite anything that you did not create during the task: code,
images, sounds, etc.
○ note: these comments must be in the full code pdf, but you have to remove them
when taking screenshots for your Personalized Project Reference
19 19
A - Program Code - Common PROCEDURE Mistakes
TClark
● Some students used some other structure besides a while loop or a for loop.
○ For example: a built-in timedLoop does not satisfy this point
● Some students included a procedure, but that procedure did not have a
parameter, or the parameter had no effect on the procedure.
○ An explicit parameter is usually in the parenthesis next to the function name.
○ If the parameter is immediately re-assigned, then the value passed does not
matter, and it has no effect on the procedure.
● Some students included trivial iteration → for/while "loop" only iterating once
○ High-scoring responses included a loop often repeating more than three times or
until a specific condition was met.
20 20
A - Program Code - Common LIST Mistakes
TClark
● Students confused creating an empty list with initializing the list with data
○ Do not show an empty list being created → show data added/appended to list
● Students accessed only one element of the list instead of multiple elements
○ Note: accessing a single random element of the list is allowed since this will allow
for accessing multiple elements over time
Component B:
Video
Created Independently
22 22
TClark
B - Video - Requirements
Your video must demonstrate your program running, including:
i. Input to your program
ii. At least one aspect of the functionality of your program
a. Needs to show your app running
iii. Output produced by your program
23 23
TClark
B - Video - Format
Submit one video file that demonstrates the running of your program.
● Either .webm, .mp4, .wmv, .avi, or .mov format
● No more than 1 minute in length
○ TClark hint: Should be more than 20 seconds
● No more than 30MB in file size
○ TClark can help with file size
● Submit video file directly to College Board Digital Portfolio
○ Youtube links will not be accepted for submission
24 24
TClark
B - Video - Scoring Course Project: Video
The video demonstrates the running of the program including:
● input
● program functionality
● output
No Point Row 1: if the video does not show a demonstration of the program
running (screenshots or storyboards are not acceptable and would not be credited)
25 25
TClark
B - Video - Restrictions
Your video may NOT contain:
● Any distinguishing information about yourself
○ Must not show your face or name
● Voice narration
○ But text captions are allowed/encouraged
Not acceptable:
● Slideshow of pictures or screenshots of your app
● Video of your code
You must create video individually: collaboration is not allowed during the
development of your video. (TClark can help troubleshoot screen-recording issues)
26 26
TClark
B - Video - Hints
● Making Your Video: You may ask your teacher for suggested resources to
make a video in your classroom or during online learning.
● Video Runs Continuously: Your video must run continuously and show your
actual code running. It can't just be a series of screenshots.
● Show One Piece of Functionality: Your program does NOT need to be
complete so long as you can demonstrate one piece of functionality that
includes input and output (i.e. get at least something working, and video that)
● Show off what works!
27 27
TClark
B - Video - Checklist
❏ Video shows an input from the user and an output based on that input,
demonstrating program functionality
❏ Video is less than 60 seconds long and less than 30MB in size
● TClark recommends it is over 20 seconds long to show off your program!
❏ You do not talk, show your face or have any identifying info in the video
● You may crop using the screencastify edit features
TClark 28 28
Component C:
Personalized
Project
References
Created Independently
29 29
TClark
C - Personalized Project References - Format
To assist in responding to the written response prompts on exam day, submit
required portions of your code by capturing and pasting program code segments
you developed during the administration of this task.
● TIP SHEET from College Board
● Screen captures should not be blurry
● Text should be at least 10-point font size
● Your code segments must not include any comments
Sample Document to be printed Landscape Version
These code segments will be made available to you on exam day only if this
component is submitted as final in the AP Digital Portfolio by the deadline.
30 30
TClark
C - Personalized Project References - Procedure
Capture and paste two program code segments you developed during the
administration of this task that contain a student-developed procedure that
implements an algorithm used in your program and a call to that procedure.
i. The first code segment must be a student-developed procedure that:
○ Defines the procedure's name and return type (if necessary)
○ Contains and uses one or more parameters that have an effect on the functionality
of the procedure - TClark hint: a parameter must be used in an if statement
○ Implements an algorithm that includes sequencing, selection, and iteration
○ The procedure you select must be the first/top procedure in the screenshot
ii. The second program code segment must show where your student-developed
procedure is being called in your program.
Built-in or existing procedures and language structures, such as event handlers and main methods, are not
considered student developed.
31 31
TClark
C - Personalized Project References - List
Capture and paste two program code segments you developed during the
administration of this task that contain a list, or other collection type, being used
to manage complexity in your program:
i. The first code segment must show how data have been stored in the list.
○ must be more than one element, and code shows data being inserted/added
ii. The second code segment must show the data being used, such as creating
new data from the existing data or accessing multiple elements in the list.
○ The data being used must be from the same list as in i.
○ The data must be used as part of fulfilling the program's purpose
The data abstraction must make the program easier to develop (alternatives would be more complex) or
easier to maintain (future changes to the size of the list would otherwise require significant modifications
to the program code).
TClark hint for ii.: show where you use a for loop to access each item in the loop→ for spot in spots:
32 32
TClark
C - PPR - Restrictions
Your PPR may NOT contain:
● The Personalized Project Reference cannot include course content or
comments within the code or on any other part of the pictures.
● Including course content or comments in the Personalized Project Reference
will result in students receiving a score of 0 on the ENTIRE Create performance
task, including your responses to the written response prompts on the
end-of-course AP Exam.
You must create PPR individually: collaboration is not allowed during the
development of your PPR.
33 33
TClark
C - PPR Example - Bad vs Good
no comments allowed
34 34
TClark
C - PPR Example - Bad vs Good
● Procedure, or function:
○ cannot use event handlers like mousePressed, onStep, when Button clicked, etc
○ must have a parameter, and use the parameter in an if statement
○ must have a loop
● List:
○ show where data is inserted/appended to the list
○ must have more than one item inserted into the list
○ show where you use a for loop to access each item in the loop, like→ for spot in spots:
TClark 37 37
Exam Prompts
Section II of Exam:
Create Performance Task:
Written Responses
38 38
TClark
Section II of AP Exam
● 60 minutes on exam day.
● Your individual PPR will be printed out for your reference.
● 4 Written Response Prompts:
○ 1. Program Design, Function, and Purpose
more terminology
40 40
TClark
Prompt Annotation Hints
2. Match - Find the code from your PPR you need to reference for this prompt.
○ Put a star next to PPR section with prompt number, and keep it out and ready
■ sections: Procedure i and/or ii, List i and/or ii
○ If the prompt asks about a specific line of code, circle that code from PPR
■ i.e. "first iteration statement" or "first conditional statement"
○ If you're writing about a procedure: name it. If you're writing about a list: name it.
○ You can write the code line or code excerpt in your response
○ Refer to line numbers if available → can also write the line of code in your response.
● Your responses are scanned in for grading: if it is not legible, you get a 0
○ horrible handwriting and even very light handwriting are not good
● Your response should be about what you did and your code, even if you are in a
group, team, or worked with a partner
○ use "I/my", and not "we/our"
44 44
TClark
Common Mistakes Overall - ii
● There might be 2 or more questions for a single prompt: make sure you
answer each question...circle what it asks (see annotation slide)!
○ Identify, Describe Describe, Explain Describe, Describe Identify, Explain
○ Conversely, if the prompt doesn't tell you to explain, you don't need to.
○ if your code does not actually meet requirements, you could pull a fast one if you
bravely state an answer and relate it to your code, but probably not
45 45
TClark
Note
● The following released questions, even though they are from the College Board
for practice, are for illustrative purposes only.
● Scoring Guidelines for the Create Performance Task Written Response
Prompts will be unique every year and are not provided in advance.
● TClark note: the test prompts will most likely be different, and best way to
prepare is to know the terminology, know your own project, and practice
writing responses to prompts using your PPR, which hopefully meets the full
PPR requirements.
● You will NOT have access to the rubric or scoring guidelines during the exam,
you will only be provided with the four question prompts.
TClark 46 46
FRQ#1
Program Design,
Function and Purpose
47 47
TClark
FRQ#1's Related Learning Objectives
● Describe the purpose of the computing innovation.
○ why would someone want to use your program?
● Identify inputs and outputs to a program. (Design a program and its user interface)
○ how does the user interact?
○ mouse? keyboard? data file?
○ what does your program do in response to the input(s)
● If the video is not available or does not show the described input, consider the full
program code file when scoring this point.
● Either a specific example of the input or a description of the input can meet this criteria.
● Other forms of input could include databases, device inputs such as sensors, or
command line arguments.
● The response does not need to describe all valid inputs to the program and what the
program does with all of these inputs, but all descriptions given must be correct.
● The description of what the program does with the input(s) is implausible, inaccurate, or
inconsistent with the program.
53 53
TClark
FRQ#1 2024Exam Set2 - Sample Prompt
Identify the expected group of users of your program. Explain how your
program addresses at least one concern or interest of the users you identified.
54 54
TClark
FRQ#1 CED - Sample Prompt
Identify an expected user of your program. Describe one way your program's
design meets the needs of this user.
55 55
TClark
FRQ#1 CED - Potential Annotation
Identify an expected user of your program. Describe one way your program's
design meets the needs of this user.
56 56
TClark
FRQ#1 CED - Scoring
● describes one way the program's design meets the needs of the identified user.
● The response must relate the program design to the needs of the identified user.
Explain how the input to your program is received and how expected
corresponding output(s) are produced as a result.
59 59
TClark
FRQ#1 Vid - Potential Annotation
Explain how the input to your program is received and how expected
corresponding output(s) are produced as a result.
60 60
TClark
FRQ#1 Vid - Scoring
FRQ#2
66 66
TClark
Sample Responses- 2024 FRQ#2
FRQ#2a.
Algorithm
Development
68 68
TClark
FRQ#2a's Related Learning Objectives - i
● Explain how a program or code segment functions.
○ provide information about the code segment, listing detailed steps of the algorithm
● Create algorithms.
○ use sequencing, selection, and iteration to create a function/procedure
Consider the first iteration statement included in the Procedure section of your
Personalized Project Reference. Describe what is being accomplished by the code
in the body of the iteration statement.
71 71
TClark
FRQ#2a 2024Exam Set1 - Potential Annotation
loo
Consider the first iteration p
statement included in the Procedure section of your
Personalized Project Reference. Describe what is being accomplished by the code
in the body of the iteration statement.
72 72
TClark
FRQ#2a 2024Exam Set1 - Scoring pg1
● If multiple iteration statements are included in the Procedure section of the PPR, use the
first iteration statement to determine whether the point is earned.
● The first iteration statement can be found in either part (i) or part (ii) of the Procedure
section of the PPR.
● The iteration statement does not need to be contained in a procedure to earn this point.
● If a procedure is identified, it does not need to contain a parameter to earn this point.
● The response may describe a summary of what the iteration does in the context of the
program or describe the purpose of each statement in the body of the iteration.
73 73
TClark
FRQ#2a 2024Exam Set1 - Scoring pg2
● The description of what is being accomplished by the code does not match the code in
the body of the first iteration statement.
● The response only restates the lines of code in the body of the iteration statement.
if
Consider the first conditional statement included in the Procedure section of
your Personalized Project Reference. Describe your conditional statement,
including its Boolean expression. Describe what the procedure does in general
when the Boolean expression of this conditional statement evaluates to false.
76 76
TClark
FRQ#2a 2024Exam Set2 - Scoring pg1
● If multiple conditional statements are included in the Procedure section of the PPR, use
the first conditional statement to determine whether the point is earned.
● The conditional statement can be found in either part (i) or part (ii) of Procedure section.
● The conditional statement does not need to be contained in a procedure to earn point.
● The response does not have to explicitly state the Boolean expression as long as it is
described.
● The response may earn this point for a conditional statement that either does or does
not contain an else clause.
77 77
TClark
FRQ#2a 2024Exam Set2 - Scoring pg2
● The description of the Boolean expression does not match the code in the first
conditional statement.
● The description of the behavior of the code when the expression is false does not match
the code in the first conditional statement.
● The response only recites lines of code instead of providing a general description.
Consider the first iteration statement included in the Procedure section of your
Personalized Project Reference. Identify the number of times the body of your
iteration statement will execute. Describe a condition or error that would cause
your iteration statement to not terminate and cause an infinite loop. If no such
condition or error exists, explain how the loop could be modified to cause an
infinite loop.
79 79
TClark
FRQ#2a CED - Potential Annotation
loo
p
Consider the first iteration statement included in the Procedure section of your
Personalized Project Reference. Identify the number of times the body of your
iteration statement will execute. Describe a condition or error that would cause
your iteration statement to not terminate and cause an infinite loop. If no such
condition or error exists, explain how the loop could be modified to cause an
infinite loop.
Decision Rules: Consider the PPR and Written Response 2a when scoring this point:
● If multiple iteration statements are included in the Procedure section of the PPR, use the
first iteration statement to determine whether the point is earned.
● The iteration statement does not need to be contained in a procedure to earn this point
● To make an infinite loop with a list loop, can append a new item each iteration
● Can also change it to a while loop which a condition that is always True
● Some students wrote about the if statement either before or after the loop, not
the loop itself:
○ TClark recommends writing down your code first "for item in list" and focus on that
○ Misunderstood conditional statement vs condition of loop, see terminology.
AND
● Describes the result of the statements execution in the context of the program
Decision Rules: Consider the PPR and Written Response 2a when scoring this point:
● Response must refer to the FIRST conditional statement
FRQ#2b.
Errors and Testing
90 90
TClark
FRQ#2b's Related Learning Objectives
● Identify the error.
○ how can you find errors?
○ is it a syntax error that won't even let your program start?
○ is it a run-time error that will crash your program in the middle of running?
○ is it a logical error that makes your program not work as intended?
Consider the procedure identified in part (i) of the Procedure section of your
Personalized Project Reference. Write two calls to your procedure that each cause
a different code segment in the procedure to execute. Describe the expected
behavior of each call. If it is not possible for two calls to your procedure to cause
different code segments to execute, explain why this is the case for your
procedure.
92 92
TClark
FRQ#2b 2024Exam Set1 - Potential Annotation
Consider the procedure identified in part (i) of the Procedure section of your
Personalized Project Reference. Write two calls to your procedure that each cause
a different code segment in the procedure to execute. Describe the expected
behavior of each call. If it is not possible for two calls to your procedure to cause
different code segments to execute, explain why this is the case for your
procedure.
93 93
TClark
FRQ#2b 2024Exam Set1 - Scoring pg1
OR
● explains why it is not possible for two calls to the procedure to cause different code
segments to execute.
94 94
TClark
FRQ#2b 2024Exam Set1 - Scoring pg2
● If multiple procedures are included in part (i) of the Procedure section of the PPR:
○ Use the procedure identified in the written response to determine whether the
point is earned.
○ If no procedure is identified in the written response, then use the first procedure to
determine whether the point is earned.
● The parameter(s) used in the procedure must be explicit. Explicit parameters are
defined in the header of the procedure.
● A procedure that uses its parameter(s) to execute two different code segments can earn
this point.
95 95
TClark
FRQ#2b 2024Exam Set1 - Scoring pg3
● A procedure that uses its parameter(s) to execute or bypass a code segment can earn
this point.
● The syntax of the procedure calls does not need to be correct as long as the correct
arguments are identified.
● The response does not apply to the procedure in part (i) of the Procedure section of the
Personalized Project Reference.
● The procedure identified in part (i) of the Procedure section of the Personalized Project
Reference does not include at least one explicit parameter.
● The use of the explicit parameter is irrelevant (e.g., does not affect the code segment of
the procedure that is executed or is reassigned before being used).
Consider the procedure and procedure call identified in parts (i) and (ii) of the
Procedure section of your PPR. Describe the outcome that your procedure call is
intended to produce. Write a new procedure call with at least one different
argument value that will produce the same outcome, if possible, and explain why
this procedure call produces the same outcome. If it is not possible to write a new
procedure call that produces the same outcome, explain why this is not possible.
98 98
TClark
FRQ#2b CED - Sample Prompt
Consider the procedure included in part (i) of the Procedure section of your
Personalized Project Reference. Describe a change to your procedure that will
result in a run-time error. Explain why this change will result in a run-time error.
99 99
TClark
FRQ#2b CED - Potential Annotation
Consider the procedure included in part (i) of the Procedure section of your
Personalized Project Reference. Describe a change to your procedure that will
result in a run-time error. Explain why this change will result in a run-time error.
100
100
TClark
FRQ#2b CED - Scoring
Decision Rules: Consider the PPR and Written Response 2b when scoring this point:
● If multiple procedures are included in part (i) of the Procedure section of the PPR, use
the first procedure to determine whether the point is earned.
● If you write that setting the list index at a number bigger than 1, since there's
only 1 thing in the list, might get the point.
○ But then you won't get the list point, since it's trivial to have only 1 thing in a list
○ You should instead write about trying to access the 1000th item in your list since
there will never be 1000 items in your particular list (or another huge number)
Consider the procedure identified in part (i) of the Procedure section of your
Personalized Project Reference. Describe a call to the procedure and explain what
behavior this call can be used to test in your program.
103
103
TClark
FRQ#2b Vid - Potential Annotation
Consider the procedure identified in part (i) of the Procedure section of your
Personalized Project Reference. Describe a call to the procedure and explain what
behavior this call can be used to test in your program.
104
104
TClark
FRQ#2b Vid - Scoring
● Explains the behavior that the call can test as part of a testing strategy
Decision Rules: Consider the PPR and Written Response 2b when scoring this point:
● Response must correctly refer to the identified procedure.
FRQ#2c.
Data and Procedural
Abstraction
110
110
TClark
FRQ#2c's Related Learning Objectives
● Develop data abstraction using lists to store multiple elements.
○ make a list and ensure data is being added to it
Consider the procedure identified in part (i) of the Procedure section of your
Personalized Project Reference. Identify the parameter(s) used in this procedure.
Explain how your identified parameter(s) use abstraction to manage complexity in
your program.
113
113
TClark
FRQ#2c 2024Exam Set2 - Potential Annotation
Consider the procedure identified in part (i) of the Procedure section of your
Personalized Project Reference. Identify the parameter(s) used in this procedure.
Explain how your identified parameter(s) use abstraction to manage complexity in
your program.
114
114
TClark
FRQ#2c 2024Exam Set2 - Scoring pg1
● explains how the identified parameter(s) use abstraction to manage complexity in their
program.
● If multiple procedures are included in part (i) of the Procedure section of the PPR, use
the first procedure to determine whether the point is earned.
● The parameter(s) used in the procedure must be explicit. Explicit parameters are
defined in the header of the procedure.
115
115
TClark
FRQ#2c 2024Exam Set2 - Scoring pg2
● The response does not apply to the procedure in part (i) of the Procedure section of PPR.
● The response identifies arguments instead of parameters for the first scoring criterion.
● The procedure identified in part (i) of the Procedure section of the PPR does not include
at least one explicit parameter.
● The use of any of the parameters is irrelevant (i.e., does not affect the outcome of the
procedure or is reassigned immediately before being used).
Decision Rules: Consider the PPR and Written Response 2c when scoring this point:
● If multiple lists are included in the List section of the PPR, use the first list.
● Can be described in code, pseudocode, a sequence of steps in English, or a paragraph in English.
● Must describe iterating over all elements of the list, calling isEqual on each list element and
maintaining a count of the number of list elements equal to a certain value.
● Must correctly determine the number of elements that are equal to a certain value. Some ways this
can be determined is by storing the value in a variable, returning it, or displaying it to the user.
● Even if it's just one thing currently in the list, state what it is or what they could
be counting.
● TClark recommends you start by writing that you are looking for as value2 and
what that value2 could represent with regards to your list & program, then use
value1 as the changing items for the list you are iterating over:
○ counter initialized to zero
for every item in the list:
if isEqual(item, "value searching for"):
increment counter
print counter
120
120
TClark
FRQ#2c Vid - Sample Prompt
Consider the list identified in the List section of your Personalized Project
Reference. Describe how your program could be written without the use of a list. If
it is not possible for your program to work without the use of a list, describe how
your program's functionality would be limited.
121
121
TClark
FRQ#2c Vid - Potential Annotation
Consider the list identified in the List section of your Personalized Project
Reference. Describe how your program could be written without the use of a list. If
it is not possible for your program to work without the use of a list, describe how
your program's functionality would be limited.
122
122
TClark
FRQ#2c Vid - Scoring
OR
● Describe the limitations to the program's functionality if a list were not used
Decision Rules: Consider the PPR and Written Response 2c when scoring this point:
● Response must correctly refer to the identified list.
END
Create Task Webpage
Created by: TClark
License & Credit