AP CSP Mock Test
AP CSP Mock Test
• For question numbers 1 through 62, mark only the single best answer to
each question.
• For the remaining questions, numbered 131 through 138, mark the two
best answer choices for each question.
Your total score on this multiple-choice exam is based only on the number of
questions answered correctly. Points are not deducted for incorrect answers or
unanswered questions. When you do not know the answer to a question, you
should eliminate as many choices as you can, and then select the best answer
among the remaining choices. If you finish before time is called, you may
check your work.
You have 2 hours for this exam. Open your exam booklet and begin
Note Start Time here______ . Note Stop Time here______ . After 2 hours, say:
Stop working. The exam is over. I will now collect your exam materials.
Multiple Choice
Instructions
At a Glance
This exam booklet contains 70 multiple-choice questions. Exam reference materials for
Total Time programming questions are located at the beginning of this booklet. As you encounter
2 hours programming questions on the exam, you should use the reference materials to clarify the
Number of Questions behavior of programming statements found in those questions.
70
Percent of Total Score Indicate all of your answers to the multiple-choice questions on the answer sheet. No
70% credit will be given for anything written in this exam booklet, but you may use the booklet
Writing Instrument for notes or scratch work.
Pencil required
Electronic Device
None allowed For questions 1 through 62, select the single best answer choice for each question.
For questions 131 through 138, select the two best answer choices for each question.
Use your time effectively, working as quickly as you can without losing accuracy. Do not
spend too much time on any one question. Go on to other questions and come back to
the ones you have not answered if you have time. It is not expected that everyone will
know the answers to all of the multiple-choice questions.
Your total score on the multiple-choice questions is based only on the number of
questions answered correctly. Points are not deducted for incorrect answers or unanswered
questions.
6
COMPUTER SCIENCE PRINCIPLES
Time — 2 hours
70 Questions
Programming reference materials are included on the following pages. As AP Computer Science Principles does not
designate any particular programming language, these reference materials provide instructions and explanations to help
you understand the format and meaning of the questions you will see on the exam. The reference materials include 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 and Procedure Calls
• Robot
Instruction Explanation
Assignment, Display, and Input
Text: Evaluates expression and then assigns a copy
a ← expression of the result to the variable a.
Block:
Text: Accepts a value from the user and returns the input
INPUT() value.
Block:
Instruction Explanation
Relational and Boolean Operators (continued)
Text: Evaluates to true if condition is false;
NOT condition otherwise evaluates to false.
Block:
Selection
Text: The code in block of statements is
IF(condition) executed if the Boolean expression condition
{ evaluates to true; no action is taken if
<block of statements> condition evaluates to false.
}
Block:
Instruction Explanation
Iteration
Text: The code in block of statements is
REPEAT n TIMES executed n times.
{
<block of statements>
}
Block:
List Operations
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: Creates a new list that contains the values
aList ← [value1, value2, value3, ...] value1, value2, value3, and ... at
indices 1, 2, 3, and ... respectively and
Block:
assigns it to aList.
Block:
Instruction Explanation
List Operations (continued)
Text: Assigns the value of aList[i] to the
x ← aList[i] variable x.
Block:
Block:
Instruction Explanation
Procedures and Procedure Calls
Text: Defines procName as a procedure that takes
PROCEDURE procName(parameter1, zero or more arguments. The procedure contains
parameter2, ...) block of statements.
{
<block of statements> The procedure procName can be called using
} the following notation, where arg1 is assigned
Block: to parameter1, arg2 is assigned to
parameter2, etc.:
procName(arg1, arg2, ...)
Instruction Explanation
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
MOVE_FORWARD() it is facing.
Block:
(A) Loading malicious software onto a user’s computer in order to secretly gain access to sensitive information
(B) Flooding a user’s computer with e-mail requests in order to cause the computer to crash
(C) Gaining remote access to a user’s computer in order to steal user IDs and passwords
(D) Using fraudulent e-mails in order to trick a user into voluntarily providing sensitive information
2. To be eligible for a particular ride at an amusement park, a person must be at least 12 years old and must be
between 50 and 80 inches tall, inclusive.
Let age represent a person’s age, in years, and let height represent the person’s height, in inches. Which
of the following expressions evaluates to true if and only if the person is eligible for the ride?
(A) (age ˛ 12) AND ((height ˛ 50) AND (height ˝ 80))
What are the values of first and second as a result of executing the code segment?
4. Which of the following best explains the relationship between the Internet and the World Wide Web?
(A) Both the Internet and the World Wide Web refer to the same interconnected network of devices.
(B) The Internet is an interconnected network of data servers, and the World Wide Web is a network of user
devices that communicates with the data servers.
(C) The Internet is a local network of interconnected devices, and the World Wide Web is a global network that
connects the local networks with each other.
(D) The Internet is a network of interconnected networks, and the World Wide Web is a system of linked pages,
programs, and files that is accessed via the Internet.
(A) (B)
(C) (D)
16
6. Which of the following best exemplifies the use of multifactor authentication to protect an online banking
system?
(A) When a user resets a password for an online bank account, the user is required to enter the new password
twice.
(B) When multiple people have a shared online bank account, they are each required to have their own unique
username and password.
(C) After entering a password for an online bank account, a user must also enter a code that is sent to the user’s
phone via text message.
(D) An online bank requires users to change their account passwords multiple times per year without using the
same password twice.
Yellow Black Green Green Red Yellow Black Black Yellow Black
●
The following algorithm indicates how the game is played. The game continues until the game is either won by
landing on the red space or lost when the piece moves off either end of the board.
Step 1: Place a game piece on a space that is not red and set a counter to 0.
Step 2: If the game piece is on a yellow space, move the game piece 3 positions to the left
and go to step 3. Otherwise, if the game piece is on a black space, move the game
piece 1 position to the left and go to step 3. Otherwise, if the game piece is on a
green space, move the game piece 2 positions to the right and go to step 3.
Step 4: If game piece is on the red space or moved off the end of the game board, the game is
complete. Otherwise, go back to step 2.
If a game is begun by placing the game piece on the rightmost black space for step 1, what will be the value of
the counter at the end of the game?
(A) 2
(B) 3
(C) 4
(D) 5
18
8. Which of the following best describes a direct benefit in using redundant routing on the Internet?
9. Which of the following best explains how an analog audio signal is typically represented by a computer?
(A) An analog audio signal is measured as input parameters to a program or procedure. The inputs are
represented at the lowest level as a collection of variables.
(B) An analog audio signal is measured at regular intervals. Each measurement is stored as a sample, which is
represented at the lowest level as a sequence of bits.
(C) An analog audio signal is measured as a sequence of operations that describe how the sound can be
reproduced. The operations are represented at the lowest level as programming instructions.
(D) An analog audio signal is measured as text that describes the attributes of the sound. The text is
represented at the lowest level as a string.
20
12. The grid below contains a robot represented as a triangle, initially facing toward the top of the grid. The robot
can move into a white or gray square but cannot move into a black region.
The code segment below uses the procedure goalReached, which evaluates to true if the robot is in the
gray square and evaluates to false otherwise.
REPEAT UNTIL(goalReached())
{
<MISSING CODE>
}
Which of the following replacements for <MISSING CODE> can be used to move the robot to the gray
square?
(A) Collaboration can decrease the size and complexity of tasks required of individual team members.
(B) Collaboration can make it easier to find and correct errors during the development process.
(C) Collaboration eliminates the need to resolve differences of opinion.
(D) Collaboration facilitates multiple perspectives in developing ideas.
22
14. A list of numbers is considered increasing if each value after the first is greater than or equal to the preceding
value. The following procedure is intended to return true if numberList is increasing and return
false otherwise. Assume that numberList contains at least two elements.
Line 1: PROCEDURE isIncreasing(numberList)
Line 2: {
Line 3: count ← 2
Line 4: REPEAT UNTIL(count > LENGTH(numberList))
Line 5: {
Line 6: IF(numberList[count] < numberList[count - 1])
Line 7: {
Line 8: RETURN(true)
Line 9: }
Line 10: count ← count + 1
Line 11: }
Line 12: RETURN(false)
Line 13: }
Which of the following changes is needed for the program to work as intended?
(A) In line 3, 2 should be changed to 1.
(B) In line 6, < should be changed to ˛.
(C) Lines 8 and 12 should be interchanged.
(D) Lines 10 and 11 should be interchanged.
Which of the following code segments can be used to draw the figure?
(A) xVal ← 1
yVal ← 0
len ← 1
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal, yVal + len)
xVal ← xVal + 1
len ← len + 1
}
(B) xVal ← 1
yVal ← 0
len ← 1
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal + len, yVal)
yVal ← yVal + 1
len ← len + 1
}
24
(C) xVal ← 5
yVal ← 0
len ← 5
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal, yVal + len)
xVal ← xVal - 1
}
(D) xVal ← 5
yVal ← 0
len ← 5
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal + len, yVal)
yVal ← yVal - 1
len ← len - 1
}
(A) The contents of the e-book will be encrypted and can only be decrypted by authorized individuals.
(B) Individuals can freely distribute or use the contents of the e-book without needing to obtain additional
permissions from the author.
(C) Individuals will be legally prevented from sharing the e-book on a peer-to-peer network.
(D) Individuals will be legally prevented from using excerpts from the e-book in another published work.
26
Questions 17–18 refer to the information below.
The figure below represents a network of physically linked devices labeled A through I. A line between two devices
indicates that the devices can communicate directly with each other.
Any information sent between two devices that are not directly connected must go through at least one other device.
For example, in the network represented below, information can be sent directly between A and B, but information sent
between devices A and G must go through other devices.
17. What is the minimum number of connections that must be broken or removed before device B can no longer
communicate with device C?
(A) Three
(B) Four
(C) Five
(D) Six
(A) Unauthorized individuals can deny service to a computing system by overwhelming the system with login
attempts.
(B) Unauthorized individuals can exploit vulnerabilities in compression algorithms to determine a user’s
password from their decompressed data.
(C) Unauthorized individuals can exploit vulnerabilities in encryption algorithms to determine a user’s
password from their encryption key.
(D) Unauthorized individuals can use data mining and other techniques to guess a user’s password.
20. A local router is configured to limit the bandwidth of guest users connecting to the Internet. Which of the
following best explains the result of this configuration as compared to a configuration in which the router does
not limit the bandwidth?
(A) The amount of time it takes guest users to send and receive large files is likely to decrease.
(B) The number of packets required for guest users to send and receive data is likely to decrease.
(C) Guest users will be prevented from having fault-tolerant routing on the Internet.
(D) Guest users will be restricted in the maximum amount of data that they can send and receive per second.
28
21. A video-streaming Web site keeps count of the number of times each video has been played since it was first
added to the site. The count is updated each time a video is played and is displayed next to each video to show
its popularity.
At one time, the count for the most popular video was about two million. Sometime later, the same video
displayed a seven-digit negative number as its count, while the counts for the other videos displayed correctly.
Which of the following is the most likely explanation for the error?
(A) The count for the video became larger than the maximum value allowed by the data type used to store the
count.
(B) The mathematical operations used to calculate the count caused a rounding error to occur.
(C) The software used to update the count failed when too many videos were played simultaneously by too
many users.
(D) The software used to update the count contained a sampling error when using digital data to approximate
the analog count.
The following code segment is used to move the robot in the grid.
count ← 1
REPEAT 4 TIMES
{
REPEAT count TIMES
{
MOVE_FORWARD()
}
ROTATE_LEFT()
count ← count + 1
}
Which of the following code segments will move the robot from the center square along the same path as the
code segment above?
(A) count ← 0 (B) count ← 0
REPEAT 4 TIMES REPEAT 4 TIMES
{ {
count ← count + 1 count ← count + 1
REPEAT count TIMES ROTATE_LEFT()
{ REPEAT count TIMES
MOVE_FORWARD() {
} MOVE_FORWARD()
ROTATE_LEFT() }
} }
30
23. Which of the following statements about the Internet is true?
(A) The Internet is a computer network that uses proprietary communication protocols.
(B) The Internet is designed to scale to support an increasing number of users.
(C) The Internet requires all communications to use encryption protocols.
(D) The Internet uses a centralized system to determine how packets are routed.
24. In which of the following situations would it be most appropriate to choose lossy compression over lossless
compression?
(A) Storing digital photographs to be printed and displayed in a large format in an art gallery
(B) Storing a formatted text document to be restored to its original version for a print publication
(C) Storing music files on a smartphone in order to maximize the number of songs that can be stored
(D) Storing a video file on an external device in order to preserve the highest possible video quality
Which of the following best describes the value returned by the procedure?
(A) The procedure returns nothing because it will not terminate.
(B) The procedure returns the value of 2 * n.
(C) The procedure returns the value of n * n.
(D) The procedure returns the sum of the integers from 1 to n.
26. Which of the following best describes a challenge involved in using a parallel computing solution?
(A) A parallel computing solution may not be appropriate for an algorithm in which each step requires the
output from the preceding step.
(B) A parallel computing solution may not be appropriate for an algorithm in which the same formula is
applied to many numeric data elements.
(C) A parallel computing solution may not be appropriate for an algorithm that can be easily broken down into
small independent tasks.
(D) A parallel computing solution may not be appropriate for an algorithm that searches for occurrences of a
key word in a large number of documents.
32
27. A certain social media application is popular with people across the United States. The developers of the
application are updating the algorithm used by the application to introduce a new feature that allows users of the
application with similar interests to connect with one another. Which of the following strategies is LEAST
likely to introduce bias into the application?
(A) Enticing users to spend more time using the application by providing the updated algorithm for users who
use the application at least ten hours per week
(B) Inviting a random sample of all users to try out the new algorithm and provide feedback before it is
released to a wider audience
(C) Providing the updated algorithm only to teenage users to generate excitement about the new feature
(D) Testing the updated algorithm with a small number of users in the city where the developers are located so
that immediate feedback can be gathered
28. Which of the following initial values of j and k will cause the algorithm represented in the flowchart to
result in an infinite loop?
(A) j = -5, k = 5
(B) j = 0, k = 5
(C) j = 5, k = 0
(D) j = 5, k = -5
34
29. Based on the algorithm represented in the flowchart, what value is displayed if j has the initial value 3 and
k has the initial value 4 ?
(A) 7
(B) 9
(C) 10
(D) 12
(A) Data is broken into packets, which are all sent to the recipient in a specified order along the same path.
(B) Data is broken into packets, which can be sent along different paths.
(C) All data is transmitted in a single packet through a direct connection between the sender and the recipient.
(D) Multiple data files are bundled together in a packet and transmitted together.
31. A binary number is to be transformed by appending three 0s to the end of the number. For example, 11101 is
transformed to 11101000. Which of the following correctly describes the relationship between the transformed
number and the original number?
(A) The transformed number is 3 times the value of the original number.
(B) The transformed number is 4 times the value of the original number.
(C) The transformed number is 8 times the value of the original number.
(D) The transformed number is 1,000 times the value of the original number.
36
32. Which of the following is a true statement about the use of public key encryption in transmitting messages?
(A) Public key encryption enables parties to initiate secure communications through an open medium, such as
the Internet, in which there might be eavesdroppers.
(B) Public key encryption is not considered a secure method of communication because a public key can be
intercepted.
(C) Public key encryption only allows the encryption of documents containing text; documents containing
audio and video must use a different encryption method.
(D) Public key encryption uses a single key that should be kept secure because it is used for both encryption
and decryption.
33. A company delivers packages by truck and would like to minimize the length of the route that each driver must
travel in order to reach n delivery locations. The company is considering two different algorithms for
determining delivery routes.
Algorithm I: Generate all possible routes, compute their lengths, and then select the shortest
possible route. This algorithm does not run in reasonable time.
Algorithm II: Starting from an arbitrary delivery location, find the nearest unvisited delivery
location. Continue creating the route by selecting the nearest unvisited location
until all locations have been visited. This algorithm does not guarantee the
(A) Algorithm II attempts to use an algorithmic approach to solve an otherwise undecidable problem.
(B) Algorithm II uses a heuristic approach to provide an approximate solution in reasonable time.
(C) Algorithm II provides no improvement over algorithm I because neither algorithm runs in reasonable time.
(D) Algorithm II requires a much faster computer in order to provide any improvement over algorithm I.
38
35. A city maintains a database of all traffic tickets that were issued over the past ten years. The tickets are divided
into the following two categories.
• Moving violations
• Nonmoving violations
The data recorded for each ticket include only the following information.
• The month and year in which the ticket was issued
• The category of the ticket
Which of the following questions CANNOT be answered using only the information in the database?
(A) Have the total number of traffic tickets per year increased each year over the past ten years?
(B) In the past ten years, were nonmoving violations more likely to occur on a weekend than on a weekday?
(C) In the past ten years, were there any months when moving violations occurred more often than nonmoving
violations?
(D) In how many of the past ten years were there more than one million moving violations?
36. Individuals sometimes attempt to remove personal information from the Internet. Which of the following is the
LEAST likely reason the personal information is hard to remove?
(A) Internet users with a copy of the information might redistribute the personal information without first
seeking permission.
(B) There are potentially an extremely large number of devices on the Internet that may contain the
information.
(C) Automated technologies collect information about Internet users without their knowledge.
(D) All personal information is stored online using authentication measures, making the information hard to
access.
40
38. A scientist wants to investigate several problems. In which of the following situations is using a simulation
LEAST suitable for solving a problem?
(A) When a scientific study requires performing a large number of trials that need to be conducted very quickly
(B) When it is considered acceptable to make simplifying assumptions when modeling a real-world object or
phenomenon
(C) When performing an experiment that would be too costly or dangerous to conduct in the real world
(D) When the solution to the problem requires real-world data inputs that are continually measured at regular
intervals.
39. A store uses binary numbers to assign a unique binary sequence to each item in its inventory. What is the
minimum number of bits required for each binary sequence if the store has between 75 and 100 items in its
inventory?
(A) 5
(B) 6
(C) 7
(D) 8
41. An online gaming company is introducing several new initiatives to encourage respectful communication
between players of online games. Which of the following best describes a solution that uses crowdsourcing?
(A) The company allows individual players to endorse fellow players based on courteous interactions. Once a
player receives enough endorsements, the player is given free rewards that can be used during gameplay.
(B) The company eliminates chat from gameplay and sets the default chat policy to off. Players must actively
turn on chat to converse outside of gameplay.
(C) The company introduces software that monitors all chats. Inappropriate conversations are identified, and
players involved in the conversations are banned from the game.
(D) The company updates the acceptable content guidelines to explicitly describe appropriate and
inappropriate behavior. All players must electronically sign an agreement to adhere to the guidelines.
42
42. Consider the following code segment.
(A) 3
(B) 4
(C) 9
(D) 12
43. Which of the following best exemplifies the use of keylogging to gain unauthorized access to a computer
system?
(A) A user unintentionally installs a program on their computer that records all user input and forwards it to
another computer. A few weeks later, someone else is able to access the user’s computer using the
recorded data.
(B) A user has a very common password for an online banking account. Someone else guesses the password
after a few attempts and gains access to the user’s account.
(C) A user logs into an unsecure Web site. Someone else is able to view unencrypted log-in information as it is
transmitted over the Internet. The user has the same username and password for multiple accounts, so the
user’s log-in information for multiple systems may be compromised.
(D) A user receives an e-mail that claims to be from the user’s bank. The e-mail instructs the user to click on a
link to a Web site and enter a username and password to verify an account. Shortly after following the
steps, the user discovers that the Web site is fraudulent and that the user’s username and password were
stolen.
44
45. The following question uses a robot in a grid of squares. The robot is represented by a triangle, which is initially
facing right.
Which of the following code segments will move the robot to the gray square along the path indicated by the
arrows?
(A) (B)
(C) (D)
46. A student is developing an algorithm to determine which of the restaurants that accept credit cards has the
greatest average customer rating. Restaurants that have not yet received any customer ratings and restaurants
that do not accept credit card are to be ignored.
Once the algorithm is complete, the desired restaurant will appear in the first row of the spreadsheet. If there are
multiple entries that fit the desired criteria, it does not matter which of them appears in the first row.
The student has the following actions available but is not sure of the order in which they should be executed.
Action Explanation
Filter by number of ratings Remove entries for restaurants with no customer
ratings
Filter by payment type Remove entries for restaurants that do not accept
credit cards
Sort by rating Sort the rows in the spreadsheet on column D
from greatest to least
Assume that applying either of the filters will not change the relative order of the rows remaining in the
spreadsheet.
Which of the following sequences of steps can be used to identify the desired restaurant?
I. Filter by number of ratings, then filter by payment type, then sort by rating
II. Filter by number of ratings, then sort by rating, then filter by payment type
III. Sort by rating, then filter by number of ratings, then filter by payment type
46
47. A student wants to count the number of restaurants in the spreadsheet whose price range is $30 or less and
whose average customer rating is at least 4.0. For a given row in the spreadsheet, suppose prcRange
contains the price range as a string and avgRating contains the average customer rating as a decimal
number.
Which of the following expressions will evaluate to true if the restaurant should be counted and evaluates to
false otherwise?
(A) An unauthorized individual gains the ability to view network traffic by connecting to a network router that
uses weak or no security measures.
(B) An unauthorized individual physically disconnects an exposed network router, making the network
unavailable to some users.
(C) An unauthorized individual poses as a network administrator and attempts to trick a user into providing
personal information.
(D) A group of unauthorized individuals overwhelms a network router with traffic, making it unavailable to
some users.
49. Which of the following best explains the ability to solve problems algorithmically?
(A) Any problem can be solved algorithmically, though some algorithmic solutions may require humans to
validate the results.
(B) Any problem can be solved algorithmically, though some algorithmic solutions must be executed on
multiple devices in parallel.
(C) Any problem can be solved algorithmically, though some algorithmic solutions require a very large amount
of data storage to execute.
(D) There exist some problems that cannot be solved algorithmically using any computer.
48
50. Which of the following best explains how symmetric encryption algorithms are typically used?
(A) Symmetric encryption uses a single key that should be kept secret. The same key is used for both
encryption and decryption of data.
(B) Symmetric encryption uses a single key that should be made public. The same key is used for both
encryption and decryption of data.
(C) Symmetric encryption uses two keys that should both be kept secret. One key is used for encryption, and
the other is used for decryption.
(D) Symmetric encryption uses two keys. The key used for encryption should be made public, but the key used
for decryption should be kept secret.
51. Which of the following research proposals is most likely to be successful as a citizen science project?
(A) Collecting pictures of birds from around the world that can then be analyzed to determine how location
affects bird size
(B) Monitoring a group of cells in a laboratory to determine how growth rate is affected by exposure to varying
temperatures
(C) Using a simulation to determine which one from a set of chemicals causes the most significant change to
local animal and plant life
(D) Using specialized equipment to perform three-dimensional scans of complex proteins found in human cells
(A) 2
(B) 8
(C) 64
(D) 128
50
53. A list of numbers has n elements, indexed from 1 to n. The following algorithm is intended to display
true if the value target appears in the list more than once and to display false otherwise. The
algorithm uses the variables position and count. Steps 4 and 5 are missing.
Step 1: Set count to 0 and position to 1.
Step 2: If the value of the element at index position is equal to target, increase
the value of count by 1.
Which of the following could be used to replace steps 4 and 5 so that the algorithm works as intended?
(A) Step 4: Repeat steps 2 and 3 until the value of position is greater than n.
Step 5: If count is greater than or equal to 2, display true. Otherwise, display
false.
(B) Step 4: Repeat steps 2 and 3 until the value of position is greater than n.
Step 5: If count is greater than or equal to position, display true.
Otherwise, display false.
(C) Step 4: Repeat steps 2 and 3 until the value of count is greater than 2.
Step 5: If position is greater than or equal to n, display true. Otherwise,
display false.
(D) Step 4: Repeat steps 2 and 3 until the value of count is greater than n.
Step 5: If count is greater than or equal to 2, display true. Otherwise, display
false.
(A) On which day in a particular range of dates did the greatest number of trucks enter and leave the depot?
(B) What is the average number of customer deliveries made by each truck on a particular day?
(C) What is the change in weight of a particular truck between when it entered and left the depot?
(D) Which truck has the shortest average time spent at the depot on a particular day?
52
55. A code segment is intended to transform the list utensils so that the last element of the list is moved to the
beginning of the list.
54
57. A certain computer has two identical processors that are able to run in parallel. The following table indicates the
amount of time it takes to execute each of four processes on a single processor. Assume that none of the
processes is dependent on any of the other processes.
(A) Running processes P and Q on one processor and processes R and S on the other processor
(B) Running processes P and R on one processor and processes Q and S on the other processor
(C) Running processes P and S on one processor and processes Q and R on the other processor
(D) Running process P on one processor and processes Q, R, and S on the other processor
58. Which of the following data must be collected from a user’s smartphone in order for RunRoutr to suggest a
running route?
(A) Available running routes near the user’s home
(B) The current time
(C) The starting location of the user’s previous run
(D) The user’s geographic position
59. Adrianna uses RunRoutr to suggest a running route. All compatible users near Adrianna receive a notification
that shows her running route. Which of the following data is not obtained using data collected from Adrianna’s
smartphone but necessary for RunRoutr to share Adrianna’s running route?
56
60. Which of the following is most likely to be a benefit to users of the application?
(A) The application allows users to identify all other users in a particular area.
(B) Users of the application may be able to easily identify all other users in a particular area as a result of the
application’s algorithm for determining whether users are compatible.
(C) Users of the application may see health benefits as a result of the application encouraging them to exercise
with each other.
(D) Users of the application who live in rural areas have the ability to use all the features of the application,
even when they do not have Internet and geolocation connectivity.
61. Which of the following is most likely to be a data privacy concern for RunRoutr users?
(A) Users of the application are required to carry their smartphones with them while running in order to enable
all of the application’s features.
(B) Users of the application may have the ability to determine information about the locations of users that are
not on their contact lists.
(C) Users of the application may not be able to accurately track their running history if they share their
smartphone with another family member.
(D) Users of the application may not be compatible with any other users in their area.
62. Businesses have the ability to target advertisements to different groups of people who use RunRoutr. Which of
the following groups is LEAST likely to receive targeted advertisements?
Directions: For each of the questions or incomplete statements below, two of the suggested answers are correct. For
each of these questions, you must select both correct choices to earn credit. No partial credit will be earned if only one
correct choice is selected. Select the two that are best in each case and then enter the letters in the corresponding
spaces that begin with number 131 on the answer sheet.
131. The following table shows the value of expression based on the values of input1 and input2.
58
132. In the following procedure, the parameter age represents a person’s age. The procedure is intended to return
the name of the age group associated with age. People who are under 18 are considered minors, people who
are 65 and older are considered senior citizens, and all other people are considered adults. The procedure does
not work as intended.
Line 1: PROCEDURE ageGroup(age)
Line 2: {
Line 3: result ← "adult"
Line 4: IF(age ˜ 65)
Line 5: {
Line 6: result ← "senior citizen"
Line 7: }
Line 8: RETURN(result)
Line 9:
Line 10: result ← "adult"
Line 11: IF(age < 18)
Line 12: {
Line 13: result ← "minor"
Line 14: }
Line 15: RETURN(result)
Line 16: }
Removing which two lines of code will cause the procedure to work as intended?
Select two answers.
(A) Line 3
(B) Line 8
(C) Line 10
(D) Line 15
(C) (D)
60
134. In a certain video game, players are awarded bonus points at the end of a level based on the value of the integer
variable timer. The bonus points are awarded as follows.
• If timer is less than 30, then 500 bonus points are awarded.
• If timer is between 30 and 60 inclusive, then 1000 bonus points are awarded.
• If timer is greater than 60, then 1500 bonus points are awarded.
Which of the following code segments assigns the correct number of bonus points to bonus for all possible
values of timer ?
Select two answers.
(A) (B)
(C) (D)
Which of the following code segments can be used to simulate the behavior of the spinner?
Select two answers.
(A) (B)
62
(C) (D)
137. A group of students take hundreds of digital photos for a science project about weather patterns. Each photo file
contains data representing the level of red, green, and blue for each pixel in the photo. The file also contains
metadata that describes the date, time, and geographic location where the photo was taken. For which of the
following goals would analyzing the metadata be more appropriate than analyzing the data?
64
138. The following procedures are available for string manipulation.
STOP