Working in Python · Full Vocabulary ↪ Vocabulary by Chapter ↪ AP CSP Vocabulary Coverage

AP CSP Vocabulary Glossary

Every term this book defines, merged with the full AP CSP exam vocabulary list, alphabetized into one reference — the two source pages linked above, combined for a binder tab instead of split by chapter or Big Idea.

300
terms, A–Z
144
on the AP CSP exam's own vocabulary list
212
defined somewhere in this book (chapter linked)

AP on the exam's vocabulary list 9 defined in this book — chapter number links to it

Studying for the exam?

A

16 terms
absolute path13 A path that does not depend on the current directory.
abstractionAP Reducing complexity by exposing essential features and hiding implementation detail.
accumulator10 A variable used in a loop to add up or accumulate a result.
aggregation of informationAP Combining separately harmless pieces of data to identify or profile a person.
algorithmAP A finite sequence of steps that solves a problem or completes a task. Can be written in English, pseudocode, or code.
algorithmic efficiencyAP An estimate of the computational resources an algorithm uses as a function of input size.
aliased9 If there is more than one variable that refers to an object, the object is aliased.
analog dataAP7b Values that vary continuously and smoothly, with no steps.
anonymizationAP Removing identifying details from data — and its limits, since aggregation can re-identify.
APIAP The specification of how a library's procedures are called and how they behave.
argumentAP2 A value provided to a function when the function is called.
arithmetic operator1 A symbol, like + and *, that denotes an arithmetic operation like addition or multiplication.
ASCIIAP7b A table assigning a number from 0 to 127 to each of a small set of characters.
assignment statementAP2 A statement that assigns a value to a variable.
attribute9,14 A named value associated with an object; called an instance variable when it belongs to a class instance.
authenticationAP Verifying that a user is who they claim to be.

B

16 terms
bandwidthAP Maximum data transmittable per unit time, in bits per second.
base case5 A conditional branch in a recursive function that does not make a recursive call.
beneficial and harmful effectsAP Every computing innovation has both, and they can fall on different groups of people.
biasAP Systematic unfairness embedded in an algorithm or in the data it was built from.
bigram12 A sequence of two elements, often words.
binaryAP7b Base-2 representation, using only the digits 0 and 1.
binary mode13 A way of opening a file so the contents are interpreted as a sequence of bytes rather than a sequence of characters.
binary searchAP Repeatedly halving a sorted list to locate a value.
bitAP7b A single binary digit, 0 or 1.
block5 One or more statements indented to indicate they are part of another statement. Statements in a block are frequently said to have the same scope.
body3 The sequence of statements inside a function definition.
boolean expressionAP5 An expression whose value is either True or False.
boundary case6b A test case at the value where a function's behavior changes, such as zero, an empty string, or the first or last item.
branch5 One of the alternative sequences of statements in a conditional statement.
bug1 An error in a program.
byteAP7b Eight bits. Enough to hold one of 256 values.

C

34 terms
call graph10 A diagram that shows every frame created during the execution of a program, with an arrow from each caller to each callee.
canvas4 A window used to display graphical elements including lines, circles, rectangles, and other shapes.
certificate authorityAP An organization that issues and vouches for digital certificates.
chained conditional5 A conditional statement with a series of alternative branches.
character8 An element of a string, including letters, numbers, and symbols.
character encoding7b The agreement about which numbers stand for which characters. Read bits with the wrong encoding and you get the right data as the wrong text.
child class17 A class that inherits from another class.
citizen scienceAP Scientific research carried out partly by volunteers using their own devices.
class14 A programmer-defined type. A class definition creates a new class object.
class object14 An object that represents a class — it is the result of a class definition.
class variable17 A variable defined inside a class definition, but not inside any method.
code segmentAP A portion of a program, one or more lines, treated as a unit.
collaborationAP Working with others to develop a computing innovation; benefits from varied perspectives and skills.
commentAP2 Text included in a program that provides information about the program but has no effect on its execution.
compound conditionalAP A single condition combining multiple Boolean expressions with AND, OR, or NOT.
compression ratio7b Compressed size divided by original size.
computer networkAP Interconnected computing devices able to send and receive data.
computer virusAP Malware that copies itself, typically by attaching to other programs or files.
computing deviceAP A physical artifact that can run a program.
computing innovationAP A product, service, or concept that includes a program as an integral part of its function. May be physical, software, or conceptual.
computing systemAP A group of computing devices and programs working together.
concatenationAP1 Joining two strings end-to-end.
condition5 The boolean expression in a conditional statement that determines which branch runs.
conditional expression18 An expression that uses a conditional to select one of two values.
conditional statementAP5 A statement that controls the flow of execution depending on some condition. Informally, this is usually an if statement, which might include an elif and an else. (AP calls this selection.)
configuration data13 Data, often stored in a file, that specifies what a program should do and how.
constantAP A named value that does not change during execution.
cookiesAP Small data files stored by a site to track a user's state or behavior.
copyrightAP The exclusive right of a creator to reproduce, distribute, and display a work.
correlationAP An association between two variables where changes in one accompany changes in the other.
counter7 A variable used to count something, usually initialized to zero and then incremented.
creative commonsAP A set of public licenses letting a creator pre-authorize specific reuse under stated conditions.
crowdsourcingAP Gathering input, funding, or labor from many people over the Internet.
current working directory13 The default directory used by a program unless another directory is specified.

