ap® computer science principles: assessment overview and performance...
TRANSCRIPT
AP® Computer Science PrinciplesASSESSMENT OVERVIEW AND PERFORMANCE TASK DIRECTIONS FOR STUDENTS
ective Fall 2017ffE
INCLUDES:Assessment overviewExplore performance task directionsCreate performance task directionsExam reference sheetScoring guidelines and notes
Contents
AP Computer Science Principles Assessment Overview for Students
1 Investigation and Citation
2 Programming Language Requirements
2 Peer-to-Peer Collaboration
3 Preparing for the Through-Course Performance Tasks
Performance Task: Explore – Impact of Computing Innovations
7 Preparing for the Explore Performance Task
8 Guidelines for Completing the Explore Performance Task
Performance Task: Create – Applications from Ideas
12 Preparing for the Create Performance Task
12 Guidelines for Completing the Create Performance Task
AP Computer Science Principles Exam Reference Sheet
Appendix: Explore and Create Scoring Guidelines and Notes
1
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Handout
AP Computer Science Principles Assessment Overview for StudentsThe AP Computer Science Principles course has three assessments, consisting of two performance tasks and an end-of-course AP Exam. All three assessments are summative and will be used to calculate a final AP score (using the 1–5 scale) for AP Computer Science Principles.
Assessment Timing Percentage of Total AP Score
Explore Performance Task 8 hours 16%
Create Performance Task 12 hours 24%
End-of-Course Exam 2 hours 60%
Students who are completing the AP Computer Science Principles course in a nontraditional classroom situation (e.g., online, homeschool, independent study) should consult a school-based AP Coordinator for instructions on taking the AP Exam and submitting work for the performance tasks.
Investigation and CitationThe through-course performance tasks require you to create computational artifacts. A computational artifact is a visualization, a graphic, a video, a program, or an audio recording that you create using a computer. For the Create performance task, you will develop a computer program and for the Explore performance task, you will create a computational artifact of your choosing to represent or illustrate the intended purpose, function, or effect of a computing innovation using any computational tool(s) you wish.
In creating your computational artifact, you can create your own original work, including video, music, text, images, graphs, and program code. If you use external work to integrate into your computational artifact, you must acknowledge, attribute, and/or cite sources and include a bibliography with your submission. External work that should be acknowledged include video, music, text, images, graphs, and program code that are used in the creation of your computational artifacts.
2
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Handout
AP Computer Science Principles Policy on Plagiarism
A student who fails to acknowledge (i.e., through citation, through attribution, by reference, and/or through acknowledgment in a bibliographic entry) the source or author of any and all information or evidence taken from the work of someone else will receive a score of 0 on that performance task.
To the best of their ability, teachers will ensure that students understand ethical use and acknowledgment of the ideas and work of others as well as the consequences of plagiarism. The student’s individual voice should be clearly evident, and the ideas of others must be acknowledged, attributed, and/or cited. A computational artifact without acknowledgment of the media used in the creation of the computational artifact, and program code segment(s) written by someone else used in a program without appropriate acknowledgment, are all considered plagiarized work.
Programming Language RequirementsAP Computer Science Principles is language agnostic. This means that there is no specific language requirement. When completing the Create – Applications from Ideas performance task for this course, you are allowed to select a language you feel is most appropriate to meet the requirements of the task. When selecting a language or program, you should review the requirements section of the performance task to ensure that your program will be sophisticated enough to implement mathematical and logical concepts, create abstractions, and implement algorithms.
Peer-to-Peer CollaborationCollaboration is only allowed on designated sub-components of the Create performance task.
For the Explore – Impact of Computing Innovations performance task, collaboration of any kind is not allowed.
For the Create – Applications from Ideas performance task, you are encouraged to collaborate on the development of their program with another student in your class. Collaboration is not allowed during the creation of the video or when answering the written responses.
Students completing AP Computer Science Principles in a nontraditional classroom situation (e.g., online, homeschool, independent study) are encouraged to collaborate with another student peer when completing the Create performance task.
3
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Handout
Preparing for the Through-Course Performance TasksThe following guidelines are meant to help you be successful on the performance tasks as well as to clarify or address any questions you may have regarding the process of completing these tasks.
Prior to your teacher administering the performance tasks, you should:
▶ obtain content knowledge and skills that will help you succeed on the performance tasks;
▶ practice either an entire performance task or individual prompts of the tasks;
▶ review the scoring guidelines, found on AP Central, to understand how your work will be assessed;
▶ examine examples of performance task found on AP Central of submissions at high, medium, and low levels. If you select a computing innovation that is represented in one of the examples, or that was discussed in class, you must find new sources and submit original responses to avoid. You cannot submit any work from practice performance tasks.
▶ pay attention to the instructions concerning the size of the files to be uploaded; the computational artifact for the Explore performance task and the video for the Create performance task individually cannot exceed 30MB.
▶ ensure you know the proper way to evaluate and appropriately cite a source, including program code; any program code which has not been written by you must be cited and credit given to the author;
▶ understand the level of detail expected in writing your responses by examining the scoring guidelines and high level samples found on AP Central;
▶ understand that you may not revise your work once you have submitted your work as final to the AP Digital Portfolio; and
▶ be aware that the scoring process that occurs in the AP Reading may be different from the scoring process that occurs in your classroom; the AP score that you receive may be different than your classroom grade.
4
AP® Capstone Program Course and Exam Description
© 2017 The College Board
HandoutAP Computer Science Principles: Explore Performance Task
Performance Task: Explore – Impact of Computing Innovations
OverviewComputing innovations impact our lives in ways that require considerable study and reflection for us to fully understand them. In this performance task, you will explore a computing innovation of your choice. A computing innovation is an innovation that includes a computer or program code as an integral part of its functionality. Your close examination of this computing innovation will deepen your understanding of computer science principles.
Please note that once this performance task has been assigned as an assessment (rather than as practice), you are expected to complete the task with minimal assistance from anyone. For more clarification see the Guidelines for Completing the Through-Course Performance Tasks section.
You will be provided with a minimum of 8 hours of class time to develop, complete, and submit the following:
▶ A computational artifact
▶ Written responses
Scoring guidelines and instructions for submitting your performance tasks are available on the AP Computer Science Principles Course Home Page.
Note: Students in nontraditional classroom environments should consult a school-based AP Coordinator for submission instructions.
When completing the Explore – Impacts of Computing Innovations performance task, you will be expected to conduct investigations on a computing innovation. A computing innovation is an innovation that includes a computer or program code as an integral part of its functionality.
You must ensure you have identified relevant, credible, and easily accessible sources to support your creation of a computational artifact as well as to support your responses to the prompts. You can search for print or nonprint sources as part of your investigation. You can refer to a journal, Web page, or an expert that is being quoted as part of your written response. Avoid plagiarism by acknowledging, attributing, and/or citing sources throughout your responses.
General RequirementsThis performance task requires you to select and investigate a computational innovation to:
▶ analyze a computing innovations impact on society, economy, or culture and explain how this impact could be beneficial and/or harmful;
5
AP® Capstone Program Course and Exam Description
© 2017 The College Board
HandoutAP Computer Science Principles: Explore Performance Task
▶ explain how a computing innovation consumes, produces, or transforms data; and
▶ describe how data storage, data privacy, or data security concerns are raised based on the capabilities of the computing innovation.
You are also required to:
▶ investigate your computing innovation using a variety of sources (e.g., print, online, expert interviews);
▶ provide in-text citations of at least three different sources that helped you create your computational artifact and/or formulate your written responses;
› At least two of the sources must be available online or in print; your third source may be either online, in print, or a personal interview with an expert on the computing innovation.
› At least two of the sources must have been created after the end of the previous academic year.
▶ produce a computational artifact that illustrates, represents, or explains the computing innovation's intended purpose, its function, or its effect; and
▶ provide written responses to all the prompts in the performance task about your computational artifact and computing innovation.
Submission Requirements1. Computational Artifact
Your computational artifact must provide an illustration, representation, or explanation of the computing innovation’s intended purpose, its function, or its effect. The computational artifact must not simply repeat the information supplied in the written responses and should be primarily nontextual.
Submit a video, audio, or PDF file. Use computing tools and techniques to create one original computational artifact (a visualization, a graphic, a video, a program, or an audio recording). Acceptable multimedia file types include .mp3, .mp4, .wmv, .avi, .mov, .wav, .aif, or .pdf format. PDF files must not exceed three pages. Video or audio files must not exceed 1 minute in length and must not exceed 30MB in size.
2. Written Responses
Submit one PDF file in which you respond directly to each of the prompts below. Clearly label your responses 2a–2e in order. Your responses must provide evidence of the extensive knowledge you have developed about your chosen computing innovation and its impact(s). Write your responses so they would be understandable to someone who is not familiar with the computing innovation. Include citations, as applicable, within your written responses. Your response to prompts 2a–2d combined must not exceed 700 words. The references required in 2e are not included in the final word count.
6
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Handout
Computational Artifact
2a. Provide information on your computing innovation and computational artifact.
w Name the computing innovation that is represented by your computational artifact.
w Describe the computing innovation’s intended purpose and function.
w Describe how your computational artifact illustrates, represents, or explains the computing innovation’s intended purpose, its function, or its effect.
(Must not exceed 100 words)
2b. Describe your development process, explicitly identifying the computing tools and techniques you used to create your artifact. Your description must be detailed enough so that a person unfamiliar with those tools and techniques will understand your process. (Must not exceed 100 words)
Computing Innovation
2c. Explain at least one beneficial effect and at least one harmful effect the computing innovation has had, or has the potential to have, on society, economy, or culture. (Must not exceed 250 words)
2d. Using specific details, describe:
w the data your innovation uses;
w how the innovation consumes (as input), produces (as output), and/or transforms data; and
w at least one data storage concern, data privacy concern, or data security concern directly related to the computing innovation.
(Must not exceed 250 words)
References
2e. Provide a list of at least three online or print sources used to create your computational artifact and/or support your responses through in-text citation to the prompts provided in this performance task.
w At least two of the sources must have been created after the end of the previous academic year.
w For each online source, include the complete and permanent URL. Identify the author, title, source, the date you retrieved the source, and, if possible, the date the reference was written or posted.
w For each print source, include the author, title of excerpt/article and magazine or book, page number(s), publisher, and date of publication.
If you include an interview source, include the name of the person you interviewed, the date on which the interview occurred, and the person’s position in the field.
w
w Include in-text citations for the sources you used.
w Each source must be relevant, credible, and easily accessed.
AP Computer Science Principles: Explore Performance Task
7
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Handout
Preparing for the Explore Performance TaskPrior to your teacher administering this task, you should:
▶ understand that a computing innovation (i.e., an innovation that that includes a computer or program code as an integral part of its functionality) has a meaningful personal or community emphasis is an appropriate choice, as long as it fulfills the requirements to complete all the prompts in the performance task;
▶ practice searching and evaluating sources relevant to computing innovations; all sources cited must be relevant, credible, and easily accessible;
▶ practice clearly explaining the impact the intended use of a computing innovation has on society, economy, and culture, clearly justifying both beneficial and harmful effects;
▶ practice demonstrating your knowledge of computer science and understanding of how data is input, output, and transformed in your analysis of the data used by the computing innovation.
▶ practice making connections between the data used by a computing innovation and a security, privacy, or storage concern.
▶ obtain the meaning and purpose of creating a computational artifact; your creation must provide an illustration, representation, or explanation of the computing innovation’s intended purpose, its function, or its effect;
▶ have exposure to the use of a variety of computational tools that can be used to create effective computational artifacts;
▶ understand which computational artifacts would be considered effective and ineffective.
Effective artifacts include:
› visual, graphical, and/or audio content to help a reader understand the purpose, function, or effect of a computing innovation; and
› the use of communications media, such as animations, comic strips, infographics, and/or public service announcements, to illustrate the purpose, function, or effect of a computing innovation.
Ineffective artifacts include:
› artifacts that repeat information previously supplied in the written responses;
› multislide presentations with paragraphs of text or bullets;
› artifacts that have not been created by the student; and
› artifacts that focus on advertising the computing innovation’s functionality instead of the purpose of the innovation.
▶ practice writing responses based on relevant and credible sources and include in-text citations; and
▶ practice appropriate acknowledgment of sources used in the creation of your computational artifact.
AP Computer Science Principles: Explore Performance Task
8
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Handout
Guidelines for Completing the Explore Performance TaskYou must:
▶ be aware of the performance task directions, timeline, and scoring criteria;
▶ support your written analysis of your computing innovation when responding to all the prompts by using details related to the knowledge and understanding of computer science you have obtained throughout the course and your investigation;
▶ provide evidence to support your claims using in-text citations;
▶ use relevant and credible sources to gather information about your computing innovation;
▶ provide acknowledgments for the use of any media or program code used in the creation of your computational artifact that is not your own; and
▶ allow your own interests to drive your choice of computing innovation and computational artifact.
You may:
▶ follow a timeline and schedule for completing the performance task;
▶ seek clarification from your teacher or AP Coordinator pertaining to the task, timeline, components, and scoring criteria;
▶ seek clarification from your teacher or AP Coordinator regarding submission requirements;
▶ as needed, seek assistance from your teacher or AP Coordinator in defining your focus and choice of topics; and
▶ seek assistance from your teacher or AP Coordinator to resolve technical problems that impede work, such as a failing workstation or difficulty with access to networks, or help with saving files or making movie files.
You may not:
▶ collaborate on the Explore performance task;
▶ submit work that has been revised, amended, or corrected by another individual;
▶ submit work from a practice performance task as your official submission to the College Board to be scored by the AP Program; or
▶ seek assistance or feedback on answers to prompts.
AP Computer Science Principles: Explore Performance Task
9
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Handout
Performance Task: Create – Applications from Ideas
Overview Programming is a collaborative and creative process that brings ideas to life through the development of software. Programs can help solve problems, enable innovations, or express personal interests. In this performance task, you will be developing a program of your choice. Your development process should include iteratively designing, implementing, and testing your program. You are strongly encouraged to work with another student in your class.
Please note that once this performance task has been assigned as an assessment (rather than as practice), you are expected to complete the task with minimal assistance from anyone other than your collaborative peer(s). For more clarification see the Guidelines for Completing the Through-Course Performance Tasks section.
You will be provided with a minimum of 12 hours of class time to complete and submit the following:
▶ A video of your program running
▶ Individual written responses about your program and development process
▶ Program code
Scoring guidelines and instructions for submitting your performance tasks are available on the AP Computer Science Principles Course Home Page.
Note: Students in nontraditional classroom environments should consult a school-based AP Coordinator for instructions.
General RequirementsThis performance task requires you to develop a program on a topic that interests you or one that solves a problem. During the completion of this performance task, you will iteratively design, implement, and test your program. You will provide written responses to prompts about your program and specific program code that are significant to the functionality of your program. It is strongly recommended that a portion of the program involve some form of collaboration with another student in your class, for example, in the planning, designing, or testing (debugging) part of the development process. Your program development must also involve a significant amount of independent work writing your program code, in particular, algorithm(s) and abstraction(s) that you select to use as part of your written response to describe how the program code segments help your program run.
AP Computer Science Principles: Create Performance Task
10
AP® Capstone Program Course and Exam Description
© 2017 The College Board
HandoutAP Computer Science Principles: Create Performance Task
You are required to:
▶ independently develop an algorithm that integrates two or more algorithms and that is fundamental for your program to achieve its intended purpose;
▶ develop an abstraction that manages the complexity of your program;
▶ create a video that displays the running of your program and demonstrates its functionality;
▶ write responses to all the prompts in the performance task; and
▶ submit your entire program code.
Program RequirementsYour program must demonstrate a variety of capabilities and implement several different language features that, when combined, produce a result that cannot be easily accomplished without computing tools and techniques. Your program should draw upon mathematical and logical concepts, such as use of numbers, variables, mathematical expressions with arithmetic operators, logical and Boolean operators and expressions, decision statements, iteration, and/or collections.
Your program must demonstrate:
▶ use of several effectively integrated mathematical and logical concepts, from the language you are using;
▶ implementation of an algorithm that integrates two or more algorithms and integrates mathematical and/or logical concepts; and
▶ development and use of abstractions to manage the complexity of your program (e.g., procedures, abstractions provided by the programming language, APIs).
Submission Requirements1. Video
Submit one video in .mp4, .wmv, .avi, or .mov format that demonstrates the running of at least one significant feature of your program. Your video must not exceed 1 minute in length and must not exceed 30MB in size.
2. Written Responses
Submit one PDF file in which you respond directly to each prompt. Clearly label your responses 2a–2d in order. Your response to all prompts combined must not exceed 750 words, exclusive of the Program Code.
11
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Program Purpose and Development
2a. Provide a written response or audio narration in your video that:
w identifies the programming language;
identifies the purpose of your program; andw
w explains what the video illustrates.
(Must not exceed 150 words)
2b. Describe the incremental and iterative development process of your program, focusing on two distinct points in that process. Describe the difficulties and/or opportunities you encountered and how they were resolved or incorporated. In your description clearly indicate whether the development described was collaborative or independent. At least one of these points must refer to independent program development. (Must not exceed 200 words)
2c. Capture and paste a program code segment that implements an algorithm (marked with an oval in section 3 below) and that is fundamental for your program to achieve its intended purpose. This code segment must be an algorithm you developed individually on your own, must include two or more algorithms, and must integrate mathematical and/or logical concepts. Describe how each algorithm within your selected algorithm functions independently, as well as in combination with others, to form a new algorithm that helps to achieve the intended purpose of the program. (Must not exceed 200 words)
2d. Capture and paste a program code segment that contains an abstraction you developed individually on your own (marked with a rectangle in section 3 below). This abstraction must integrate mathematical and logical concepts. Explain how your abstraction helped manage the complexity of your program. (Must not exceed 200 words)
3. Program Code
Capture and paste your entire program code in this section.
› Mark with an oval the segment of program code that implements the algorithm you created for your program that integrates other algorithms and integrates mathematical and/or logical concepts.
› Mark with a rectangle the segment of program code that represents an abstraction you developed.
› Include comments or acknowledgments for program code that has been written by someone else.
HandoutAP Computer Science Principles: Create Performance Task
12
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Preparing for the Create Performance TaskPrior to your teacher administering this task, you should:
▶ Brainstorm problems that programming can address, or brainstorm special interests that programming can help develop;
▶ Ensure you understand the iterative nature of developing a computer program;
▶ Be prepared to collaborate with peers as necessary and in different ways;
▶ Ensure you are able to analyze program code and code segments and explain the function as it relates to the overall program;
▶ Know how to keep a programming journal of the design choices that you will make during the development of your program code and the effect of these decisions on the program’s function. You can use this journal as a point of reference when demonstrating your understanding of how:
› an algorithm was built as part of the integration of two or more algorithms;
› a program functions differently with the inclusion of algorithms and abstractions;
› the inclusion of an abstraction has made their program code more compact, readable and/or reusable and how the program would operate differently without the inclusion of the abstraction;
▶ obtain programming support as necessary while practicing the skills needed to complete the performance task.
Guidelines for Completing the Create Performance TaskYou must:
▶ be aware of the performance task directions, timeline, and scoring criteria;
▶ apply computer science knowledge you’ve obtained throughout the course when developing your program and in your explanation of its function;
▶ provide acknowledgment for program code used in your program that is not your own; and
▶ allow your own interests to drive your choice of program.
You may:
▶ follow a timeline and schedule for completing the performance task;
▶ seek clarification from your teacher or AP Coordinator pertaining to the task;
▶ seek clarification from your teacher or AP Coordinator regarding submission requirements;
HandoutAP Computer Science Principles: Create Performance Task
13
AP® Capstone Program Course and Exam Description
© 2017 The College Board
▶ as needed, seek assistance from your teacher or AP Coordinator in defining your focus or choice of topics;
▶ seek assistance from your teacher or AP Coordinator to resolve technical problems that impede work, such as a failing workstation or difficulty with access to networks, or help with saving files or making movie files;
▶ obtain assistance from your teacher or AP Coordinator with the formation of peer-to-peer collaboration when completing the Create performance task;
▶ seek assistance from your teacher or AP Coordinator in resolving collaboration issues where one partner is clearly and directly impeding the completion of the Create performance task; and
▶ seek guidance from your teacher or AP Coordinator to use and acknowledge APIs or other pieces of open-source code. Program code not written by you can be used in programs as long as you are extending the project in some new way. You should provide acknowledgment and credit from program code you did not write.
You may not:
▶ collaborate on the video or any of the written responses;
▶ submit work that has been revised, amended, or correct by another individual, with the exception of cited program code;
▶ submit work from a practice performance task as your official submission to the College Board to be scored by the AP Program; or
▶ seek assistance or feedback on answers to prompts.
HandoutAP Computer Science Principles: Create Performance Task
14
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Exam Reference SheetAs AP Computer Science Principles does not designate any particular programming language, this reference sheet provides instructions and explanations to help students understand the format and meaning of the questions they will see on the exam. The reference sheet includes two programming formats: text based and block based.
Programming instructions use four data types: numbers, Booleans, strings, and lists.
Instructions from any of the following categories may appear on the exam:
▶ Assignment, Display, and Input
▶ Arithmetic Operators and Numeric Procedures
▶ Relational and Boolean Operators
▶ Selection
▶ Iteration
▶ List Operations
▶ Procedures
▶ Robot
AP Computer Science Principles Exam Reference Sheet
15
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Exam Reference Sheet
Instruction ExplanationAssignment, Display, and Input
Text:a ← expression
Block:
Evaluates expression and assigns the result to the variable a.
Text:DISPLAY (expression)
Block:
Displays the value of expression, followed by a space.
Text:INPUT ()
Block:
Accepts a value from the user and returns it.
Arithmetic Operators and Numeric ProceduresText and Block:a + b a - b a * b a / b
The arithmetic operators +, -, *, and / are used to perform arithmetic on a and b.
For example, 3 / 2 evaluates to 1.5.
Text and Block:a MOD b
Evaluates to the remainder when a is divided by b. Assume that a and b are positive integers.
For example, 17 MOD 5 evaluates to 2.Text:RANDOM (a, b)
Block:
Evaluates to a random integer from a to b, including a and b.
For example, RANDOM (1, 3) could evaluate to 1, 2, or 3.
Relational and Boolean Operators Text and Block:a = b a ≠ b a > b a < b a ≥ b a ≤ b
The relational operators =, ≠, >, <, ≥, and ≤ are used to test the relationship between two variables, expressions, or values.
For example, a = b evaluates to true if a and b are equal; otherwise, it evaluates tofalse.
16
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Exam Reference Sheet
Text:NOT condition
Block:
Evaluates to true if condition is false; otherwise evaluates to false.
Text:condition1 AND condition2
Block:
Evaluates to true if both condition1 and condition2 are true; otherwise, evaluates to false.
Text:condition1 OR condition2
Block:
Evaluates to true if condition1 is true or if condition2 is true or if both condition1 and condition2 are true; otherwise, evaluates to false.
SelectionText:IF (condition) { <block of statements> }
Block:
The code in block of statements is executed if the Boolean expression condition evaluates to true; no action is taken if condition evaluates to false.
Instruction ExplanationRelational and Boolean Operators (continued)
17
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles Exam Reference Sheet
Text:IF (condition) { <first block of statements> } ELSE { <second block of statements> }
Block:
The code in first block of statements is executed if the Boolean expression condition evaluates to true; otherwise, the code in second block of statements is executed.
Iteration Text:REPEAT n TIMES { <block of statements> }
Block:
The code in block of statements is executed n times.
Text:REPEAT UNTIL (condition) { <block of statements> }
Block:
The code in block of statements is repeated until the Boolean expression condition evaluates to true.
Instruction ExplanationSelection (continued)
18
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Instruction ExplanationList Operations
AP Computer Science Principles Exam Reference Sheet
For all list operations, if a list index is less than 1 or greater than the length of the list, an error message is produced and the program terminates.Text:list[i]
Block:
Refers to the element of list at index i. The first element of list is at index 1.
Text:list[i] ← list[j]
Block:
Assigns the value of list[j] to list[i].
Text:list ← [value1, value2, value3]
Block:
Assigns value1, value2, and value3 to list[1], list[2], and list[3], respectively.
Text:FOR EACH item IN list { <block of statements> }
Block:
The variable item is assigned the value of each element of list sequentially, in order from the first element to the last element. The code in block of statements is executed once for each assignment of item.
Text:INSERT (list, i, value)
Block:
Any values in list at indices greater than or equal to i are shifted to the right. The length of list is increased by 1, and value is placed at index i in list.
Text:APPEND (list, value)
Block:
The length of list is increased by 1, and value is placed at the end of list.
19
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Text:REMOVE (list, i)
Block:
Removes the item at index i in list and shifts to the left any values at indices greater than i. The length of list is decreased by 1.
Text:LENGTH (list)
Block:
Evaluates to the number of elements in list.
Procedures Text:PROCEDURE name ( parameter1,
parameter2, ...){ <instructions> }
Block:
A procedure, name, takes zero or more parameters. The procedure contains programming instructions.
Text:PROCEDURE name ( parameter1,
parameter2, ...){ <instructions>
RETURN (expression)}
Block:
A procedure, name, takes zero or more parameters. The procedure contains programming instructions and returns the value of expression. The RETURN statement may appear at any point inside the procedure and causes an immediate return from the procedure back to the calling program.
Instruction ExplanationList Operations (continued)
AP Computer Science Principles Exam Reference Sheet
20
AP® Capstone Program Course and Exam Description
© 2017 The College Board
Instruction ExplanationRobot
AP Computer Science Principles Exam Reference Sheet
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:MOVE_FORWARD ()
Block:
The robot moves one square forward in the direction it is facing.
Text:ROTATE_LEFT ()
Block:
The robot rotates in place 90 degrees counterclockwise (i.e., makes an in-place left turn).
Text:ROTATE_RIGHT ()
Block:
The robot rotates in place 90 degrees clockwise (i.e., makes an in-place right turn).
Text:CAN_MOVE (direction)
Block:
Evaluates to true if there is an open square one square in the direction relative to where the robot is facing; otherwise evaluates to false. The value of direction can be left, right, forward, or backward.
21
AP® Capstone Program Course and Exam Description
© 2017 The College Board
AP Computer Science Principles
Appendix: Explore and Create Scoring Guidelines and Notes
22© 2017 The College Board
AP
® C
om
pu
ter
Sci
ence
Pri
nci
ple
s —
Exp
lore
Per
form
ance
Task
20
18 S
cori
ng
Gu
idel
ines
an
d N
ote
sRe
porti
ng
Cate
gory
Task
Scor
ing
Crite
riaD
ecis
ion
Rule
sSc
orin
g N
otes
Row
1
Usi
ng
Dev
elop
men
t Pr
oces
ses
and
Tool
s
COM
P.
ART
IFA
CTTh
e co
mpu
tatio
nal
artif
act:
• Id
entifi
es th
e
com
putin
g
inno
vatio
n.
AN
D•
Prov
ides
an
ill
ustr
ation
, re
pres
enta
tion,
or
ex
plan
ation
of t
he
com
putin
g
inno
vatio
n’s
inte
nded
pu
rpos
e, fu
nctio
n, o
r
effec
t.
The
wri
tten
resp
onse
can
be
used
to a
id th
e un
ders
tand
ing
of h
ow th
e co
mpu
tatio
nal
artif
act i
llust
rate
s, re
pres
ents
, or
expl
ains
the
com
putin
g in
nova
tion’
s in
tend
ed p
urpo
se,
func
tion,
or
effec
t.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
ere
is n
o ar
tifac
t;•
the
artif
act i
s no
t a c
ompu
tatio
nal a
rtifa
ct;
• th
e in
nova
tion
iden
tified
in th
e ar
tifac
t do
es n
ot m
atch
the
inno
vatio
n de
scrib
ed in
th
e w
ritten
resp
onse
;•
the
artif
act d
oes
not i
denti
fy th
e in
nova
tion
clea
rly;
• th
e ar
tifac
t doe
s no
t illu
stra
te, r
epre
sent
or
expl
ain
the
inno
vatio
n’s
inte
nded
pu
rpos
e, fu
nctio
n, o
r eff
ect;
• th
e ar
tifac
t illu
stra
tes
a fe
atur
e of
the
inno
vatio
n in
stea
d of
the
purp
ose,
func
tion,
or
effe
ct; o
r•
the
wri
tten
resp
onse
des
crib
es th
e in
nova
tion’
s in
tend
ed p
urpo
se a
nd fu
nctio
n
with
out e
xpla
inin
g ho
w th
e co
mpu
tatio
nal a
rtifa
ct il
lust
rate
s, re
pres
ents
, or
ex
plai
ns th
e in
tend
ed p
urpo
se, f
uncti
on, o
r eff
ect.
• A
com
puta
tiona
l arti
fact
is s
omet
hing
cre
ated
by
a hu
man
usi
ng a
co
mpu
ter
and
can
be, b
ut is
not
lim
ited
to, a
pro
gram
, an
imag
e,
an a
udio
, a v
ideo
, a p
rese
ntati
on, o
r a
Web
pag
e fil
e. T
he
com
puta
tiona
l arti
fact
cou
ld s
olve
a p
robl
em, s
how
cre
ative
ex
pres
sion
, or
prov
ide
a vi
ewer
with
new
insi
ght o
r kn
owle
dge.
• A
com
putin
g in
nova
tion
is a
n in
nova
tion
that
incl
udes
a c
ompu
ter
or p
rogr
am c
ode
as a
n in
tegr
al p
art o
f its
func
tiona
lity.
Row
2
Ana
lyzi
ng
Impa
ct o
f Co
mpu
ting
RESP
ON
SE
2A•
Stat
es a
fact
abo
ut
the
corr
ectly
id
entifi
ed c
ompu
ting
in
nova
tion’
s in
tend
ed
purp
ose
OR
func
tion.
Do
NO
T aw
ard
a po
int i
f:•
the
iden
tified
inno
vatio
n is
not
a c
ompu
ting
inno
vatio
n; o
r•
the
writt
en s
tate
men
t giv
es a
n eff
ect (
whi
ch is
requ
ired
for t
he s
corin
g cr
iteria
in
Row
3, n
ot R
ow 2
).
• A
com
putin
g in
nova
tion
is a
n in
nova
tion
that
incl
udes
a c
ompu
ter
or
pro
gram
cod
e as
an
inte
gral
par
t of i
ts fu
nctio
nalit
y.•
Com
putin
g in
nova
tions
may
be
phys
ical
com
putin
g in
nova
tions
su
ch a
s G
oogl
e gl
asse
s or
sel
f-dr
ivin
g ca
rs, n
on-p
hysi
cal c
ompu
ter
so
ftw
are
like
a ce
ll ph
one
app,
or
c om
putin
g co
ncep
ts s
uch
as
e-co
mm
erce
or
soci
al n
etw
orki
ng w
hich
rely
on
phys
ical
tr
ansa
ction
s co
nduc
ted
on th
e In
tern
et.
• Pu
rpos
e m
eans
the
inte
nded
goa
l or
obje
ctive
of t
he in
nova
tion.
• Fu
nctio
n m
eans
how
the
inno
vatio
n w
orks
(e.g
., co
nsum
es a
nd
prod
uces
dat
a).
Row
3
Ana
lyzi
ng
Impa
ct o
f Co
mpu
ting
RESP
ON
SE2C
• Id
entifi
es a
t lea
st
ON
E eff
ect o
f the
id
entifi
ed o
r
desc
ribe
d co
mpu
ting
in
nova
tion.
The
effec
t doe
s no
t nee
d to
be
spec
ifica
lly id
entifi
ed a
s be
nefic
ial o
r ha
rmfu
l.
The
effec
t mus
t be
iden
tified
, but
it d
oesn
’t h
ave
to b
e de
scri
bed
to e
arn
the
poin
t.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e de
scri
bed
inno
vatio
n is
not
a c
ompu
ting
inno
vatio
n;
• th
e re
spon
se d
oes
not s
tate
an
effec
t (Th
e pu
rpos
e or
func
tion
of th
e co
mpu
ting
inno
vatio
n is
not
the
effec
t of t
he in
nova
tion.
); or
• th
e id
entifi
ed e
ffect
is n
ot a
resu
lt of
the
use
of th
e in
nova
tion
as in
tend
ed (e
.g.,
a
self-
driv
ing
car i
s no
t int
ende
d to
cra
sh, t
here
fore
, its
exp
osur
e to
hac
king
is n
ot a
n eff
ect o
f its
inte
nded
use
).
• •
An
effec
t may
be
an im
pact
, res
ult,
out
com
e, e
tc.
Row
4
Ana
lyzi
ng
Impa
ct o
f Co
mpu
ting
RESP
ON
SE
2C•
Iden
tifies
a b
enefi
cial
eff
ect o
f the
id
entifi
ed o
r
desc
ribe
d co
mpu
ting
in
nova
tion.
AN
D•
Iden
tifies
a h
arm
ful
effec
t of t
he
iden
tified
or
de
scri
bed
com
putin
g in
nova
tion.
Resp
onse
s th
at e
arn
this
poi
nt w
ill a
lso
earn
the
poin
t for
Row
3.
Resp
onse
s sh
ould
be
eval
uate
d on
the
ratio
nale
pro
vide
d in
the
resp
onse
not
on
the
inte
rpre
tatio
n or
infe
renc
e on
the
part
of t
he s
core
r.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e de
scri
bed
inno
vatio
n is
not
a c
ompu
ting
inno
vatio
n;
• th
e re
spon
se is
mis
sing
the
adje
ctive
s ha
rmfu
l or
bene
ficia
l (or
syn
onym
s th
ereo
f);
• th
e re
spon
se is
mis
sing
a p
laus
ible
ben
efici
al e
ffect
;•
the
resp
onse
is m
issi
ng a
pla
usib
le h
arm
ful e
ffect
; or
• th
e id
entifi
ed e
ffect
is n
ot a
resu
lt of
the
use
of th
e in
nova
tion
as in
tend
ed (e
.g.,
a
self-
driv
ing
car
is n
ot in
tend
ed to
cra
sh, t
here
fore
, its
exp
osur
e to
hac
king
is n
ot a
n eff
ect o
f its
inte
nded
use
).
An
effec
t may
be
an im
pact
, res
ult,
out
com
e, e
tc.
Bene
ficia
l and
/or
harm
ful e
ffect
s ar
e co
ntex
tual
and
inte
rpre
tive;
id
entifi
catio
n in
clud
es b
oth
the
clas
sific
ation
of t
he e
ffect
as
bene
ficia
l or
harm
ful a
nd ju
stific
ation
for
that
cla
ssifi
catio
n.
•
AP Computer Science Principles
AP Computer Science Principles
23© 2017 The College Board
Repo
rting
Ca
tego
ryTa
skSc
orin
g Cr
iteria
Dec
isio
n Ru
les
Scor
ing
Not
es
Row
5
Ana
lyzi
ng
Impa
ct o
f Co
mpu
ting
RESP
ON
SE
2C•
Expl
ains
how
ON
E of
th
e id
entifi
ed e
ffect
s re
late
s to
soc
iety
, ec
onom
y, o
r cu
lture
.
Resp
onse
s th
at e
arn
the
poin
t for
this
row
mus
t hav
e ea
rned
the
poin
t for
Row
3.
Resp
onse
s sh
ould
be
eval
uate
d on
the
ratio
nale
pro
vide
d in
the
resp
onse
not
on
the
inte
rpre
tatio
n or
infe
renc
e on
the
part
of t
he s
core
r.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e de
scri
bed
inno
vatio
n is
not
a c
ompu
ting
inno
vatio
n; o
r •
the
expl
anati
on d
oes
not c
onne
ct o
ne o
f the
effe
cts
to s
ocie
ty, e
cono
my,
or
cu
lture
.
• Eff
ects
nee
d to
be
rela
ted
to s
ocie
ty, e
cono
my,
or
cultu
re a
nd
need
to b
e co
nnec
ted
to a
gro
up o
r in
divi
dual
s. E
xam
ples
in
clud
e bu
t are
not
lim
ited
to:
• Th
e in
nova
tion
and
impa
ct o
f soc
ial m
edia
onl
ine
acce
ss
vari
es in
diff
eren
t cou
ntri
es a
nd in
diff
eren
t soc
ioec
onom
ic
grou
ps (E
K 7.
4.1A
)•
Mob
ile, w
irele
ss, a
nd n
etw
orke
d co
mpu
ting
have
an
impa
ct
on in
nova
tion
thro
ugho
ut th
e w
orld
(EK
7.4.
1B)
• Th
e gl
obal
dis
trib
ution
of c
ompu
ting
reso
urce
s ra
ises
issu
es
of e
quity
, acc
ess
and
pow
er (E
K 7.
4.1C
)•
Gro
ups
and
indi
vidu
als
are
affec
ted
by th
e “d
igita
l div
ide”
(E
K 7.
4.1D
)•
Net
wor
ks a
nd in
fras
truc
ture
are
sup
port
ed b
y bo
th
com
mer
cial
and
gov
ernm
enta
l ini
tiativ
es (E
K 7.
4.1E
)
Row
6
Ana
lyzi
ng
Dat
a an
d In
form
ation
RESP
ON
SE
2D•
Iden
tifies
the
data
th
at th
e id
entifi
ed o
r
desc
ribe
d co
mpu
ting
in
nova
tion
uses
AN
D•
Expl
ains
how
that
da
ta is
con
sum
ed,
prod
uced
, OR
tr
ansf
orm
ed.
Resp
onse
s sh
ould
be
eval
uate
d on
the
ratio
nale
pro
vide
d in
the
resp
onse
not
on
the
inte
rpre
tatio
n or
infe
renc
e on
the
part
of t
he s
core
r.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e de
scri
bed
inno
vatio
n is
not
a c
ompu
ting
inno
vatio
n;
• th
e re
spon
se d
oes
not s
tate
the
spec
ific
nam
e of
the
data
or s
impl
y sa
ys “
data
”;•
the
resp
onse
con
fuse
s or
con
flate
s th
e in
nova
tion
with
the
data
: res
pons
e fa
ils to
ex
plai
n w
hat h
appe
ns to
the
data
; or
• th
e re
spon
se c
onfu
ses
the
sour
ce o
f the
dat
a w
ith th
e da
ta.
• D
ata
type
s in
clud
e: in
tege
rs, n
umbe
rs, B
oole
ans,
text
, im
age,
vi
deo,
aud
io, s
igna
ls. D
ata
that
infe
r th
ese
type
s lik
e
finge
rpri
nts,
tem
pera
ture
, mus
ic, l
engt
h, p
ictu
res,
etc
. are
al
low
ed.
• D
ata
colle
ction
dev
ices
(e.g
. sen
sors
, cam
eras
, etc
.) ar
e no
t dat
a.La
rge
data
set
s in
clud
e da
ta s
uch
as tr
ansa
ction
s,
mea
sure
men
ts, t
exts
, sou
nds,
imag
es, a
nd v
ideo
s. (E
K 3.
2.2A
)•
Row
7
Ana
lyzi
ng
Dat
a an
d In
form
ation
RESP
ON
SE
2D•
Iden
tify
one
data
st
orag
e, d
ata
priv
acy,
O
R da
ta s
ecur
ity
conc
ern
rela
ted
to
the
iden
tified
or
desc
ribe
d co
mpu
ting
in
nova
tion.
Resp
onse
s sh
ould
be
eval
uate
d on
the
ratio
nale
pro
vide
d in
the
resp
onse
not
on
the
in
terp
reta
tion
or in
fere
nce
on th
e pa
rt o
f the
sco
rer.
Resp
onse
s ca
n ea
rn th
is p
oint
eve
n if
they
refe
r to
the
data
in a
gen
eral
with
out s
peci
fical
ly
iden
tifyi
ng th
e da
ta b
eing
use
d.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e de
scri
bed
inno
vatio
n is
not
a c
ompu
ting
inno
vatio
n; o
r •
the
resp
onse
iden
tifies
or
desc
ribe
s a
conc
ern
that
is n
ot re
late
d to
dat
a.
Row
8
Find
ing
and
Eval
uati
ng
Info
rmati
on
RESP
ON
SE
2E &
A
RTIF
ACT
/ W
RITT
EN
RESP
ON
SE
• Re
fere
nces
, th
roug
h in
-tex
t ci
tatio
n, a
t lea
st 3
di
ffere
nt s
ourc
es.
The
in-t
ext c
itatio
ns c
an b
e in
eith
er th
e ar
tifac
t or
the
wri
tten
resp
onse
.
The
in-t
ext c
itatio
ns m
ay b
e or
al in
the
com
puta
tiona
l arti
fact
.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e re
spon
se c
onta
ins
a lis
t of s
ourc
es o
nly,
no
in-t
ext c
itatio
ns;
• th
e re
spon
se c
onta
ins
less
than
thre
e in
-tex
t cita
tions
; or
• th
ere
are
few
er th
an th
ree
sour
ces
cite
d, e
ven
if th
ere
are
thre
e or
mor
e in
-tex
tci
tatio
ns.
• In
-tex
t cita
tions
may
be
prov
ided
in a
ny w
ay th
at a
ckno
wle
dges
th
e so
urce
:•
“Acc
ordi
ng to
. . .
” or
“As
wri
tten
in th
e N
ew Y
ork
Tim
es .
. .”
• Pa
rent
hetic
al•
Foot
note
s•
Num
eric
al s
uper
scri
pts
with
cor
resp
ondi
ng fo
otno
te•
Num
ber
syst
em w
ith a
cor
resp
ondi
ng re
fere
nce
24© 2017 The College Board
AP Computer Science Principles
AP
® C
om
pu
ter
Sci
ence
Pri
nci
ple
s —
Cre
ate
Perf
orm
ance
Task
20
18 S
cori
ng
Gu
idel
ines
an
d N
ote
sRe
porti
ng
Cate
gory
Task
Scor
ing
Crite
riaD
ecis
ion
Rule
sSc
orin
g N
otes
Row
1
Dev
elop
ing
a Pr
ogra
m w
ith
a Pu
rpos
e
VID
EO &
RE
SPO
NSE
2A
• Th
e vi
deo
dem
onst
rate
s th
e
runn
ing
of a
t lea
st o
ne fe
atur
e of
th
e pr
ogra
m s
ubm
itted
.A
ND
• Th
e re
spon
se (a
udio
nar
ratio
n or
w
ritt
en re
spon
se) i
denti
fies
the
pu
rpos
e of
the
prog
ram
(wha
t the
pr
ogra
m is
att
empti
ng to
do)
.
Resp
onse
ear
ns th
e po
int i
f it e
xpla
ins
the
func
tion
of th
e pr
ogra
m in
stea
d of
iden
tifyi
ng
the
purp
ose.
Resp
onse
ear
ns th
e po
int i
f the
illu
stra
ted
feat
ure
runs
, eve
n if
it do
es n
ot fu
nctio
n as
in
tend
ed.
Resp
onse
ear
ns th
e po
int i
f the
vid
eo in
clud
es a
nar
ratio
n or
som
e fo
rm o
f clo
sed
ca
ption
ing
that
add
ress
es th
e pu
rpos
e of
the
prog
ram
.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• a
vide
o is
not
sub
mitt
ed;
• th
e vi
deo
does
not
illu
stra
te th
e fe
atur
e m
entio
ned
in th
e re
spon
se; o
r•
the
vide
o do
es n
ot il
lust
rate
the
runn
ing
of th
e fe
atur
e (s
cree
n sh
ots
or
stor
yboa
rds
are
not a
ccep
tabl
e an
d w
ould
not
be
cred
ited)
.
• Pu
rpos
e m
eans
the
inte
nded
goa
l or
obje
ctive
of
the
prog
ram
.•
Func
tion
mea
ns h
ow th
e pr
ogra
m w
orks
.
Row
2
Dev
elop
ing
a Pr
ogra
m w
ith
a Pu
rpos
e
RESP
ON
SE
2B•
Des
crib
es o
r ou
tline
s st
eps
used
in
the
incr
emen
tal a
nd it
erati
ve
deve
lopm
ent p
roce
ss to
cre
ate
the
en
tire
prog
ram
.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e re
spon
se d
oes
not i
ndic
ate
itera
tive
deve
lopm
ent;
• re
finem
ent a
nd re
visi
on a
re n
ot c
onne
cted
to fe
edba
ck, t
estin
g, o
r re
flecti
on; o
r•
the
resp
onse
onl
y de
scri
bes
the
deve
lopm
ent a
t tw
o sp
ecifi
c po
ints
in ti
me.
• D
evel
opm
ent p
roce
sses
are
iter
ative
and
cy
clic
al in
nat
ure
and
requ
ire s
tude
nts
to
refle
ct A
ND
impr
ove
on w
hat t
hey
have
cr
eate
d. E
xam
ples
of i
tera
tive
deve
lopm
ent
coul
d in
clud
e re
flecti
on, r
evis
ion,
testi
ng a
nd
refin
ing,
and
impr
ovem
ents
bas
ed o
n fe
edba
ck.
• Th
e in
crem
enta
l and
iter
ative
dev
elop
men
t pr
oces
s do
es n
ot n
eed
to b
e a
form
al m
etho
d
such
as
wat
erfa
ll, to
p —
dow
n, b
ottom
-up,
ag
ile, e
tc.
Row
3
Dev
elop
ing
a Pr
ogra
m w
ith
a Pu
rpos
e
RESP
ON
SE
2B•
Spec
ifica
lly id
entifi
es a
t lea
st tw
o
prog
ram
dev
elop
men
t diffi
culti
es
or o
ppor
tuni
ties. AN
D•
Des
crib
es h
ow th
e tw
o id
entifi
ed
diffi
culti
es o
r op
port
uniti
es a
re
reso
lved
or
inco
rpor
ated
.
Resp
onse
ear
ns th
e po
int i
f it i
denti
fies
two
oppo
rtun
ities
, or
two
diffi
culti
es, o
r on
e op
port
unity
and
one
diffi
culty
AN
D d
escr
ibes
how
eac
h is
reso
lved
or
inco
rpor
ated
.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• on
ly o
ne d
istin
ct d
ifficu
lty o
r op
port
unity
in th
e pr
oces
s is
iden
tified
and
de
scri
bed;
or
• th
e re
spon
se d
oes
not d
escr
ibe
how
the
diffi
culti
es o
r op
port
uniti
es w
ere
reso
lved
or
inco
rpor
ated
.
Row
4
App
lyin
g A
lgor
ithm
s
COD
E SE
GM
ENT
IN
RESP
ON
SE
2C
• Se
lect
ed c
ode
segm
ent i
mpl
emen
ts
an a
lgor
ithm
.D
o N
OT
awar
d a
poin
t if a
ny o
ne o
f the
follo
win
g is
true
:•
the
algo
rith
m c
onsi
sts
of a
sin
gle
inst
ructi
on;
• th
e co
de s
egm
ent c
onsi
sting
of t
he a
lgor
ithm
is n
ot in
clud
ed in
the
wri
tten
re
spon
ses
secti
on o
r is
not
exp
licitl
y id
entifi
ed in
the
prog
ram
cod
e se
ction
; or
• th
e al
gori
thm
is n
ot e
xplic
itly
iden
tified
(i.e
., th
e en
tire
prog
ram
is s
elec
ted
as a
n al
gori
thm
, with
out e
xplic
itly
iden
tifyi
ng th
e co
de s
egm
ent c
onta
inin
g th
e
algo
rith
m).
• A
lgor
ithm
s ar
e pr
ecis
e se
quen
ces
of
inst
ructi
ons
for
proc
esse
s th
at c
an b
e ex
ecut
ed
by a
com
pute
r an
d ar
e im
plem
ente
d us
ing
pr
ogra
mm
ing
lang
uage
s. (E
U 4
.1)
• A
lgor
ithm
s m
ake
use
of s
eque
ncin
g, s
elec
tion
or
iter
ation
. (EK
4.1
.1A
)
25© 2017 The College Board
AP Computer Science Principles
Repo
rting
Ca
tego
ryTa
skSc
orin
g Cr
iteria
Dec
isio
n Ru
les
Scor
ing
Not
es
Row
5
App
lyin
g A
lgor
ithm
s
RESP
ON
SE
2C•
Sele
cted
cod
e se
gmen
t im
plem
ents
an
alg
orith
m th
at u
ses
m
athe
mati
cal o
r lo
gica
l con
cept
s.A
ND
• Ex
plai
ns h
ow th
e se
lect
ed
algo
rith
m fu
nctio
ns.
AN
D•
Des
crib
es w
hat t
he s
elec
ted
al
gori
thm
doe
s in
rela
tion
to th
e
over
all p
urpo
se o
f the
pro
gram
.•
The
algo
rith
m b
eing
des
crib
ed c
an u
tiliz
e ex
istin
g la
ngua
ge fu
nctio
nalit
y, o
r lib
rary
cal
ls.
Resp
onse
ear
ns th
e po
int e
ven
if th
e al
gori
thm
was
not
new
ly d
evel
oped
. (i.e
., a
stud
ent’s
re
impl
emen
tatio
n of
the
algo
rith
m to
find
the
min
imum
val
ue)
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e se
lect
ed a
lgor
ithm
con
sist
s of
a s
ingl
e in
stru
ction
;•
the
sele
cted
alg
orith
m c
onsi
sts
sole
ly o
f lib
rary
cal
ls to
exi
sting
lang
uage
fu
nctio
nalit
y;th
e se
lect
ed a
lgor
ithm
doe
s no
t inc
lude
mat
hem
atica
l or
logi
cal c
once
pts;
• th
e re
spon
se o
nly
desc
ribe
s w
hat t
he s
elec
ted
algo
rith
m d
oes
with
out e
xpla
inin
g ho
w it
doe
s it;
• th
e re
spon
se d
oes
not e
xplic
itly
addr
ess
the
prog
ram
’s p
urpo
se;
• th
e co
de s
egm
ent c
onsi
sting
of t
he s
elec
ted
algo
rith
m is
not
incl
uded
in th
e
wri
tten
resp
onse
s se
ction
or
is n
ot e
xplic
itly
iden
tified
in th
e pr
ogra
m c
ode
se
ction
; or
• th
e al
gori
thm
is n
ot e
xplic
itly
iden
tified
(i.e
., th
e en
tire
prog
ram
is s
elec
ted
as a
n
algo
rith
m, w
ithou
t exp
licitl
y id
entif
ying
the
code
seg
men
t con
tain
ing
the
al
gori
thm
).
• Se
e Ro
w 4
defi
nitio
ns a
nd c
urri
culu
m
fram
ewor
k al
ignm
ent.
• M
athe
mati
cal c
once
pts
incl
ude
mat
hem
atica
l ex
pres
sion
s us
ing
arith
meti
c op
erat
ors
and
mat
hem
atica
l fun
ction
s. (E
K 5.
5.1.
D)
• Lo
gica
l con
cept
s in
clud
e Bo
olea
n al
gebr
a an
d co
mpo
und
expr
essi
ons.
(EK
5.5.
1E a
nd 5
.5.1
F)•
Iter
ation
is th
e re
petiti
on o
f par
t of a
n
algo
rith
m u
ntil a
con
ditio
n is
met
or
for
a
spec
ified
num
ber
of ti
mes
. (EK
4.1
.1D
)•
Sele
ction
use
s a
Bool
ean
cond
ition
to
dete
rmin
e w
hich
of t
wo
part
s of
an
algo
rith
m is
us
ed. (
EK 4
.1.1
C)•
Iter
ation
is th
e re
petiti
on o
f par
t of a
n
algo
rith
m u
ntil a
con
ditio
n is
met
or
for
a
spec
ified
num
ber
of ti
mes
. (EK
4.1
.1D
)•
Sele
ction
use
s a
Bool
ean
cond
ition
to
dete
rmin
e w
hich
of t
wo
part
s of
an
algo
rith
m is
us
ed. (
EK 4
.1.1
C)
Row
6
App
lyin
g A
lgor
ithm
s
RESP
ON
SE2C
•
Sele
cted
cod
e se
gmen
t im
plem
ents
an
alg
orith
m th
at in
clud
es a
t lea
st
two
or m
ore
algo
rith
ms.
AN
D•
At le
ast o
ne o
f the
incl
uded
al
gori
thm
s us
es m
athe
mati
cal o
r
logi
cal c
once
pts. AN
D•
Expl
ains
how
one
of t
he in
clud
ed
algo
rith
ms
func
tions
in
depe
nden
tly.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e se
lect
ed a
lgor
ithm
con
sist
s of
a s
ingl
e in
stru
ction
;•
the
sele
cted
alg
orith
m c
onsi
sts
sole
ly o
f lib
rary
cal
ls to
exi
sting
lang
uage
fu
nctio
nalit
y;•
neith
er o
f the
incl
uded
alg
orith
ms
nor
the
sele
cted
alg
orith
m th
at in
clud
es tw
o
or m
ore
algo
rith
ms
uses
mat
hem
atica
l or
logi
cal c
once
pts;
• th
e co
de s
egm
ent c
onsi
sting
of t
he a
lgor
ithm
is n
ot in
clud
ed in
the
wri
tten
re
spon
ses
secti
on o
r is
not
exp
licitl
y id
entifi
ed in
the
prog
ram
cod
e se
ction
; or
• th
e al
gori
thm
is n
ot e
xplic
itly
iden
tified
(i.e
., th
e en
tire
prog
ram
is s
elec
ted
as a
n
algo
rith
m, w
ithou
t exp
licitl
y id
entif
ying
the
code
seg
men
t con
tain
ing
the
al
gori
thm
).
• Se
e Ro
w 4
and
Row
5 d
efini
tions
and
cu
rric
ulum
fram
ewor
k al
ignm
ent.
Row
7
App
lyin
g A
bstr
acti
on
COD
E SE
GM
ENT
IN
RESP
ON
SE
2D
• Se
lect
ed c
ode
segm
ent i
s a
stud
ent-
deve
lope
d ab
stra
ction
.Re
spon
ses
that
use
exi
sting
abs
trac
tions
to c
reat
e a
new
abs
trac
tion,
suc
h as
cre
ating
a li
st
to re
pres
ent a
col
lecti
on (e
.g.,
a cl
assr
oom
, an
inve
ntor
y), w
ould
ear
n th
is p
oint
.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e re
spon
se is
an existing
abs
trac
tion
such
as
vari
able
s, e
xisti
ng c
ontr
ol
stru
ctur
es, e
vent
han
dler
s, A
PIs;
• th
e co
de s
egm
ent c
onsi
sting
of t
he a
bstr
actio
n is
not
incl
uded
in th
e w
ritt
en
resp
onse
s se
ction
or
is n
ot e
xplic
itly
iden
tified
in th
e pr
ogra
m c
ode
secti
on; o
r•
the
abst
racti
on is
not
exp
licitl
y id
entifi
ed (i
.e.,
the
entir
e pr
ogra
m is
sel
ecte
d as
an
abs
trac
tion,
with
out e
xplic
itly
iden
tifyi
ng th
e co
de s
egm
ent c
onta
inin
g th
e
abst
racti
on).
• Th
e fo
llow
ing
are
exam
ples
of a
bstr
actio
ns
(EK
5.3.
1):
• Pr
oced
ures
• Pa
ram
eter
s•
List
s•
App
licati
on p
rogr
am in
terf
aces
(API
s)•
Libr
arie
s•
List
s an
d ot
her
colle
ction
s ca
n be
trea
ted
as
abst
ract
dat
a ty
pes
(AD
Ts) i
n de
velo
ping
pr
ogra
ms.
(EK
5.5.
1I)
Row
8
App
lyin
g A
bstr
acti
on
RESP
ON
SE
2D•
Expl
ains
how
the
sele
cted
ab
stra
ction
man
ages
the
co
mpl
exity
of t
he p
rogr
am.
Resp
onse
s sh
ould
not
be
pena
lized
for
expl
anati
ons
of a
bstr
actio
ns th
at a
re n
ot d
evel
oped
by
the
stud
ent.
Do
NO
T aw
ard
a po
int i
f any
one
of t
he fo
llow
ing
is tr
ue:
• th
e ex
plan
ation
doe
s no
t app
ly to
the
sele
cted
abs
trac
tion;
or
• th
e ab
stra
ction
is n
ot e
xplic
itly
iden
tified
(i.e
., th
e en
tire
prog
ram
is s
elec
ted
as
an a
bstr
actio
n, w
ithou
t exp
licitl
y id
entif
ying
the
code
seg
men
t con
tain
ing
the
abst
racti
on).
• Se
e Ro
w 7
defi
nitio
ns a
nd c
urri
culu
m
fram
ewor
k al
ignm
ent.