Ap Computer Science Principles Practice Exam and Notes 2021
Ap Computer Science Principles Practice Exam and Notes 2021
Principles
Practice Exam
and Notes
Effective
2021
© 2021 College Board. College Board, Advanced Placement, AP, AP Central, and the acorn logo are registered
trademarks of College Board.
I. Practice Exam
Exam Content and Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Administering the Practice Exam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Answer Sheet for Multiple-Choice Section . . . . . . . . . . . . . . . . . . . . . . . 5
AP® Computer Science Principles Practice Exam. . . . . . . . . . . . . . . . . . 6
Contact Us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
• 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
Question 1
Skill Learning Objective Topic
5.E: Evaluate the use of IOC-2.C: Explain how 5.6: Safe
computing based on legal and unauthorized access to Computing
ethical factors. computing resources is
gained.
(A) Incorrect. The act of installing malware on a computer is not in itself a
phishing attack.
(B) Incorrect. Overwhelming a system in an attempt to deny service is not a
phishing attack.
(C) Incorrect. Gaining remote access to a computer is not a phishing attack.
(D) Correct. Phishing is a technique that attempts to trick a user into
providing personal information. In this case, the user is tricked by a
fraudulent e-mail.
Question 2
Skill Learning Objective Topic
Skill 2.B: Implement and apply AAP-2.F.a: For relationships 3.5: Boolean
an algorithm. between Boolean values, Expressions
write expressions using
logical operators.
(A) Correct. For a person to be eligible for the ride, age must be
greater than or equal to 12 and height must be greater than
or equal to 50 and less than or equal to 80. Therefore, all three
of the conditions (age ≥ 12), (height ≥ 50),
and (height ≤ 80) must be true for a person to be eligible
for the ride.
(B) Incorrect. This expression will always evaluate to false because it
is not possible for height to be less than or equal to 50 and also
greater than or equal to 80.
(C) Incorrect. This expression may evaluate to true when the person
is not eligible for the ride. For example, this expression will evaluate to
true when age is 12 and height is 40, even though the
person is not tall enough to be eligible.
(D) Incorrect. This expression may evaluate to true when the person
is not eligible for the ride. For example, this expression will evaluate to
true when age is 11 and height is 55, even though the
person is not old enough to be eligible.
Question 4
Skill Learning Objective Topic
5.A: Explain how computing CSN-1.D: Describe the 4.1: The Internet
systems work. differences between the
Internet and the World
Wide Web.
(A) Incorrect. The Internet is a network of interconnected networks,
but the World Wide Web is an information system that is accessed
via the Internet.
(B) Incorrect. The Internet is a network of interconnected networks,
but the World Wide Web is an information system that is accessed
via the Internet.
(C) Incorrect. The Internet is a network of interconnected networks,
but the World Wide Web is an information system that is accessed
via the Internet.
(D) Correct. The Internet is the global system of interconnected computer
networks that uses protocols to connect devices worldwide. The World
Wide Web is an information system (of pages, programs, and files) that
is accessible over the Internet.
Question 6
Skill Learning Objective Topic
5.E: Evaluate the use of IOC-2.B: Explain how 5.6: Safe
computing based on legal and computing resources can Computing
ethical factors. be protected and can be
misused.
(A) Incorrect. Users are usually asked to enter a new password twice to help
them avoid making an error when typing a new password. This is not an
example of multifactor authentication.
(B) Incorrect. Having each user of a shared account create a unique
password may help protect the account, but this is not an example of
multifactor authentication.
(C) Correct. Multifactor authentication is a method of computer access
control in which a user is only granted access after successfully
presenting several separate pieces of evidence to an authentication
mechanism. In this case, the user provided a password and showed
evidence of having the phone associated with the user account.
(D) Incorrect. While having users update their password regularly and avoid
reusing old passwords may be helpful in protecting an account, this is
not an example of multifactor authentication.
Question 8
Skill Learning Objective Topic
1.D: Evaluate solution options. CSN-1.E.a: For fault- 4.2: Fault
tolerant systems, like the Tolerance
Internet, describe the
benefits of fault tolerance.
(A) Incorrect. Redundancy on the Internet allows packets to be transmitted
along multiple paths, but does not reduce the number of packets needed
to transmit a particular message.
(B) Incorrect. Redundancy within a system usually requires additional
resources, not fewer. A path within a redundant system may be longer
than the shortest possible path.
(C) Correct. If a particular device or connection on the Internet fails,
subsequent data will be sent via a different route, if possible. This is
supported by redundancy in the network.
(D) Incorrect. Redundancy on the Internet does not protect against
communications being intercepted. Having multiple paths can increase
the number of places that an unauthorized individual can intercept
communications.
Question 10
Skill Learning Objective Topic
2.B: Implement and apply an DAT-1.C.a: For binary 2.1: Binary
algorithm. numbers, calculate the Numbers
binary (base 2) equivalent of
a positive integer (base 10)
and vice versa.
(A) Incorrect. The binary equivalent of 3 is 00011.
(B) Incorrect. The binary equivalent of 12 is 01100.
(C) Correct. The binary value 11000 is equal to 24 + 23, which is equal to 24.
(D) Incorrect. The binary equivalent of 48 is 110000.
Question 11
Skill Learning Objective Topic
2.B: Implement and apply an DAT-1.C.a: For binary 2.1: Binary
algorithm. numbers, calculate the Numbers
binary (base 2) equivalent of
a positive integer (base 10)
and vice versa.
(A) Incorrect. The decimal value for ← is equal to 23, or 8.
(B) Incorrect. The decimal value for ↑ is equal to 23 + 20, or 9.
(C) Incorrect. The decimal value for → is equal to 23 + 21 + 20, or 11.
(D) Correct. The decimal number 15 is equal to 23 + 22 + 21 + 20, which
is represented in binary as 01111. Therefore, the decimal value 15
represents the ↓ control.
Question 14
Skill Learning Objective Topic
4.C: Identify and correct errors CRD-2.I.b: For errors in 1.4: Identifying
in algorithms and programs, an algorithm or program, and Correcting
including error discovery correct the error. Errors
through testing.
(A) Incorrect. By making this change, an invalid list index of 0 will be
used. This will not correct the error in the procedure.
(B) Incorrect. By making this change, the procedure will immediately return
true any time it encounters a value that is greater than or equal to the
preceding value. It will not check any subsequent values in the list.
(C) Correct. As is, the procedure traverses numberList from left to
right and returns true whenever it encounters a value that is less
than the preceding value. If it never encounters such a value, false
is returned. This has the effect of returning true whenever the list is
not increasing and returning false whenever the list is increasing,
which is the opposite of what is intended. By interchanging lines 8 and
12, the procedure will return true or false appropriately.
(D) Incorrect. By making this change, an infinite loop will occur if the
second element in the list is greater than or equal to the first element in
the list. In that case, the variable count will never be updated and the
subsequent values in the list will never be checked. This will not correct
the error in the procedure.
Question 16
Skill Learning Objective Topic
5.E: Evaluate the use of IOC-1.F: Explain how the 5.5: Legal and
computing based on legal and use of computing can raise Ethical Concerns
ethical factors. legal and ethical concerns.
(A) Incorrect. Publishing an e-book with a Creative Commons license does
not encrypt the e-book.
(B) Correct. A no-rights-reserved Creative Commons license is used
when the creator of a published work wants the work to be made freely
available to everyone.
(C) Incorrect. Publishing an e-book with a no-rights-reserved Creative
Commons license enables people to freely distribute it.
(D) Incorrect. Publishing an e-book with a no-rights-reserved Creative
Commons license enables people to freely make use of its content.
Question 18
Skill Learning Objective Topic
1.D: Evaluate solution options. CSN-1.E.c: For fault- 4.2: Fault
tolerant systems, like Tolerance
the Internet, identify
vulnerabilities to failure in a
system.
(A) Incorrect. There are many possible paths between devices A and D,
including A-B-D, A-C-D, A-C-F-D, and A-B-E-F-D.
(B) Incorrect. It is possible for a message to be routed from device A to
device I through more than four other devices. One possible path is
A-B-G-E-H-F-I.
(C) Correct. If devices B and F fail, then devices E, G, and H will become
isolated from devices A, C, D, and I. Therefore, device A will be unable
to communicate with device G.
(D) Incorrect. If devices C and F fail, then device D can still communicate
with device H. One possible path is D-B-E-H.
Question 20
Skill Learning Objective Topic
5.A: Explain how computing CSN-1.A: Explain how 4.1: The Internet
systems work. computing devices work
together in a network.
(A) Incorrect. Limiting the bandwidth of a connection is likely to increase
the amount of time it takes to send and receive files.
(B) Incorrect. The number of packets used to transmit data is related to the
size of the data, not to the bandwidth of the connection.
(C) Incorrect. Internet routing is fault-tolerant, regardless of the bandwidth
of a local connection.
(D) Correct. The bandwidth of a computer network is the maximum
amount of data that can be sent in a fixed amount of time. With
limited bandwidth, guest users will be restricted in the amount of data
transmitted per second.
Question 24
Skill Learning Objective Topic
1.D: Evaluate solution options. DAT-1.D: Compare data 2.2: Data
compression algorithms to Compression
determine which is best in a
particular context.
(A) Incorrect. In situations where quality is maximally important, lossless
compression algorithms are typically chosen.
(B) Incorrect. In situations where the ability to reconstruct an original is
maximally important, lossless compression algorithms are typically
chosen.
(C) Correct. In situations where minimizing data size or transmission time
is maximally important, lossy compression algorithms are typically
chosen.
(D) Incorrect. In situations where quality is maximally important, lossless
compression algorithms are typically chosen.
Question 26
Skill Learning Objective Topic
1.D: Evaluate solution options. CSN-2.B: Describe benefits 4.3: Parallel
and challenges of parallel and Distributed
and distributed computing. Computing
(A) Correct. The efficiency of a parallel computing solution is limited
by the sequential portion of the solution. If each step is dependent
on the preceding step, then each step must wait for the previous step
to complete before executing. Therefore, the solution is completely
sequential and does not benefit from parallel computing.
(B) Incorrect. If the same formula can be applied to every data element,
then the computations can be done in parallel on multiple processors.
(C) Incorrect. If an algorithm is broken down into small independent tasks,
then each task can be executed in parallel on multiple processors.
(D) Incorrect. Searching for a key word in multiple documents can be
done in parallel, where each processor performs a search on a different
document (or part of a document).
Question 28
Skill Learning Objective Topic
2.A: Represent algorithmic AAP-2.J: Express an 3.8: Iteration
processes without using a algorithm that uses
programming language. iteration without using a
programming language.
(A) Incorrect. For these values, -5 will be added to result five times
and -25 will be displayed.
(B) Incorrect. For these values, 0 will be added to result five times
and 0 will be displayed.
(C) Incorrect. For these values, k is initially 0, so the algorithm will
never enter into the loop and 0 will be displayed.
(D) Correct. The value of k is repeatedly decremented by 1 inside
the loop until k = 0. If k is initially negative, it will continue to
decrease without ever reaching 0.
Question 30
Skill Learning Objective Topic
5.A: Explain how computing CSN-1.C: Explain how 4.1: The Internet
systems work. data are sent through the
Internet via packets.
(A) Incorrect. Data packets may travel along different paths, arriving at the
destination in order, out of order, or not at all.
(B) Correct. Data transmitted on the Internet is broken into packets and
then reassembled upon arrival. Packets may travel along different paths,
arriving at the destination in order, out of order, or not at all.
(C) Incorrect. Data is broken into packets and then reassembled upon
arrival.
(D) Incorrect. Data is broken into packets and then reassembled upon
arrival.
Question 32
Skill Learning Objective Topic
5.E: Evaluate the use of IOC-2.B: Explain how 5.6: Safe
computing based on legal and computing resources can Computing
ethical factors. be protected and can be
misused.
(A) Correct. Public-key encryption is considered a secure way of encoding
data to prevent unauthorized access.
(B) Incorrect. A public key is used to encrypt messages, while a private key
is used to decrypt messages. Public key encryption is still considered
secure even if a public key is obtained by an unauthorized individual.
(C) Incorrect. Public key encryption can be used to encrypt any type of
digital data.
(D) Incorrect. Public key encryption uses a public key for encryption and a
private key for decryption. Symmetric encryption is a method that uses
a single key for both encryption and decryption.
Question 34
Skill Learning Objective Topic
4.C: Identify and correct errors CRD-2.I.b: For errors in 1.4: Identifying
in algorithms and programs, an algorithm or program, and Correcting
including error discovery correct the error. Errors
through testing.
(A) Incorrect. An incorrect trial count occurs because there are two calls to
RANDOM for each iteration of the loop instead of one. Replacing line 9
with IF(RANDOM(1, 4) ≥ 2) will not correct this error.
(B) Correct. An incorrect trial count occurs because there are two calls
to RANDOM for each iteration of the loop instead of one. By replacing
line 9 with an ELSE statement, the code segment will increment
xCount approximately 25% of the time and will increment yCount
otherwise.
(C) Incorrect. An incorrect trial count occurs because there are two calls to
RANDOM for each iteration of the loop instead of one. Interchanging
lines 5 and 9 will not correct this error.
(D) Incorrect. An incorrect trial count occurs because there are two calls to
RANDOM for each iteration of the loop instead of one. Interchanging
lines 7 and 11 will not correct this error.
Question 36
Skill Learning Objective Topic
5.D: Describe the impact of IOC-2.A: Describe the risks 5.6: Safe
gathering data. to privacy from collecting Computing
and storing personal data
on a computer system.
(A) Incorrect. Personal information found online can be redistributed via
social media posts, e-mail, and other methods.
(B) Incorrect. Personal information found online can be redistributed
via social media posts, e-mail, and other methods. Through this
redistribution, it can end up on a large number of devices.
(C) Incorrect. Search engines, social media sites, and other data aggregators
can automatically collect personal information that is posted online.
(D) Correct. Personal information can be found in a variety of places where
authentication measures may not be used, including social media
sites. Personal information placed online can be collected, aggregated,
distributed, and exploited.
Question 38
Skill Learning Objective Topic
1.D: Evaluate solution options. AAP-3.F.b: For simulations, 3.16: Simulations
compare simulations with
real-world contexts.
(A) Incorrect. Simulations are well-suited to situations where real-world
events are impractically slow.
(B) Incorrect. Simulations are simplified abstractions of more-complex
objects or phenomena.
(C) Incorrect. Simulations are well-suited to situations where real-world
events are impractically expensive or dangerous.
(D) Correct. Simulations are most useful when real-world events are
impractical. A simulation is unlikely to be appropriate if continuous
real-world data is needed.
Question 40
Skill Learning Objective Topic
5.C: Describe the impact of a IOC-1.C: Describe issues 5.2: Digital
computing innovation. that contribute to the digital Divide
divide.
(A) Incorrect. Some individuals are unable to use computing devices
effectively due to lack of education and experience with these devices.
Offering educational programs focusing on these skills may help reduce
the digital divide for these individuals.
(B) Correct. The digital divide describes the differences in access to
computing devices and the Internet. Requiring job applicants to apply
online serves only individuals who already have access to computing
devices and the Internet. It does not help reduce the divide.
(C) Incorrect. Some individuals lack access to computing devices because
the devices are prohibitively expensive. Offering low-cost devices may
help reduce the digital divide for these individuals.
(D) Incorrect. Some individuals lack access to the Internet due to lack of
network infrastructure. Building new infrastructure in remote areas
may help reduce the digital divide for these individuals.
Question 42
Skill Learning Objective Topic
4.B: Determine the result of AAP-2.O.b: For algorithms 3.10: Lists
code segments. involving elements of a list,
determine the result of an
algorithm that includes list
traversals.
(A) Correct. The expression (item MOD 2) evaluates to 1 for odd
values and evaluates to 0 for even values. As a result, the code
segment adds 1 to result for each odd value in integerList.
There are three odd values in the list, so 3 is displayed.
(B) Incorrect. This result would be displayed if the code segment counted
the number of even values in the list rather than the number of odd
values.
(C) Incorrect. This result would be displayed if the code segment computed
the sum of the odd values in the list rather than counting the number of
odd values in the list.
(D) Incorrect. This result would be displayed if the code segment computed
the sum of the even values in the list rather than counting the number of
odd values in the list.
Question 44
Skill Learning Objective Topic
1.D: Evaluate solution options. DAT-1.B: Explain the 2.1: Binary
consequences of using bits Numbers
to represent data.
(A) Incorrect. An overflow occurs when a value exceeds the maximum
representable value. This type of error does not typically lead to
imprecision of values.
(B) Correct. The fixed number of bits used to represent real numbers limits
the range of these values; this limitation can result in round-off errors.
Round-off errors typically result in imprecise values or results.
(C) Incorrect. Programming languages typically represent numbers with
a fixed number of bits. The use of a fixed number of bits can lead to
overflow or round-off errors.
(D) Incorrect. Programming languages typically represent numbers with
a fixed number of bits. The use of a fixed number of bits can lead to
overflow or round-off errors.
Question 47
Skill Learning Objective Topic
2.B: Implement and apply an DAT-2.D: Extract 2.4: Using
algorithm. information from data using Programs
a program. with Data
(A) Incorrect. This expression will always evaluate to false because
prcRange cannot be equal to both "lo" and "med".
(B) Correct. This expression evaluates to true only for restaurants with
the correct price range (when prcRange equals "lo" or "med")
and the correct customer rating (when avgRating ≥ 4.0).
(C) Incorrect. This expression will evaluate to true for restaurants with
a correct customer rating and will evaluate to false for restaurants
with an incorrect customer rating, regardless of the price range. The
intent is to return true true for restaurants with the correct price
range and the correct customer rating.
(D) Incorrect. This expression will evaluate to true for restaurants with
the correct price range or with the correct customer rating. The intent
is for the expression to evaluate to true only for restaurants with the
correct price range and the correct customer rating.
Question 49
Skill Learning Objective Topic
1.A: Investigate the situation, AAP-4.B: Explain the 3.18: Undecidable
context, or task. existence of undecidable Problems
problems in computer
science.
(A) Incorrect. While some solutions benefit from being validated by a
human, not all problems can be solved with an algorithm.
(B) Incorrect. While some solutions benefit from parallel computation, not
all problems can be solved with an algorithm.
(C) Incorrect. While some solutions require a large amount of data storage,
not all problems can be solved with an algorithm.
(D) Correct. An undecidable problem is one for which no algorithm can
be constructed that is always capable of providing a correct yes-or-
no answer. Some instances of an undecidable problem may have an
algorithmic solution, but there is no algorithmic solution that could
solve all instances of the problem.
Question 51
Skill Learning Objective Topic
1.C: Explain how collaboration IOC-1.E: Explain how 5.4:
affects the development of a people participate in Crowdsourcing
solution. problem-solving processes
at scale.
(A) Correct. Citizen science is scientific research conducted in whole or
part by distributed individuals, many of whom may not be scientists,
who contribute relevant data to research using their own computing
devices. This project would benefit from using a citizen science model
for gathering photographs of birds from amateur photographers around
the world.
(B) Incorrect. This project can be done by a small team of researchers and is
not likely to require a distributed approach.
(C) Incorrect. A simulation is run on a computer and is not likely to require
input from individuals distributed around the world.
(D) Incorrect. This project requires specialized equipment that is unlikely to
be available to individuals distributed around the world.
Question 53
Skill Learning Objective Topic
2.A: Represent algorithmic AAP-2.J: Express an 3.8: Iteration
processes without using a algorithm that uses
programming language. iteration without using a
programming language.
(A) Correct. Step 4 checks every element of the list, incrementing count
each time target appears. Step 5 prints true if and only if
count appears multiple times in the list.
(B) Incorrect. This algorithm will only display true if every element in
the list is equal to target. In step 5, it is not possible for count
to be greater than position, and count will only be equal to
position if count was incremented for every element in the list.
(C) Incorrect. If target appears two or fewer times in the list, count
will never be greater than 2. Steps 2 and 3 will be continually repeated
until the algorithm eventually attempts to access a list element at an
index beyond the end of the list.
(D) Incorrect. It is not possible for count to be greater than n.
Steps 2 and 3 will be continually repeated until the algorithm eventually
attempts to access a list element at an index beyond the end of the list.
Question 55
Skill Learning Objective Topic
2.B: Implement and apply an AAP-2.N.a: For list 3.10: Lists
algorithm. operations, write
expressions that use
list indexing and list
procedures.
(A) Incorrect. This code segment assigns the value of the last element of
the list to the variable temp, then removes the last element of the list,
then appends temp to the end of the list. The resulting list is the same
as the original list.
(B) Incorrect. This code segment removes the last element of the list, then
attempts to access an element at index len. This causes an error
because there is no longer an element at index len.
(C) Correct. This code segment assigns the value of the last element of the
list to the variable temp, then removes the last element of the list,
then inserts temp as the first element of the list.
(D) Incorrect. This code segment removes the last element of the list, then
attempts to access an element at index len. This causes an error
because there is no longer an element at index len.
Question 57
Skill Learning Objective Topic
1.D: Evaluate solution options. CSN-2.A.b: For sequential, 4.3: Parallel
parallel, and distributed and Distributed
computing, determine the Computing
efficiency of solutions.
(A) Correct. With two processors running in parallel, execution time is
minimized when the processors take on as close to an equal workload
as possible. Running processes P and Q on one processor will take a
total of 40 seconds. Running processes R and S on the other processor
will take a total of 35 seconds. As the processors run in parallel, all four
operations are completed in 40 seconds.
(B) Incorrect. Running processes P and R on one processor will take a
total of 50 seconds. Running processes Q and S on the other processor
will take a total of 25 seconds. With the processors running in parallel,
this solution will take 50 seconds; the optimal solution takes only 40
seconds.
(C) Incorrect. Running processes P and S on one processor will take a total
of 45 seconds. Running processes Q and R on the other processor will
take a total of 30 seconds. With the processors running in parallel,
this solution will take 45 seconds; the optimal solution takes only 40
seconds.
(D) Incorrect. Running process P on one processor will take a total of 30
seconds. Running processes Q, R, and S on the other processor will
take a total of 45 seconds. With the processors running in parallel,
this solution will take 45 seconds; the optimal solution takes only 40
seconds.
Question 59
Skill Learning Objective Topic
3.A: Generalize data sources CRD-2.C: Identify input(s) 1.2: Program
through variables. to a program. Function
and Purpose
(A) Incorrect. While Adrianna’s average running speed is useful in
determining whether other users are considered compatible with
Adrianna, this information is determined using data collected from
Adrianna’s device.
(B) Incorrect. While Adrianna’s preferred running distance is needed to
recommend a running route, this information is provided directly by
Adrianna.
(C) Correct. In order to share Adrianna’s running route with nearby users,
the application needs to know the current locations of users other than
Adrianna. This information is collected from other user’s devices, not
Adrianna’s device.
(D) Incorrect. While the usernames on Adrianna’s contact list is useful
in determining whether other users are considered compatible with
Adrianna, this information is determined using data provided directly
by Adrianna when she creates her contact list.
Question 61
Skill Learning Objective Topic
5.D: Describe the impact of IOC-2.A: Describe the risks 5.6: Safe
gathering data. to privacy from collecting Computing
and storing personal data
on a computer system.
(A) Incorrect. While some users may find it undesirable to carry their
smartphones while running, this is not considered a privacy concern.
(B) Correct. The application will inform a user whenever a nearby
compatible user starts a run. This could allow users to determine the
location of a stranger, which is considered a privacy concern.
(C) Incorrect. While running data captured by the application may be
inaccurate if two users are using the same account, this is not considered
a privacy concern.
(D) Incorrect. While a user may not be able to make full use of the
application’s features if there are no compatible users nearby, this is not
considered a privacy concern.
Question 131
Skill Learning Objective Topic
2.B: Implement and apply an AAP-2.F.a: For relationships 3.5: Boolean
algorithm. between Boolean values, Expressions
write expressions using
logical operators.
(A) Correct. When input1 and input2 are both true,
the expressions (NOT input1) and (NOT input2) are
both false, so (NOT input1) OR (NOT input2) will
evaluate to false. In all other cases, either (NOT input1)
or (NOT input2) (or both) will evaluate to true,
so (NOT input1) OR (NOT input2) will evaluate to true.
(B) Incorrect. For example, when input1 is true and
input2 is false, then (NOT input1) will be false
and (NOT input2) will be true. Therefore,
(NOT input1) AND (NOT input2) will be false
instead of the intended value true.
(C) Incorrect. For example, when input1 is true and input2
is false, then (input1 OR input2) will be true.
Therefore, NOT (input1 OR input2) will be false
instead of the intended value true.
(D) Correct. When input1 and input2 are both true,
the expression (input1 AND input2) is true, so
NOT (input1 AND input2) will evaluate to false. In all
other cases, (input1 AND input2) will evaluate to false,
so NOT (input1 AND input2) will evaluate to true.
Question 133
Skill Learning Objective Topic
4.B: Determine the result of AAP-2.H.b: For selection, 3.6: Conditionals
code segments. determine the result of
conditional statements.
(A) Incorrect. Since hot is true, the body of the IF statement is
executed. Since hot AND humid evaluates to false, false
is displayed.
(B) Correct. Since NOT humid evaluates to true, the body of the IF
statement is executed. Since hot OR humid evaluates to true,
true is displayed.
(C) Correct. Since hot OR humid evaluates to true, the body of the
IF statement is executed. Since hot is true, true is displayed.
(D) Incorrect. Since hot AND humid evaluates to false, the body
of the IF statement is not executed, and nothing is displayed.
"purple".
(B) 3
Incorrect. This code segment simulates a spinner in which there is a
4
1 1
chance of "blue", a chance of "orange", and a chance of
8 8
1
"purple". However, the given spinner has a chance of "blue",
4
3 3
a chance of "orange", and a chance of "purple".
8 8
(C) 1
Incorrect. This code segment simulates a spinner in which there is a
4
1 1
chance of "blue", a chance of "orange", and a chance of
4 2
1
"purple". However, the given spinner has a chance of "blue",
4
3 3
a chance of "orange", and a chance of "purple".
8 8
(D) 1
Correct. For this spinner, there is a chance of "blue". The
4
3
remaining of the time, "orange" and "purple" are equally
4
likely. The variable spin is set to a random value between 1 and
1
4, inclusive. If spin is 1 (which occurs of the time), the code
4
segment prints "blue". Otherwise, spin is set to a random value
1
between 1 and 2, inclusive. If spin is 2 (which occurs
2
of the time that "blue" does not occur), the code segment prints
1
"orange". The other of the time that "blue" does not occur,
2
the code segment prints "purple".
Question 137
Skill Learning Objective Topic
5.B: Explain how knowledge DAT-2.B: Describe what 2.3: Extracting
can be generated from data. information can be Information
extracted from metadata. from Data
(A) Correct. The time and date that a photo is taken is considered metadata
about the image. This information can be used to determine the
chronological order of the images.
(B) Incorrect. The number of clouds in a particular picture cannot be
determined from the date, time, and location metadata. To determine
this information, the content of the picture itself must be analyzed.
(C) Incorrect. The suitability of a picture for printing in black-and-white
cannot be determined from the date, time, and location metadata. To
determine this information, the colors of the pixels in the photo must be
analyzed.
(D) Correct. The location and date that a photo is taken is considered
metadata about the image. This information can be used to determine
whether two pictures were taken at the same location on different dates.
AP Canada Office
2950 Douglas Street, Suite 550
Victoria, BC, Canada V8T 4N4
250-472-8561
800-667-4548 (toll free in Canada only)
Email: [email protected]