AP COMPUTER SCIENCE PRINCIPLES CED
Scoring Guidelines
General Scoring Notes
• Responses should be evaluated solely on the rationale provided.
• Responses must demonstrate all criteria, including those within bulleted lists, in each row to earn the point for that row.
• Termsandphrasesdefinedintheterminologylistareitalicizedwhentheyfirstappearinthescoringcriteria.
AP Computer Science Principles Course and Exam Description
Return to Table of Contents
© 2023 College Board
Scoring Guidelines V.1 | 189
Reporting Category Scoring Criteria Decision Rules
Course Project:
Video
(0-1 points)
The video demonstrates the running of
the program including:
• input
• program functionality
• output
Consider only the video when scoring this point.
Do NOT award a point if the following is true:
• The video does not show a demonstration of the program running (screenshots or storyboards are
not acceptable and would not be credited).
Course Project:
Program Requirements
(0-1 points)
The program code includes:
• A list
• A procedure
• A call to the procedure
• Selection
• Iteration
Consider the Personalized Project Reference (or Program Code if necessary) when scoring this
point.
• IftheprogramrequirementsdonotappearinthePersonalizedProjectReference,considerthefull
program code file when scoring this point.
• The procedure does not need to have a parameter to earn this point.
• The code segments demonstrating selection and iteration do not need to appear in the same
algorithm to earn this point.
• The code segments demonstrating selection and iteration do not need to be contained in a
procedure to earn this point.
Do NOT award a point if any one or more of the following is true:
• Thelistisaone-elementlist.
• The use of the list is irrelevant or not used in the program.
• The use of either the selection or the iteration is trivial (i.e., does not affect the outcome of the
program).
Written Response 1:
Program Design,
Function, and Purpose
(0-1 points)
The written response:
• identifies an expected user of the
program.
• describes one way the program’s design
meets the needs of the identified user.
Consider Written Response 1 and the student’s Program Code when scoring this point.
• The response must relate the program design to the needs of the identified user.
Do NOT award a point if the following is true:
• The description of the design is implausible, inaccurate, or inconsistent with the program.
Video, Program Requirements, and Written Response 1 3 points
AP Computer Science Principles Course and Exam Description
Return to Table of Contents
© 2023 College Board
Scoring Guidelines V.1 | 190
Written Response 2 3 points
General Scoring Notes
• Responses should be evaluated solely on the rationale provided.
• Responses must demonstrate all criteria, including those within bulleted lists, in each row to earn the point for that row.
• Termsandphrasesdefinedintheterminologylistareitalicizedwhentheyfirstappearinthescoringcriteria.
AP Computer Science Principles Course and Exam Description
Return to Table of Contents
© 2023 College Board
Scoring Guidelines V.1 | 191
Written Response 2 3 points
Reporting Category Scoring Criteria Decision Rules
Written Response 2(a):
Algorithm Development
(0-1 points)
The written response:
• identifies the number of times the body
of the iteration statement will execute.
AND
• describes a condition or error that
would cause an infinite loop.
OR
• if no such condition or error exists,
explains how the loop could be
modified to cause an infinite loop.
Consider the Personalized Project Reference and Written Response 2(a) when scoring this point.
• IfmultipleiterationstatementsareincludedintheProceduresectionofthePersonalizedProject
Reference, 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.
Do NOT award a point if the following is true:
• The identified number of times the body of the iteration statement will execute does not match the
code.
Written Response 2(b):
Errors and Testing
(0-1 points)
The written response:
• describes a change to the procedure
thatwillresultinarun-timeerror.
• explains why the change will result in a
run-timeerror.
Consider the Personalized Project Reference and Written Response 2(b) when scoring this point.
• Ifmultipleproceduresareincludedinpart(i)oftheProceduresectionofthePersonalizedProject
Reference, use the first procedure to determine whether the point is earned.
Do NOT award a point if any one or more of the following is true:
• Aprocedureisnotidentifiedinpart(i)oftheProceduresectionofthePersonalizedProject
Reference.
• The response does not apply to the procedure in part (i) of the Procedure section of the
PersonalizedProjectReference.
• The response describes expected behavior that is implausible, inaccurate, or inconsistent with the
program.
Written Response 2(c):
Data and Procedural
Abstraction
(0-1 points)
The written response:
• explains in detailed steps an algorithm
that uses isEqual to count the
number of elements in the list that are
equal to a certain value.
Consider the Personalized Project Reference and Written Response 2(c) when scoring this point.
• IfmultiplelistsareincludedintheListsectionofthePersonalizedProjectReference,usethefirst
list to determine whether the point is earned.
• The algorithm can be described in code, pseudocode, as a sequence of steps in English, or as a
paragraph in English.
• The algorithm 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.
• The algorithm 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.
Do NOT award a point if the following is true:
• AlistisnotidentifiedintheListsectionofthePersonalizedProjectReference.
• The description of the algorithm is not detailed enough for someone else to write the code.
AP Computer Science Principles Course and Exam Description
Return to Table of Contents
© 2023 College Board
Scoring Guidelines V.1 | 192
AP Computer Science Principles Create Performance Task Terminology
Algorithm: Analgorithmisafnitesetofinstructionsthataccomplishaspecifctask.Everyalgorithmcanbeconstructedusingcombinationsofsequencing,selection,and
iteration.
Arguments: The values of the parameters when a procedure is called.
Collection type: Aggregates elements in a single structure. Some examples include: databases, hash tables, dictionaries, sets, or any other type that aggregates elements in a
single structure.
Data stored in a list: Inputintothelistcanbethroughaninitializationorthroughsomecomputationonothervariablesorlistelements.
Input: Program input is data that are sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile (through touch), audible, visual, or
text. An event is associated with an action and supplies input data to a program.
Iteration:Iterationisarepetitiveportionofanalgorithm.Iterationrepeatsuntilagivenconditionismetorforaspecifednumberoftimes.Theuseofrecursionisaformof
iteration.
List: Alistisanorderedsequenceofelements.Theuseoflistsallowsmultiplerelateditemstoberepresentedusingasinglevariable.Listsarereferredtobydiferentterms,
such as arrays or arraylists, depending on the programming language.
List being used: Using a list means the program is creating new data from existing data or accessing multiple elements in the list.
Output: Program output is any data that are sent from a program to a device. Program output can come in a variety of forms, such as tactile, audible, visual, movement, or text.
Parameter:Aparameterisaninputvariableofaprocedure.Explicitparametersaredefnedintheprocedureheader.Implicitparametersarethosethatareassignedin
anticipation of a call to the procedure. For example, an implicit parameter can be set through interaction with a graphical user interface.
Procedure:Aprocedureisanamedgroupofprogramminginstructionsthatmayhaveparametersandreturnvalues.Proceduresarereferredtobydiferentnames,suchas
method, function, or constructor, depending on the programming language.
Program code segment:Acodesegmentreferstoacollectionofprogramstatementsthatarepartofaprogram.Fortext-based,thecollectionofprogramstatementsshould
becontinuousandwithinthesameprocedure.Forblock-based,thecollectionofprogramstatementsshouldbecontainedinthesamestarterblockorwhatisreferredtoasa
“Hat” block.
Program functionality: The behavior of a program during execution, often described by how a user interacts with it.
Purpose: The problem being solved or creative interest being pursued through the program.
Selection: Selection determines which parts of an algorithm are executed based on a condition being true or false. The use of try / exception statements is a form of selection
statements.
Sequencing: The application of each step of an algorithm in the order in which the code statements are given.
Student-developed procedure / algorithm: Program code that is student developed has been written (individually or collaboratively) by the student who submitted the
response.Callstoexistingprogramcodeorlibrariescanbeincludedbutarenotconsideredstudentdeveloped.Eventhandlersarebuilt-inabstractionsinsomelanguages
andwillthereforenotbeconsideredstudent-developed.Insomeblock-basedprogramminglanguages,eventhandlersbeginwith“when”.