D

31 terms
dataAP Values that can be stored and processed by a program.
data abstractionAP Using a data structure, typically a list, to represent related values as one named unit, hiding the individual pieces.
data cleaningAP Making data uniform and consistent without changing its meaning.
data miningAP Analyzing large data sets to find patterns and relationships.
data setAP A collection of related data organized for analysis.
data structure11 A collection of values, organized to perform certain operations efficiently.
database13 A file whose contents are organized to perform certain operations efficiently.
dead code6 Part of a program that can never run, often because it appears after a return statement.
debuggingAP1 The process of finding and correcting errors.
decidable problemAP A yes/no problem for which an algorithm can always produce the correct answer.
decimalAP7b Base-10, the system you already use.
decrement7 Decrease the value of a variable.
deep copy16 A copy operation that also copies nested objects.
default value12 The value assigned to a parameter if no argument is provided.
delegation17 When one method passes responsibility to another method to do most or all of the work.
delimiter9 A character or string used to indicate where a string should be split.
deserialization13 Converting a string to an object.
design-first development14 A way of developing programs with more careful planning than prototype and patch.
deterministic12 A deterministic program does the same thing each time it runs, given the same inputs.
development plan4 A process for writing programs.
dictionary10 An object that contains key-value pairs, also called items.
digest13 The result of a hash function, especially when it is used to check whether two objects are the same.
digital certificateAP A credential issued by an authority binding a public key to an identity.
digital dataAP7b Values represented in discrete steps, ultimately as bits.
digital divideAP Unequal access to computing and the Internet across socioeconomic, geographic, or demographic lines.
directory13 A collection of files and other directories.
distributed computingAP Multiple devices in different locations running parts of one program.
DNSAP Translates domain names into IP addresses.
docstringAP4,6b A string at the beginning of a function that documents what the function does; unlike a comment, it is stored on the function and can be read by the program. (AP calls this program documentation.)
doctest6b An example call and its expected result, written inside a docstring, that can be run automatically to check the function.
dot operator2 The operator, ., used to access a function in another module by specifying the module name followed by a dot and the function name.

E

16 terms
edge case6b A test case at an unusual or extreme input, where a function is most likely to be wrong.
elementAP9 One of the values in a list or other sequence.
empty string8 A string that contains no characters and has length 0.
encapsulation4 The process of transforming a sequence of statements into a function definition.
encode17 To represent one set of values using another set of values by constructing a mapping between them.
encryptionAP Encoding data so only holders of the key can read it.
enumerate object11 The result of calling the built-in function enumerate, can be used to loop through a sequence of tuples.
ephemeral13 An ephemeral program typically runs for a short time and, when it ends, its data are lost.
equivalent9 Having the same value.
evaluate2 Perform the operations in an expression in order to compute a value.
eventAP An action supplied to a program as input: key press, click, sensor reading.
event-driven programmingAP Statements execute in response to events rather than in top-to-bottom sequence.
exception2 An error that is detected while the program is running.
execute2 Run a statement and do what it says.
expected value6b What a test says the answer should be, as opposed to what the code actually produced.
expressionAP1 A combination of variables, values, and operators.

F

