Ap24 Apc CSP q1 Set 1 Scoring Commentary
Ap24 Apc CSP q1 Set 1 Scoring Commentary
AP Computer Science
®
Principles
Sample Student Responses
and Scoring Commentary
Set 1
Inside:
Written Response 1
R Scoring Guidelines
R Student Samples
R Scoring Commentary
Digital Portfolio Components provided separately
© 2024 College Board. College Board, Advanced Placement, AP, AP Central, and the acorn logo are registered
trademarks of College Board. Visit College Board on the web: collegeboard.org.
AP Central is the official online home for the AP Program: apcentral.collegeboard.org.
AP® Computer Science Principles 2024 Scoring Guidelines
Reporting
Scoring Criteria Decision Rules
Category
Course Project: The video demonstrates the running of the program Consider the video (or Program Code if necessary) when scoring this point.
Video including: • The video needs to show at least one example of the program’s functionality.
• input • If the source of the input is unclear from the video, consider the full program code file when
(0–1 points)
• program functionality scoring this point.
• output
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: The program code includes: Consider the Personalized Project Reference (or Program Code if necessary) when scoring this
Program • A student-developed procedure point.
Requirements • If the program requirements do not appear in the Personalized Project Reference, consider the
• A call to the student-developed procedure
full program code file when scoring this point.
(0–1 points) • A list (or other collection type)
• The procedure does not need to have a parameter to earn this point.
• A use of the list
• The code segments demonstrating selection and iteration do not need to appear in the same
• Selection
algorithm to earn this point.
• Iteration
• The code segments demonstrating selection and iteration do not need to be contained in a
procedure to earn this point.
Algorithm: An algorithm is a finite set of instructions that accomplish a specific task. Every algorithm can be constructed using combinations of sequencing, selection, and
iteration.
Code segment: A code segment refers to a collection of program statements that are part of a program. For text-based, the collection of program statements should be
continuous and within the same procedure. For block-based, the collection of program statements should be contained in the same starter block or what is referred to as a “Hat”
block.
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: Input into the list can be through an initialization or through some computation on other variables or list elements.
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: Iteration is a repetitive portion of an algorithm. Iteration repeats until a given condition is met or for a specified number of times. The use of recursion is a form of
iteration.
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 are referred to by different terms, 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: A parameter is an input variable of a procedure. Explicit parameters are defined in the procedure header. Implicit parameters are those that are assigned in anticipation of a
call to the procedure. For example, an implicit parameter can be set through interaction with a graphical user interface.
Procedure: A procedure is a named group of programming instructions that may have parameters and return values. Procedures are referred to by different names, such as method,
function, or constructor, depending on the programming language. A procedure is executed through the use of a procedure call.
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 / conditional statement: A selection / conditional statement affects the sequential flow of control by executing different statements based on a condition being true or false.
The use of if-statements and try / exception statements are examples of selection / conditional 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. Calls
to existing program code or libraries can be included but are not considered student-developed. Event handlers are built-in abstractions in some languages and will therefore not be
considered student-developed. In some block-based programming languages, event handlers begin with “when.”
© 2024 College Board
Q1 Sample A Page 1 of 1
Q1 Sample B Page 1 of 1
Q1 Sample C Page 1 of 1
Q1 Sample D Page 1 of 1
Q1 Sample E Page 1 of 1
Q1 Sample F Page 1 of 1
AP® Computer Science Principles 2024 Scoring Commentary
Question 1
Note: Student samples are quoted verbatim and may contain spelling and grammatical errors.
Overview
The responses to this question were expected to demonstrate that the student could:
• demonstrate the program input, functionality, and output in a short video (Course Project:
Video),
• explain at least one valid program input and how the program uses the input to perform its
functionality (Written Response 1: Program Design, Function, and Purpose).
Students were asked to record a video demonstrating their program’s functionality including input and
output. Input could be user input (e.g. mouse clicks, text-entry) or file or database input. The source of
the input can be verified by examining the program code if the video did not clearly capture the input.
The students were then asked to provide, on their Personalized Project Reference sheet, segments of
code from their program that demonstrated a student-developed procedure which utilized selection and
iteration appropriately, along with segments of code showing the creation of a list (or collection) and
use of the same list (or collection) to contribute to the purpose of the program. Designing a program
that includes these core features is critical to understanding basic programming in any language.
In Written Response 1, students were asked to explain at least one valid input into their program and
how the input was used in the program’s functionality. The video and program code could be
considered, in addition to the student’s written response. The response was expected to describe
program functionality when discussing the effect of the input and not merely the resulting output.
Question 1 (continued)
Sample: A
Score:
Video: 1
Program Requirements: 1
Question 1: 1
Video:
The response earned this point, demonstrating all three criteria:
• The response demonstrates input by using a keyboard to type, “hi this is my string”.
• The response demonstrates program functionality by showing the screen change in response
to the keyboard response.
• The response demonstrates output by showing, “{‘ ‘: 4, ‘g’: 1, ‘h’: 2, ‘I’: 4, ‘m’: 1, ‘n’: 1,…”, in
response to the entered string.
Program Requirements:
The response earned this point, demonstrating all six criteria:
Question 1:
The response earned this point, demonstrating both criteria:
• The response describes at least one valid input to the program: “My program takes a string
from the user as input.”
• The response describes what the program does with the input: “counts how often each letter
apperes in the string.”
Question 1 (continued)
Sample: B
Score:
Video: 1
Program Requirements: 1
Question 1: 1
Video:
The response earned this point, demonstrating all three criteria:
• The response demonstrates input by typing text into the upper text box.
• The response demonstrates program functionality by encrypting the inputted text.
• The response demonstrates output by displaying the encrypted string in the lower textbox.
Program Requirements:
The response earned this point, demonstrating all six criteria:
Question 1:
The response earned this point, demonstrating both criteria:
• The response describes at least one valid input to the program: “One valid input to my
program is a string typed into a textbox by the user …”
• The response describes what the program does with the input: “that’s that message …
creates a new message … to encrypt the original in caesar cipher.”
Question 1 (continued)
Sample: C
Score:
Video: 1
Program Requirements: 1
Question 1: 0
Video:
The response earned this point, demonstrating all three criteria:
• The response demonstrates input by showing, “Purple,” being typed as response to the
question, “What color is made by mixing the colors red & blue?”
• The response demonstrates program functionality by showing the screen change in response
to the typed response.
• The response demonstrates output by displaying, “You nailed it! your awsome," on the
screen.
Program Requirements:
The response earned this point, demonstrating all six criteria:
Question 1:
The response did not earn this point, demonstrating neither of the criteria:
• The response does not describe at least one valid input to the program. The input described
in the response is, “first_input = input(“What color is made by mixing the colors, red & blue
together?”)” This is the prompt that the user is given, but the response does not give a valid
input accepted by the program.
• The response does not describe what the program does with the input. The response writes
about how the user would use the program, but not what happens to the input in the program
code.
Question 1 (continued)
Sample: D
Score:
Video: 1
Program Requirements: 1
Question 1: 0
Video:
The response earned this point, demonstrating all three criteria:
• The response demonstrates input by showing the use of the dropdown to select, “All Of Us
Are Dead.”
• The response demonstrates program functionality by showing the screen change in response
to the button marked, “Go,” being clicked.
• The response demonstrates output by displaying the text, “Korea,” as well as the other data
generated.
Program Requirements:
The response earned this point, demonstrating all six criteria:
Question 1:
The response did not earn this point, demonstrating neither of the criteria:
• The response does not describe at least one valid input to the program. The response
describes the procedure “Information.”
• The response describes what the program does with the procedure but does not describe an
input.
Question 1 (continued)
Sample: E
Score:
Video: 1
Program Requirements: 0
Question 1: 1
Video:
The response earned this point, demonstrating all three criteria:
• The response demonstrates input by selecting the image of the rock and paper.
• The response demonstrates program functionality by displaying the multiple rounds of
playing the game.
• The response demonstrates output by displaying the results of the game: “Tie!” and “You
lose!”
Program Requirements:
The response did not earn this point, demonstrating five out of six criteria:
Question 1:
The response earned this point, demonstrating both criteria:
• The response describes at least one valid input to the program: “a user clicked the desired x
& y coordinates that would select the picture.”
• The response describes what the program does with the input: “it is compared with the
computer’s choice.”
Question 1 (continued)
Sample: F
Score:
Video: 1
Program Requirements: 0
Question 1: 0
Video:
The response earned this point, demonstrating all three criteria:
• The response demonstrates input by clicking the frog with the mouse.
• The response demonstrates program functionality by showing the game being played.
• The response demonstrates output by the frog moving on the screen.
Program Code:
The response did not earn this point, demonstrating three out of six criteria:
Question 1:
The response did not earn this point, demonstrating neither of the criteria:
• The response does not describe at least one valid input to the program. The response
explains the "variable jump."
• The response describes what the program does with the procedure but does not describe an
input.