AP Computer Science Principles '23-'24 Vocabulary
Unit 1 - Digital Information ('23-'24)
Lesson 1: Welcome to CSP
There is no vocabulary for this lesson.
Lesson 2: Representing Information
There is no vocabulary for this lesson.
Lesson 3: Circle Square Patterns
There is no vocabulary for this lesson.
Lesson 4: Binary Numbers
Binary - A way of representing information using only two options
Bit - A contraction of "Binary Digit"; the single unit of information in a computer, typically
represented as a 0 or 1
Byte - 8 bits
Decimal - A way of representing information using ten options
Lesson 5: Overflow and Rounding
Overflow Error - Error from attempting to represent a number that is too large
Round-off Error - Error from attempting to represent a number that is too precise. The value
is rounded.
Lesson 6: Representing Text
There is no vocabulary for this lesson.
Lesson 7: Black and White Images
Analog Data - Data with values that change continuously, or smoothly, over time. Some
examples of analog data include music, colors of a painting, or position of a sprinter during a
race.
Digital Data - Data that changes discretely through a finite set of possible values
Sampling - A process for creating a digital representation of analog data by measuring the
analog data at regular intervals called samples.
Lesson 8: Color Images
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Lesson 9: Lossless Compression
Lossless Compression - A process for reducing the number of bits needed to represent
something without losing any information. This process is reversible.
Lesson 10: Lossy Compression
Lossy Compression - A process for reducing the number of bits needed to represent
something in which some information is lost or thrown away. This process is not reversible.
Lesson 11: Intellectual Property
Creative Commons - A collection of public copyright licenses that enable the free
distribution of an otherwise copyrighted work, used when an author wants to give people the
right to share, use, and build upon a work that they have created
Intellectual Property - A work or invention that is the result of creativity, such as a piece of
writing or a design, to which one has rights and for which one may apply for a patent,
copyright, trademark, etc.
Lesson 12: Project Digital Information Dilemmas
There is no vocabulary for this lesson.
Lesson 13: Assessment Day
There is no vocabulary for this lesson.
Unit 2 - The Internet ('23-'24)
Lesson 1: Welcome to the Internet
There is no vocabulary for this lesson.
Lesson 2: Building a Network
Bandwidth - the maximum amount of data that can be sent in a fixed amount of time, usually
measured in bits per second
Computing Device - a machine that can run a program, including computers, tablets, servers,
routers, and smart sensors
Computing Network - a group of interconnected computing devices capable of sending or
receiving data.
Computing System - a group of computing devices and programs working together for a
common purpose
Path - the series of connections between computing devices on a network starting with a
sender and ending with a receiver
AP Computer Science Principles '23-'24 Vocabulary
Lesson 3: The Need for Addressing
IP Address - The unique number assigned to each device on the Internet
Internet Protocol (IP) - a protocol for sending data across the Internet that assigns unique
numbers (IP addresses) to each connected device
Protocol - An agreed-upon set of rules that specify the behavior of some system
Lesson 4: Routers and Redundancy
Fault Tolerant - Can continue to function even in the event of individual component failures.
This is important because elements of complex systems like a computer network fail at
unexpected times, often in groups.
Redundancy - The inclusion of extra components so that a system can continue to work even
if individual components fail, for example by having more than one path between any two
connected devices in a network
Router - A type of computer that forwards data across a network
Lesson 5: Packets
Packet - A chunk of data sent over a network. Larger messages are divided into packets that
may arrive at the destination in order, out-of-order, or not at all
Lesson 6: HTTP and DNS
Domain Name System (DNS) - the system responsible for translating domain names like
example.com into IP addresses
HyperText Transfer Protocol (HTTP) - the protocol used for transmitting web pages over
the Internet
World Wide Web - a system of linked pages, programs, and files
Lesson 7: Project - Internet Dilemmas
Digital Divide - differing access to computing devices and the Internet, based on
socioeconomic, geographic, or demographic characteristics
Lesson 8: Assessment Day
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Unit 3 - Intro to App Design ('23-'24)
Lesson 1: Introduction to Apps
Input - data that are sent to a computer for processing by a program. Can come in a variety of
forms, such as tactile interaction, audio, visuals, or text.
Output - any data that are sent from a program to a device. Can come in a variety of forms,
such as tactile interaction, audio, visuals, or text.
User Interface - the inputs and outputs that allow a user to interact with a piece of software.
User interfaces can include a variety of forms such as buttons, menus, images, text, and
graphics.
Lesson 2: Introduction to Design Mode
There is no vocabulary for this lesson.
Lesson 3: Project - Designing an App Part 1
There is no vocabulary for this lesson.
Lesson 4: The Need for Programming Languages
There is no vocabulary for this lesson.
Lesson 5: Intro to Programming
Event Driven Programming - some program statements run when triggered by an event,
like a mouse click or a key press
Program - a collection of program statements. Programs run (or “execute”) one command at
a time.
Program Statement - a command or instruction. Sometimes also referred to as a code
statement.
Sequential Programming - program statements run in order, from top to bottom
Lesson 6: Debugging
Comment - form of program documentation written into the program to be read by people
and which do not affect how a program runs
Debugging - Finding and fixing problems in an algorithm or program
Documentation - a written description of how a command or piece of code works or was
developed
AP Computer Science Principles '23-'24 Vocabulary
Lesson 7: Project - Designing an App Part 2
Development Process - the steps or phases used to create a piece of software. Typical phases
include investigating, designing, prototyping, and testing.
Pair Programming - a collaborative programming style in which two programmers switch
between the roles of writing code and tracking or planning high level progress
Lesson 8: Assessment Day
There is no vocabulary for this lesson.
Unit 4 - Variables, Conditionals, and Functions ('23-
'24)
Lesson 1: Variables Explore
Assignment Operator - allows a program to change the value represented by a variable
Expression - a combination of operators and values that evaluates to a single value
String - an ordered sequence of characters
Variable - a named reference to a value that can be used repeatedly throughout a program
Lesson 2: Variables Investigate
There is no vocabulary for this lesson.
Lesson 3: Variables Practice
There is no vocabulary for this lesson.
Lesson 4: Variables Make
There is no vocabulary for this lesson.
Lesson 5: Conditionals Explore
Boolean Value - a data type that is either true or false
Comparison Operator - <, >, <=, >=, ==, != indicate a Boolean expression
Logical Operator - NOT, AND, and OR, which evaluate to a Boolean value
Lesson 6: Conditionals Investigate
Conditional Statement - affects the sequential flow of control by executing different
statements based on the value of a Boolean expression
Logical Operator - NOT, AND, and OR, which evaluate to a Boolean value
AP Computer Science Principles '23-'24 Vocabulary
Lesson 7: Conditionals Practice
There is no vocabulary for this lesson.
Lesson 8: Conditionals Make
There is no vocabulary for this lesson.
Lesson 9: Functions Explore / Investigate
Function - a named group of programming instructions. Also referred to as a “procedure”.
Function Call - a command that executes the code within a function
Lesson 10: Functions Practice
There is no vocabulary for this lesson.
Lesson 11: Functions Make
There is no vocabulary for this lesson.
Lesson 12: Project - Decision Maker App
There is no vocabulary for this lesson.
Lesson 13: Assessment Day
There is no vocabulary for this lesson.
Unit 5 - Data ('23-'24)
Lesson 1: Learning from Data
Information - the collection of facts and patterns extracted from data
Metadata - data about data
Lesson 2: Exploring One Column
There is no vocabulary for this lesson.
Lesson 3: Filtering and Cleaning Data
Cleaning Data - a process that makes the data uniform without changing its meaning (e.g.,
replacing all equivalent abbreviations, spellings, and capitalizations with the same word).
Data Filtering - choosing a smaller subset of a data set to use for analysis, for example by
eliminating / keeping only certain rows in a table
AP Computer Science Principles '23-'24 Vocabulary
Lesson 4: Exploring Two Columns
Correlation - a relationship between two pieces of data, typically referring to the amount that
one varies in relation to the other.
Lesson 5: Big, Open, and Crowdsourced Data
Citizen Science - 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.
Crowdsourcing - the practice of obtaining input or information from a large number of
people via the Internet
Lesson 6: Machine Learning
Data Bias - data that does not accurately reflect the full population or phenomenon being
studied
Information - the collection of facts and patterns extracted from data
Lesson 7: Algorithmic Bias
Data Bias - data that does not accurately reflect the full population or phenomenon being
studied
Lesson 8: Project - Tell a Data Story
There is no vocabulary for this lesson.
Lesson 9: Assessment Day
There is no vocabulary for this lesson.
Lesson 10: CS Principles Post-Course Survey
There is no vocabulary for this lesson.
Unit 6 - Lists, Loops, and Traversals ('23-'24)
Lesson 1: Lists Explore
Data Abstraction - manage complexity in programs by giving a collection of data a name
without referencing the specific details of the representation
Element - an individual value in a list that is assigned a unique index
Index - a common method for referencing the elements in a list or string using numbers
List - an ordered collection of elements
Lesson 2: Lists Investigate
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Lesson 3: Lists Practice
There is no vocabulary for this lesson.
Lesson 4: Lists Make
There is no vocabulary for this lesson.
Lesson 5: Loops Explore
Infinite Loop - occurs when the ending condition will never evaluate to true
Iteration - a repetitive portion of an algorithm which repeats a specified number of times or
until a given condition is met
Lesson 6: Loops Investigate
There is no vocabulary for this lesson.
Lesson 7: Loops Practice
There is no vocabulary for this lesson.
Lesson 8: Loops Make
There is no vocabulary for this lesson.
Lesson 9: Traversals Explore
Traversal - the process of accessing each item in a list one at a time
Lesson 10: Traversals Investigate
There is no vocabulary for this lesson.
Lesson 11: Traversals Practice
There is no vocabulary for this lesson.
Lesson 12: Traversals Make
There is no vocabulary for this lesson.
Lesson 13: Project - Hackathon
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Lesson 14: Assessment Day
There is no vocabulary for this lesson.
Lesson 15: CS Principles Post-Course Survey
There is no vocabulary for this lesson.
Unit 7 - Parameters, Return, and Libraries ('23-'24)
Lesson 1: Parameters and Return Explore
Argument - the value passed to the parameter
Parameter - a variable in a function definition. Used as a placeholder for values that will be
passed through the function
Return - used to return the flow of control to the point where the procedure (also known as a
function) was called and to return the value of expression
Lesson 2: Parameters and Return Investigate
Procedural Abstraction - a process and allows a procedure to be used only knowing what it
does, not how it does it. Procedural abstraction allows a solution to a large problem to be based
on the solution of smaller subproblems. This is accomplished by creating procedures to solve
each of the subproblems.
Lesson 3: Parameters and Return Practice
There is no vocabulary for this lesson.
Lesson 4: Parameters and Return Make
There is no vocabulary for this lesson.
Lesson 5: Libraries Explore
API - Application Program Interface - specifications for how functions in a library behave
and can be used
Library - a group of functions (procedures) that may be used in creating new programs
Lesson 6: Libraries Investigate
Modularity - the subdivision of a computer program into separate subprograms
Lesson 7: Libraries Practice
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Lesson 8: Project Make a Library Part 1
There is no vocabulary for this lesson.
Lesson 9: Project Make a Library Part 2
There is no vocabulary for this lesson.
Lesson 10: Project Make a Library Part 3
There is no vocabulary for this lesson.
Lesson 11: Assessment Day
There is no vocabulary for this lesson.
Lesson 12: CS Principles Post-Course Survey
There is no vocabulary for this lesson.
Unit 8 - Cybersecurity and Global Impacts ('23-'24)
Lesson 1: Project - Innovation Simulation Part 1
Computing Innovation - includes a program as an integral part of its function. Can be
physical (e.g. self-driving car), non-physical computing software (e.g. picture editing software),
or non-physical computing concepts (e.g., e-commerce).
Lesson 2: Data Policies and Privacy
Personally Identifiable Information (PII) - information about an individual that identifies,
links, relates, or describes them
Lesson 3: The Value of Privacy
There is no vocabulary for this lesson.
Lesson 4: Project - Innovation Simulation Part 2
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Lesson 5: Security Risks Part 1
Keylogging - the use of a program to record every keystroke made by a computer user in
order to gain fraudulent access to passwords and other confidential information
Malware - software intended to damage a computing system or to take partial control over its
operation
Phishing - a technique that attempts to trick a user into providing personal information. That
personal information can then be used to access sensitive online resources, such as bank
accounts and emails
Rouge Access Point - a wireless access point that gives unauthorized access to secure
networks
Lesson 6: Security Risks Part 2
There is no vocabulary for this lesson.
Lesson 7: Project - Innovation Simulation Part 3
There is no vocabulary for this lesson.
Lesson 8: Protecting Data Part 1
Decryption - a process that reverses encryption, taking a secret message and reproducing the
original plain text
Encryption - a process of encoding messages to keep them secret, so only "authorized"
parties can read it
Public Key Encryption - pairs a public key for encryption and a private key for decryption.
The sender does not need the receiver’s private key to encrypt a message, but the receiver’s
private key is required to decrypt the message
Symmetric Key Encryption - involves one key for both encryption and decryption
Lesson 9: Protecting Data Part 2
Computer Virus Scanning Software - protects a computing system against infection
Multi-factor Authentication - a system that requires at least two steps to unlock protected
information; each step adds a new layer of security that must be broken to gain unauthorized
access
Lesson 10: Project - Innovation Simulation Part 4
There is no vocabulary for this lesson.
Lesson 11: Assessment Day
There is no vocabulary for this lesson.
AP Computer Science Principles '23-'24 Vocabulary
Lesson 12: CS Principles Post-Course Survey
There is no vocabulary for this lesson.
Unit 9 - Create PT Prep ('23-'24)
Lesson 1: Create PT Deep Dive
There is no vocabulary for this lesson.
Lesson 2: Create PT Make a Plan
There is no vocabulary for this lesson.
Lesson 3: Create PT - Complete the Task (9 hrs)
There is no vocabulary for this lesson.
Lesson 4: Create PT Written Response Mock Exam
There is no vocabulary for this lesson.
Lesson 5: CS Principles Post-Course Survey
There is no vocabulary for this lesson.
Unit 10 - Algorithms ('23-'24)
Lesson 1: Algorithms Solve Problems
Algorithm - a finite set of instructions that accomplish a task
Iteration - a repetitive portion of an algorithm which repeats a specified number of times or
until a given condition is met
Problem - a general description of a task that can (or cannot) be solved with an algorithm
Selection - deciding which steps to do next
Sequencing - putting steps in an order
Lesson 2: Algorithm Efficiency
Binary Search - a search algorithm that starts at the middle of a sorted set of numbers and
removes half of the data; this process repeats until the desired value is found or all elements
have been eliminated
Efficiency - a measure of how many steps are needed to complete an algorithm
Linear Search - a search algorithm which checks each element of a list, in order, until the
desired value is found or all elements in the list have been checked
AP Computer Science Principles '23-'24 Vocabulary
Lesson 3: Unreasonable Time
Reasonable Time - Algorithms with a polynomial efficiency or lower (constant, linear,
square, cube, etc.) are said to run in a reasonable amount of time
Unreasonable Time - Algorithms with exponential or factorial efficiencies are examples of
algorithms that run in an unreasonable amount of time
Lesson 4: The Limits of Algorithms
Decision Problem - a problem with a yes/no answer (e.g., is there a path from A to B?)
Heuristic - provides a "good enough" solution to a problem when an actual solution is
impractical or impossible
Optimization Problem - a problem with the goal of finding the "best" solution among many
(e.g., what is the shortest path from A to B?)
Undecidable Problem - a problem for which no algorithm can be constructed that is always
capable of providing a correct yes-or-no answer
Lesson 5: Parallel and Distributed Algorithms
Distributed Computing - a model in which programs are run by multiple devices
Parallel Computing - a model in which programs are broken into small pieces, some of
which are run simultaneously
Sequential Computing - a model in which programs run in order, one command at a time
Speedup - the time used to complete a task sequentially divided by the time to complete a
task in parallel
Lesson 6: Assessment Day
There is no vocabulary for this lesson.
Lesson 7: CS Principles Post-Course Survey
There is no vocabulary for this lesson.