15 terms
f-string13 A string that has the letter f before the opening quotation mark, and contains one or more expressions in curly braces.
factory18 A function used to create objects, often passed as a parameter to a function.
fail6b,7 A test whose actual result does not match its expected value.
fault toleranceAP Continuing to operate when components fail.
file object7 An object that represents an open file and keeps track of which parts of the file have been read or written.
filteringAP10 Looping through a sequence and selecting or omitting elements. (AP calls this data filtering.)
floating-point1 A type that represents integers and numbers with decimal parts.
formal language1 Any of the languages that people have designed for specific purposes, such as representing mathematical ideas or computer programs. All programming languages are formal languages.
format specifier14 In an f-string, a format specifier determines how a value is converted to a string.
frame3 A box in a stack diagram that represents a function call. It contains the local variables and parameters of the function.
functionAP1 A named sequence of statements that performs some useful operation. Functions may or may not take arguments and may or may not produce a result. (AP calls this a procedure.)
function call1 An expression — or part of an expression — that runs a function. It consists of the function name followed by an argument list in parentheses.
function definition3 A statement that creates a function.
function object3 A value created by a function definition. The name of the function is a variable that refers to a function object.
functional programming style14 A way of programming that uses pure functions whenever possible.

G

2 terms
generalization4 The process of replacing something unnecessarily specific (like a number) with something appropriately general (like a variable or parameter).
generator expression18 Similar to a list comprehension except that it does not create a list.

H

8 terms
hand tracingAP6b Working through code on paper line by line, writing down each variable's value, in order to find an error without running the program.
hash function10,13 A function that takes an object and computes an integer — sometimes called a digest — used to locate a key in a hash table or to check whether two objects are the same.
hash table10 A collection of key-value pairs organized so that we can look up a key and find its value efficiently.
hashable10 Immutable types like integers, floats and strings are hashable. Mutable types like lists and dictionaries are not.
header3 The first line of a function definition.
heuristicAP An approach that finds a good-enough solution when finding the optimal one is impractical.
hexadecimalAP7b Base-16, using 0 through 9 and A through F. Four bits per digit, so one byte is exactly two hex digits.
HTTP / HTTPSAP The Web's request/response protocol; HTTPS adds encryption in transit.

I

26 terms
identical9 Being the same object (which implies equivalence).
immutable8 If the elements of an object cannot be changed, the object is immutable.
import statement2 A statement that reads a module file so we can use the variables and functions it contains.
increment7 Increase the value of a variable.
incremental developmentAP6 A program development plan intended to avoid debugging by adding and testing only a small amount of code at a time.
indexAP8 An integer value used to select an item in a sequence, such as a character in a string. In Python indices start from 0.
infinite loopAP A loop whose ending condition never becomes true.
infinite recursion5 A recursion that doesn't have a base case, or never reaches it. Eventually, an infinite recursion causes a runtime error.
informationAP Meaning, patterns, or insight extracted from data.
inheritance17 The ability to define a new class that is a modified version of a previously defined class.
initialize7 Create a new variable and give it a value.
input validation6 Checking the parameters of a function to make sure they have the correct types and values.
instance14 An object that belongs to a class.
instance method15 A method that must be invoked with an object as receiver.
instantiation14 The process of creating an object that belongs to a class.
integerAP1 A type that represents numbers with no fractional or decimal part.
integer division1 An operator, //, that divides two numbers and rounds down to an integer.
intellectual propertyAP Creative or technical work legally owned by its creator.
interface designAP4 A process for designing the interface of a function, which includes the parameters it should take. (AP calls this procedural abstraction.)
internetAP A network of interconnected networks using standardized open protocols.
invariant15 A condition that should always be true during the execution of a program.
invocation8 An expression — or part of an expression — that calls a method.
IPAP Protocol for addressing devices and routing packets between them.
IP addressAP The unique identifier assigned to a device on a network.
item10 In a dictionary, another name for a key-value pair.
iterative developmentAP Repeated cycles of build, feedback, and revision; earlier phases get revisited.

K

5 terms
key10 An object that appears in a dictionary as the first part of a key-value pair.
key-value stores13 A database whose contents are organized like a dictionary with keys that correspond to values.
keyloggingAP Recording keystrokes to capture passwords and confidential input.
keyword2 A special word used to specify the structure of a program.
keyword argument4 An argument that includes the name of the parameter.

L

9 terms
linear searchAP7 A computational pattern that searches through a sequence of elements and stops when it finds what it is looking for.
listAP9 An object that contains a sequence of values. (on the AP exam, list indices start at 1; in Python, at 0.)
list comprehension18 A concise way to loop through a sequence and create a list.
local variable3 A variable defined inside a function, and which can only be accessed inside the function.
logical operatorAP5 One of the operators that combines boolean expressions, including and, or, and not.
loopAP3 A statement that runs one or more statements, often repeatedly. (AP calls this iteration.)
loop variable7 A variable defined in the header of a for loop.
lossless compressionAP7b Reduces size while allowing the original to be reconstructed exactly.
lossy compressionAP7b Reduces size further, but only an approximation of the original can be recovered.

M

