Ap CSP Student Task Directions
Ap CSP Student Task Directions
Ap CSP Student Task Directions
Science Principles
Student
Handouts
Includes the Exam Reference Sheet
Effective
Fall 2020
AP COMPUTER SCIENCE PRINCIPLES
Student
Handouts
The following pages contain a student-directed version of
the performance task guidelines that you can print out or
copy to share with your students.
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 written response and the video 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
written responses (parts 3b and 3c) with your partner(s) or on your own during the
administration of the performance task.
Please note that once this performance task has been assigned as an assessment
for submission to 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 section below.
General Requirements
You will be provided with a minimum of 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)
§ Written responses to all the prompts in the performance task
(created independently)
Scoring guidelines and instructions for submitting your performance task are
available on the AP Computer Science Principles Exam page on AP Central.
Note: Students in nontraditional classroom environments should consult a
school-based AP Coordinator for instructions.
Collection Type
◆ a device
A collection type is a
◆ an online data stream
type that aggregates
◆ a file elements in a single
structure. Some
□ Use of at least one list (or other collection type) to represent a collection of examples include lists,
data that is stored and used to manage program complexity and help fulfill
databases, and sets.
the program’s purpose
IMPORTANT:
IMPORTANT:
The data abstraction must make the program easier to develop (alternatives would With text-based program
be more complex) or easier to maintain (future changes to the size of the list would code, you can use the
otherwise require significant modifications to the program code). print command to save
your program code as a
□ At least one procedure that contributes to the program’s intended purpose, PDF file, or you can copy
where you have defined: and paste your code to a
◆ the procedure’s name text document and then
◆ the return type (if necessary) convert it into a PDF file.
◆ one or more parameters With block-based
program code, you can
IMPORTANT: create screen captures
Implementation of built-in or existing procedures or language structures, such as that include only your
event handlers or main methods, are not considered student-developed. program code, paste
these images into a
□ An algorithm that includes sequencing, selection, and iteration that is in the document, and then
body of the selected procedure convert that document
□ Calls to your student-developed procedure to a PDF. Screen
captures should not be
□ Instructions for output (tactile, audible, visual, or textual) based on input and blurry, and text should be
program functionality at least 0 pt font size.
DEFINITION:
Collection Type
A collection type is a type
that aggregates elements
ii. The second program code segment must show the data in the in a single structure. Some
same list being used, such as creating new data from the existing examples include lists,
data or accessing multiple elements in the list, as part of fulfilling databases, hash tables,
the program’s purpose. dictionaries, and sets.
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
significant modifications to
the program code).
Then, provide a written response that does all three of the following:
iii. Identifies the name of the list being used in this response
iv. Describes what the data contained in the list represent in your
program
ii. The second program code segment must show where your
student-developed procedure is being called in your program.
iii. Describes in general what the identified procedure does and how it
contributes to the overall functionality of the program
Second call:
You must:
§ Submit your performance task prior to the submission deadline, which
can be found on the AP Computer Science Principles Exam page on
AP Central.
§ 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 and rubric.
§ Apply the computer science knowledge you have obtained throughout
the course, and when completing the performance task, to your
responses to the prompts in the performance task.
§ Use acceptable acknowledgment practices when using media (i.e.,
images, videos, sound), data sources, or program code created by others
in your program code to avoid plagiarism. Any media or data sources that
have not been created by you or your partner(s) must be acknowledged,
and credit must be given to the author. Any program code which has not
been written by you, including the use of APIs and open-source code
should be acknowledged, and credit should be given to the author.
§ 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 CSP Exam
Reference
Sheet
THIS PAGE IS INTENTIONALLY LEFT BLANK.
Exam Reference Sheet
Instruction Explanation
Assignment, Display, and Input
Text: Evaluates expression and then assigns a copy of the result to
a expression the variable a.
Block:
a expression
Block:
DISPLAY expression
Text: Accepts a value from the user and returns the input value.
INPUT()
Block:
INPUT
Arithmetic Operators and Numeric Procedures
Text and Block: The arithmetic operators +, -, *, and / are used to perform
a + b arithmetic on a and b.
a - b For example, 17 / 5 evaluates to 3.4.
a * b
The order of operations used in mathematics applies when evaluating
a / b
expressions.
Text and Block: Evaluates to the remainder when a is divided by b. Assume that
a MOD b a is an integer greater than or equal to 0 and b is an integer
greater than 0.
Selection
Text: The code in block of statements is executed if the
IF(condition) Boolean expression condition evaluates to true; no
{ action is taken if condition evaluates to false.
<block of statements>
}
Block:
IF condition
block of statements
IF condition
REPEAT n TIMES
block of statements
block of statements
List Operations
For all list operations, if a list index is less than or greater than the length of the list, an error message is produced and the program
terminates.
Text: Creates a new list that contains the values value1, value2,
aList [value1, value2, value3, ...] value3, and ... at indices 1, 2, 3, and ...
respectively and assigns it to aList.
Block:
aList
aList i
x aList i
aList i x
aList i aList j
Text: Removes the item at index i in aList and shifts to the left
REMOVE(aList, i) any values at indices greater than i. The length of aList is
decreased by .
Block:
REMOVE aList, i
Block:
block of statements
block of statements
block of statements
RETURN expression
Text: Returns the flow of control to the point where the procedure was
RETURN(expression) called and returns the value of expression.
Block:
RETURN expression
Robot
If the robot attempts to move to a square that is not open or is beyond the edge of the grid, the robot will stay in its current location
and the program will terminate.
Text: The robot moves one square forward in the direction it is facing.
MOVE_FORWARD()
Block:
MOVE_FORWARD
ROTATE_LEFT
ROTATE_RIGHT