AP COMPUTER SCIENCE PRINCIPLES
Student
Handouts
E
ective
Fall 2023
THIS PAGE IS INTENTIONALLY LEFT BLANK.
Create Performance Task
Programming is a collaborative and creative process that brings ideas to life through
the development of software. In the Create performance task, you will design
and implement a program that might solve a problem, enable innovation, explore
personal interests, or express creativity. Your submission must include the elements
listed in the Submission Requirements section below.
You are allowed to collaborate with your partner(s) on the development of the
program only. The video and Personalized Project Reference 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
your Personalized Project Reference with your partner(s) or on your own as you
work on the performance task during class.
Please note that once your teacher has assigned this performance task as one
of your AP score components, 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 section below.
General Requirements
You will be provided with a minimum of 9 hours of class time to complete and submit
the following:
§ Final program code (created independently or collaboratively)
§ A video that displays the running of your program and demonstrates
functionality you developed (created independently)
§ Code Segments for your Personalized Project Reference (created independently)
Note: Students in nontraditional classroom environments should consult a school-
based AP Coordinator for instructions.
AP Computer Science Principles
Student Handouts V.1
|
1
© 2023 College Board
Submission Requirements
COMPONENT A: PROGRAM CODE (CREATED INDEPENDENTLY OR COLLABORATIVELY)
Submit one PDF le that contains all of your program code (including
comments). Include comments or acknowledgments for any part of the
submitted program code that has been written by someone other than you
and/or your collaborative partner(s).
IMPORTANT:
If the programming environment allows you to include comments, this is the
preferred way to acknowledge and give credit to another author. However, if the
programming environment does not allow you to include comments, you can add
them in a document editor when you capture your program code for submission.
In your program, you must include student-developed program code that
contains the following:
Instructions for input from one of the following:
the user (including user actions that trigger events)
a device
an online data stream
a le
Use of at least one list (or other collection type) to represent a collection of
data that is stored and used to manage program complexity and help fulll
the program’s purpose
IMPORTANT:
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 signicant modications to the program code).
At least one procedure that contributes to the program’s intended purpose,
where you have dened:
the procedure’s name
the return type (if necessary)
one or more parameters
IMPORTANT:
Implementation of built-in or existing procedures or language structures, such as
event handlers or main methods, are not considered student-developed.
An algorithm that includes sequencing, selection, and iteration that is in the
body of the selected procedure
Calls to your student-developed procedure
Instructions for output (tactile, audible, visual, or textual) based on input and
program functionality
DEFINITION:
List
A list is an ordered
sequence of elements.
The use of lists allows
multiple related items
to be represented using
a single variable. Lists
may be referred to by
dierent names, such as
arrays, depending on the
programming language.
DEFINITION:
Collection Type
A collection type is a
type that aggregates
elements in a single
structure. Some
examples include lists,
databases, and sets.
IMPORTANT:
With text-based program
code, you can use the
print command to save
your program code as
a PDF le, or you can
copy and paste your
code to a text document
and then convert it into
a PDF le. With block-
based program code,
you can create screen
captures that include
only your program code,
paste these images into
a document, and then
convert that document
to a PDF. Screen
captures should not be
blurry, and text should be
at least 10 pt font size.
AP Computer Science Principles
Student Handouts V.1
|
2
Return to Table of Contents
© 2023 College Board
COMPONENT B: VIDEO (CREATED INDEPENDENTLY) Submit one video le that
demonstrates the running of your program as described below. Collaboration
is not allowed during the development of your video.
Your video must demonstrate your program running, including:
Input to your program
At least one aspect of the functionality of your program
Output produced by your program
Your video may NOT contain:
Any distinguishing information about yourself
Voice narration (though text captions are encouraged)
Your video must be:
Either .webm, .mp4, .wmv, .avi, or .mov format
No more than 1 minute in length
No more than 30MB in le size
AP Computer Science Principles
Student Handouts V.1
|
3
Return to Table of Contents
© 2023 College Board
COMPONENT C: PERSONALIZED PROJECT REFERENCE (CREATED
INDEPENDENTLY)
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.
Screen captures should not be blurry, and text should be at least 10-point
font size. Your code segments should not include any comments. These code
segments will be made available to you on exam day only if this component is
submitted as nal in the AP Digital Portfolio by the deadline.
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.
IMPORTANT:
Built-in or existing procedures and language structures, such as event handlers
and main methods, are not considered student-developed.
i. The rst program code segment must be a student-developed
procedure that:
Denes the procedure’s name and return type (if necessary)
Contains and uses one or more parameters that have an eect on
the functionality of the procedure
Implements an algorithm that includes sequencing, selection, and
iteration
ii. The second program code segment must show where your
student-developed procedure is being called in your program.
AP Computer Science Principles
Student Handouts V.1
|
4
Return to Table of Contents
© 2023 College Board
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 rst program code segment must show how data have been
stored in the list.
ii. The second program code segment must show the data in the
same list being used, such as creating new data from the existing
data or accessing multiple elements in the list, as part of fullling
the program’s purpose.
DEFINITION:
List
A list is an ordered
sequence of elements.
The use of lists allows
multiple related items
to be represented using
a single variable. Lists
may be referred to by
dierent names, such as
arrays, depending on the
programming language.
DEFINITION:
Collection Type
A collection type is a type
that aggregates elements
in a single structure. Some
examples include lists,
databases, and sets.
IMPORTANT:
The data abstraction
manages complexity by
making 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
signicant modications to
the program code).
AP Computer Science Principles
Student Handouts V.1
|
5
Return to Table of Contents
© 2023 College Board
Guidelines for Completing
the Performance Task
Academic Integrity and Plagiarism Policy
This policy addresses plagiarism and academic integrity in completing the Create
Performance Task.
Plagiarism
The use of program code, media (e.g., video, images, sound), 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
(i.e., through citation, through attribution, and/or by reference), is considered plagiarism.
A student who commits plagiarism will receive a score of 0 on the Create performance
task, including their responses to the written response prompts on the end-of-course
AP Exam.
To the best of their ability, teachers will ensure that students understand how to ethically
incorporate ideas that are not their own and provide credit to the original creator or
source, as well as the consequences of plagiarism.
Acceptable Generative AI Use
Students are permitted to utilize generative AI tools as supplementary resources for
understanding coding principles, assisting in code development, and debugging. This
responsible use aligns with current guidelines for peer collaboration on developing
code.
Students should be aware that generative AI tools can produce incomplete code, code
that creates or introduces biases, code with errors, ineciencies in how the code
executes, or code complexities that make it dicult to understand and therefore explain
the code. It is the student's responsibility to review and understand any code co-written
with AI tools, ensuring its functionality. Additionally, students must be prepared to
explain their code in detail, as required on the end-of-course AP Exam.
Preparing for Final Submission
Students are not permitted to collaborate on the video or creation of the Personalized
Project Reference.
The Personalized Project Reference cannot include course content or comments within
the code or on any other part of the reference. Including course content or comments
in the Personalized Project Reference will result in students receiving a score of 0 on the
Create performance task, including their responses to the written response prompts on
the end-of-course AP Exam.
AP Computer Science Principles
Student Handouts V.1
|
6
Return to Table of Contents
© 2023 College Board
Attestations
During the nal 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 nal 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.
AP Computer Science Principles
Student Handouts V.1
|
7
Return to Table of Contents
© 2023 College Board
Preparing for the Performance Task
Prior to beginning the performance task, you should:
§ Obtain content knowledge and skills that will help you succeed on the
performance task. This can include, but needs not be limited to, the iterative
development process, strategies for collaboration, the development of
both data and procedural abstractions, describing an algorithm’s purpose
and explaining how it functions, and identifying test data that demonstrates
the dierent outcomes of an algorithm. A development process includes
exploration, investigation, reection, design, implementation, and testing
your program.
§ Review the performance task directions and guidelines.
§ Brainstorm problems that programming can address, or brainstorm special
interests that programming can help develop.
§ As needed, seek assistance from your teacher or AP Coordinator on
dening your focus and choice of topics.
§ Be prepared to collaborate with peers as necessary.
§ Practice and discuss all or part of the performance task, including potential
written response prompts that could appear on the end-of-course AP Exam.
§ Review the role your teacher can and cannot play in providing assistance
during the actual performance task, and take advantage of the opportunity
to get assistance and feedback from your teacher during practice.
§ Ensure you know the proper way to cite media or program code, including
APIs or other pieces of open-source code, used in the creation of your
program. Any media or program code that has not been written by you must
be cited, and credit must be given to the author. Any existing program code
needs to be extended in some new way by adding new functionality.
§ Examples of responses can be found on the AP Computer Science
Principles Exam page. You cannot submit any work from AP Central
samples, curriculum provider samples, or practice performance tasks for
your nal submission.
§ Be aware that the scoring process that occurs in the AP Reading may be
dierent from the scoring process that occurs in your classroom; the AP
score that you receive may be dierent than your classroom grade.
§ Read through the AP Digital Portfolio le submission requirements and
process, paying attention to the instructions concerning the le type, size,
and length to be uploaded. This is important to ensure that work is sent for
AP scoring. This process includes:
uploading your les to the correct part of the task
submitting each component as nal
completing the College Board attestations to the originality of your work
All three components must be submitted as nal by the deadline posted
on AP Central. Only les that are submitted as nal will be sent for scoring.
Additionally, if you do not submit your Personalized Project Reference by the
deadline, you will not have this resource available on exam day to complete
your written response section.
AP Computer Science Principles
Student Handouts V.1
|
8
Return to Table of Contents
© 2023 College Board
§ Practice creating a video of your program running, while adhering to le
type, size, and length requirements.
§ Practice making readable screen captures and creating a PDF le of your
program code to submit for the performance task:
With text-based program code, you can use the print command to
save your program code as a PDF le, or you can copy and paste your
code to a text document and then convert it into a PDF le.
With block-based program code, you can create screen captures that
include only your program code, paste these images into a document,
and then convert that document to a PDF le. Screen captures should
not be blurry, and text should be at least 10 pt font size.
For the Personalized Project Reference, screen captures should
not be blurry, and text should be at least 10 pt font size. Any
course content or comments that were included with the program
code, should not be included in the screen captures used in the
Personalized Project Reference. Including course content or
comments in the Personalized Project Reference could result in
students receiving a 0 for the Create performance task.
§ Understand that you may not revise your work once you have submitted
it as nal to the AP Digital Portfolio.
§ Review the categories for each written response prompts on the end-
of-course AP Exam. The written response prompts will be related to your
Create performance task. Practice writing responses for these types of
questions.
AP Computer Science Principles
Student Handouts V.1
|
9
Return to Table of Contents
© 2023 College Board
Completing the Performance Task
You must:
§ Submit all three components of your performance task as nal prior
to the submission deadline, which can be found on the AP Computer
Science Principles Exam page on AP Central. Only les submitted as nal
will be sent for scoring. If you do not submit your Personalized Project
Reference by the deadline, you will not have this resource available on
exam day to complete your written response section.
§ Follow a calendar or schedule that provides time for all performance task
components to be completed and uploaded in advance of the deadline.
§ Read the performance task directions.
§ Apply the computer science knowledge you have obtained throughout
the course, and when completing the performance task.
§ Use acceptable acknowledgment practices when using program code,
media (i.e., images, videos, sound), or data sources created by others
or with generative AI tools in your program code to avoid plagiarism.
Program code not written by you could include starter code provided by
your teacher, the use of APIs or open-source code, or generated using
an AI tool. When using existing code, you must extend the program in
some new way by adding new functionality. Some examples of ways to
provide attribution for program code that was not authored by you are as
follows:
If the program code has been made available for your use by your
teacher, add a comment that states: This code was provided as
starter code by my teacher.
If the program code has been made available through an API or open-
source code, add a comment that states: This code was made freely
available by [source of code].
If the program code has been co-created with the assistance of
a generative AI tool, add a comment that states: This code was
generated using [Generative AI Tool Name].
§ Add comments to your program code to clarify the functionality of
program code segments or to acknowledge and credit authors of media,
data sources, or program code:
If the programming environment allows you to include comments,
this is the preferred way to acknowledge and give credit to another
author.
If the programming environment does not allow you to include
comments, you can add them in a document editor when you capture
your program code for submission.
AP Computer Science Principles
Student Handouts V.1
|
10
Return to Table of Contents
© 2023 College Board
Once you have started your ocial administration of the performance
task, you may not:
§ Seek assistance in writing, revising, amending, or correcting your work,
including debugging the program, writing or designing functionality in
the program, testing the program, or making revisions to the program,
from anyone other than your collaborative partner(s).
§ Submit practice performance tasks or any work that has been
revised, amended, or corrected by another individual, other than your
collaborative partner(s) or cited program code, as a submission for AP
Exam scoring.
§ Include any course content in the screen captures of the program code
included in the Personalized Project Reference. Any course content
or comments that were included in the program code during the
development of your program should be removed prior to taking screen
captures. Including course content or comments in your screen captures
will result in the written response portion of your exam being scored a 0.
§ Collaborate during the creation of your video or creation of your
Personalized Project Reference.
§ Revise your work once you have completed and submitted it as nal to
the AP Digital Portfolio.
Once you have started your ocial administration of the performance
task, you may:
§ Collaborate with your partner(s) only during the ideation and
development, including debugging and error testing, of your program
code, if you choose to do so. NOTE: You are not allowed to collaborate on
your video or creation of your Personalized Project Reference.
§ Follow a timeline and schedule for completing the performance task.
§ Seek assistance from your teacher or AP Coordinator on the formation
of groups and resolution of collaboration issues when one collaborative
partner is clearly and directly impeding the completion of the
performance task.
§ Seek clarication from your teacher or AP Coordinator on the program
requirements and submission requirements for the performance task
when you do not understand the directions.
§ Work on the performance task outside of designated class time.
§ Seek assistance from your teacher or AP Coordinator to resolve
technical problems that impede work, such as a failing workstation or
diculty with access to networks, or to help with saving les or making
movie les.
§ Keep a programming journal of the design choices that were made
during the development of the program code or code segment and the
eect of these decisions on the program’s function.
AP Computer Science Principles
Student Handouts V.1
|
11
Return to Table of Contents
© 2023 College Board