11 terms
machine learningAP Systems that improve at a task from data rather than from explicit programming.
malwareAP Software intended to damage or take control of a system.
mapping10 A relationship in which each element of one set corresponds to an element of another set.
memo10 A computed value stored to avoid unnecessary future computation.
metadataAP Data describing other data: creation date, size, author, location, format.
method7,15 A function that is associated with an object and called using the dot operator; when defined inside a class it is invoked on instances of that class.
modularityAP Dividing a program into independent parts each responsible for one aspect.
moduleAP2 A file that contains Python code, including function definitions and sometimes other statements. (AP calls this a software library.)
modulus operatorAP5 An operator, %, that works on integers and returns the remainder when one number is divided by another. (AP calls this MOD.)
multifactor authenticationAP Requiring evidence from two or more categories: knowledge, possession, inherence.
multiline string4 A string enclosed in triple quotes that can span more than one line of a program.

N

5 terms
n-gram12 A sequence of an unspecified number of elements.
natural language1 Any of the languages that people speak that evolved naturally.
nested conditionalAP5 A conditional statement that appears in one of the branches of another conditional statement.
nested list9 A list that is an element of another list.
newline5 A character that creates a line break between two parts of a string.

O

11 terms
object8 Something a variable can refer to. An object has a type and a value.
object diagram14 A graphical representation of an object, its attributes, and their values.
object-oriented language15 A language that provides features to support object-oriented programming, notably user-defined types.
object-oriented programming14 A style of programming that uses objects to organize code and data.
open accessAP Research or data made available free of access restrictions.
open sourceAP Software whose source is public and may be modified and redistributed.
open standardAP A publicly available specification that anyone may implement without permission or fee.
operand1 One of the values on which an operator operates.
operator overloading15 The process of using special methods to change the way operators work with user-defined types.
overflow errorAP7b An error that happens when a value is too large for the number of bits available to hold it.
override12 To replace a default value with an argument.

P

29 terms
pack11 Collect multiple arguments into a tuple.
packetAP A chunk of data carrying metadata such as its destination, sent across a network.
packet switchingAP Splitting a message into packets that travel independently, possibly by different routes, and are reassembled at the destination.
pair programmingAP Two programmers at one workstation: one drives, one reviews and thinks ahead.
parallel computingAP A program split into operations, some performed simultaneously.
parameterAP3 A name used inside a function to refer to the value passed as an argument.
parent class17 A class that is inherited from.
pass6b,7 A test whose actual result matches its expected value.
path13 A string that specifies a sequence of directories, often leading to a file.
pattern8 A rule that specifies the requirements a string has to meet to constitute a match.
persistent13 A persistent program runs indefinitely and keeps at least some of its data in permanent storage.
phishingAP Tricking a user into revealing private information by impersonating a trusted party.
PIIAP Information that identifies or can be linked to a specific individual.
pixelAP The smallest addressable color element of a display or image.
plagiarismAP Presenting someone else's work as your own.
polymorphism16 The ability of a method or operator to work with multiple types of objects.
postcondition4 A requirement that should be satisfied by the function before it ends.
precondition4 A requirement that should be satisfied by the caller before a function starts.
procedureAP6b The exam's word for a named, reusable block of code, whether or not it returns a value. This book says function. In older languages the two words were distinct: a procedure returned nothing, a function returned a value.
programAP A collection of statements that performs a task when run.
program functionAP6b What a program does when it runs, described as behavior.
program inputAP6b Data a program receives while it is running.
program outputAP6b What a program produces: displayed text, a returned value, a file, a sound, a movement.
program purposeAP6b The need a program serves, or the problem it solves; why it exists.
protocolAP An agreed set of rules governing system behavior.
prototype and patch14 A way of developing programs by starting with a rough draft and gradually adding features and fixing bugs.
pseudorandomAP12 A pseudorandom sequence of numbers appears to be random, but is generated by a deterministic program. (AP calls this RANDOM(a, b) — inclusive on both ends, unlike Python's range.)
public key encryptionAP A public key encrypts; a different private key decrypts.
pure function6,14 A function that does not modify its parameters or have any effect other than returning a value.

R

20 terms
reasonable timeAP Run time that grows polynomially or slower with input size.
receiver15 The object a method is invoked on.
recursion5 The process of calling the function that is currently executing.
recursive5 A function that calls itself is recursive.
redundancyAP Duplicate paths or components that allow operation to continue after a failure.
refactoring4 The process of modifying a working program to improve function interfaces and other qualities of the code.
reference9 The association between a variable and its value.
regression6b A bug that reappears in code that used to work.
regular expression8 A sequence of characters that defines a search pattern.
relational operatorAP5 One of the operators that compares its operands: ==, !=, >, <, >=, and <=.
relative path13 A path that starts from the current working directory, or some other specified directory.
return valueAP6 The result of a function. If a function call is used as an expression, the return value is the value of the expression. (AP calls this the RETURN statement.)
RGBAP7b Color stored as three numbers, the amounts of red, green, and blue, each usually one byte.
rogue access pointAP An unauthorized wireless access point used to intercept network traffic.
roundoff errorAP6b,7b A loss of precision that happens because a fixed number of bits cannot represent some numbers exactly.
routerAP A device that forwards packets between networks toward their destination.
routingAP Determining a path from sender to receiver across a network.
rubber duck debugging12 A way of debugging by explaining a problem aloud to an inanimate object.
run-length encoding7b A lossless scheme that replaces runs of a repeated value with the value and a count.
runtime errorAP2 An error that causes a program to display an error message and exit.

S

26 terms
samplingAP7b Approximating an analog signal by measuring it at regular intervals. Two independent settings: how often you measure (rate) and how precisely you record each measurement (bit depth).
scaffolding6 Code that is used during program development but is not part of the final version.
scalabilityAP A system's ability to keep working acceptably as demand grows.
semantic errorAP2,6b An error that lets the program run but produces a wrong result. (AP calls this a logic error.)
sequence8 An ordered collection of values where each value is identified by an integer index.
sequencingAP Executing steps in the order written.
sequential computingAP Operations performed one at a time, in order.
serialization13 Converting an object to a string.
shallow copy16 A copy operation that does not copy nested objects.
shell command8 A statement in a shell language, which is a language used to interact with an operating system.
side effect6 Any effect a function has other than returning a value, such as displaying output or drawing on a canvas.
simulationAP An abstraction of a real phenomenon using varying values to represent changing states, run for a purpose.
slice8 A part of a string specified by a range of indices.
sort key11 A value, or function that computes a value, used to sort the elements of a collection.
special method15 A method that changes the way operators and some functions work with an object.
specialization17 A way of using inheritance to create a new class that is a specialized version of an existing class.
speedupAP Sequential time divided by parallel time.
stack diagram3 A graphical representation of a stack of functions, their variables, and the values they refer to.
state diagram2 A graphical representation of a set of variables and the values they refer to.
statement2 One or more lines of code that represent a command or action.
static method15 A method that can be invoked without an object as receiver.
stringAP1 A type that represents sequences of characters.
string substitution8 Replacement of a string, or part of a string, with another string.
substringAP A contiguous portion of a string.
symmetric key encryptionAP One shared key both encrypts and decrypts.
syntax errorAP1 An error in a program that makes it impossible to parse — and therefore impossible to run.

T

10 terms
TCPAP Transport protocol providing reliable, ordered delivery with retransmission.
test caseAP6b A specific input paired with its expected output. Good sets include typical, boundary, and edge values.
test discovery18 A process used to find and run tests.
testingAP6b Checking that a program behaves correctly by running it on chosen inputs and comparing what comes out against what should have come out.
totally ordered17 A set of objects is totally ordered if we can compare any two elements and the results are consistent.
traceback3 A list of the functions that are executing, printed when an exception occurs.
traversalAP Iterating over the items of a list. Full traversal visits every element; partial stops early.
trigram12 A sequence of three elements.
Turing complete6 A language, or subset of a language, is Turing complete if it can perform any computation that can be described by an algorithm.
typeAP1 A category of values. The types we have seen so far are integers (type int), floating-point numbers (type float), and strings (type str). (AP calls this data type.)

U

6 terms
UDPAP Lightweight transport protocol with minimal error checking; faster, less reliable.
undecidable problemAP A problem for which no algorithm can always give a correct yes/no answer for every input.
UnicodeAP7b A far larger table, covering the writing systems ASCII left out.
unpack11 Treat a tuple (or other sequence) as multiple arguments.
unreasonable timeAP Run time that grows exponentially or factorially with input size.
update7 An assignment statement that gives a new value to a variable that already exists, rather than creating a new variable.

V

2 terms
value1,10 An integer, floating-point number, string, or other kind of data a program works with. In a dictionary, a value is specifically the second part of a key-value pair.
variableAP2 A name that refers to a value.

W

1 term
world wide webAP A system of linked pages and files that runs on top of the Internet using HTTP.

Z

1 term
zip object11 The result of calling the built-in function zip, can be used to loop through a sequence of tuples.