upgrade
upgrade
📱AP Computer Science Principles Unit 3 Vocabulary

144 essential vocabulary terms and definitions for Unit 3 – Algorithms & Programming Fundamentals

Study Unit 3
Practice Vocabulary
📱Unit 3 – Algorithms & Programming Fundamentals
Topics

📱Unit 3 – Algorithms & Programming Fundamentals

3.1 Variables and Assignments

TermDefinition
assignment operatorA symbol or operator that allows a program to assign a value to a variable, changing what the variable represents.
BooleanA data type that represents one of two values: true or false.
collectionA data structure that contains multiple values grouped together and can be represented by a single variable.
data storageThe memory location within a program where a variable's value is stored.
data typeA classification that specifies what kind of value a variable can hold, such as numbers, Booleans, lists, or strings.
expressionA combination of a value, variable, operator, or procedure call that can be evaluated to produce a single value.
listAn ordered sequence of elements, where each element is assigned a unique index for reference.
numberA data type that represents numeric values used in calculations and comparisons.
stringAn ordered sequence of characters.
variableA named container in a program that stores a value which can be changed through assignment.

3.10 Lists

TermDefinition
APPENDA list procedure that adds a value to the end of a list, increasing its length by 1.
averageThe mean value of a list of numbers, calculated by dividing the sum of all elements by the number of elements.
complete traversalA list traversal where all elements in the list are accessed.
FOR EACH loopAn iteration statement that assigns each element of a list to a variable sequentially and executes a block of statements for each element.
indexThe position of an element within a list, numbered starting from 1 through the length of the list.
INSERTA list procedure that adds a value at a specified index, shifting existing elements to the right.
iteration statementA control structure used to repeat a block of code, such as a FOR EACH loop, to traverse through elements of a list.
LENGTHA list procedure that returns the number of elements currently in a list.
list indexingThe process of accessing elements in a list by their position, where the first element is at index 1.
list proceduresBuilt-in operations that manipulate lists, such as INSERT, APPEND, REMOVE, and LENGTH.
list traversalThe process of accessing elements in a list, either completely (visiting all elements) or partially (visiting only some elements).
maximum valueThe largest element in a list, which can be determined using an iteration algorithm.
minimum valueThe smallest element in a list, which can be determined using an iteration algorithm.
partial traversalA list traversal where only a portion of the elements in the list are accessed.
REMOVEA list procedure that deletes an element at a specified index and shifts remaining elements to the left.
sequential searchA search algorithm that examines each element in a data set one by one in order until the desired value is found.
sumThe total obtained by adding all elements in a list of numbers, which can be computed using iteration.

3.11 Binary Search

TermDefinition
binary search algorithmA search algorithm that starts at the middle of a sorted data set and eliminates half of the remaining data with each iteration until the desired value is found or all elements are eliminated.
iterationsThe repeated cycles or steps of a process; in binary search, the number of times the algorithm divides the data set in half.
sequential searchA search algorithm that examines each element in a data set one by one in order until the desired value is found.
sorted dataData arranged in a specific order (ascending or descending) that is required for binary search to function correctly.

3.12 Calling Procedures

TermDefinition
argumentThe actual values passed to a procedure when it is called, which correspond to the procedure's parameters.
flow of controlThe order in which statements are executed in a program, including how control transfers to and from procedures.
parameterVariables in a procedure that allow it to accept different input values, enabling the procedure to be generalized and reused with a range of inputs.
procedureA named block of reusable code that performs a specific task and can be called multiple times throughout a program.
procedure callA statement that executes a named procedure, interrupting sequential execution and transferring control to the procedure.
return valuesValues that a procedure sends back to the point where it was called.
sequential executionThe execution of programming statements in the order they appear, one after another.

3.13 Developing Procedures

TermDefinition
argumentThe actual values passed to a procedure when it is called, which correspond to the procedure's parameters.
code readabilityThe quality of being easy to understand and follow in a program, which is improved through the use of procedural abstraction.
code reuseThe practice of using existing procedures or code in multiple places within a program to avoid duplication and manage complexity.
modularityThe subdivision of a computer program into separate subprograms or modules to manage complexity.
parameterVariables in a procedure that allow it to accept different input values, enabling the procedure to be generalized and reused with a range of inputs.
procedural abstractionA programming technique that provides a name for a process and allows a procedure to be used by knowing what it does without needing to know how it works internally.
procedureA named block of reusable code that performs a specific task and can be called multiple times throughout a program.
RETURN statementA statement that causes a procedure to immediately exit and return a value to the calling statement.
subproblemsSmaller, more manageable problems that together form the solution to a larger problem in a program.

3.14 Libraries

TermDefinition
application program interfaceSpecifications that define how procedures in a library behave and how they can be used in programs.
code segmentA portion of a program consisting of one or more lines of code that performs a specific function.
documentationWritten information that explains the behaviors provided by an API or library and how to use them.
procedureA named block of reusable code that performs a specific task and can be called multiple times throughout a program.
software libraryA collection of pre-written procedures and code that can be reused in creating new programs.

3.15 Random Values

TermDefinition
random integerA whole number selected randomly from a specified range, where each integer in that range has an equal probability of being chosen.
random number generationThe process of using a program function to produce unpredictable numeric values, where each program execution may produce different results.
random valuesNumbers generated by a program where each possible outcome is equally likely to occur, and the specific result cannot be predicted in advance.
RANDOM(a, b)A function that generates and returns a random integer from a to b, inclusive, where each result is equally likely to occur.

3.16 Simulations

TermDefinition
abstractionsSimplified representations of more complex objects or phenomena created by removing specific details or simplifying functionality.
biasPrejudice or systematic error in computing innovations that can result from algorithms or data, reflecting existing human prejudices.
hypothesesTestable predictions or proposed explanations about objects or phenomena that can be formulated and refined through simulations.
random number generatorsComputational tools that produce sequences of random values to simulate the variability and unpredictability found in real-world events.
real-world phenomenaEvents, processes, or systems that occur in nature or society that can be represented or studied through computational models.
simulationsAbstractions of real-world objects or phenomena that use varying sets of values to represent changing states for a specific purpose.
variabilityThe natural differences and unpredictability that exist in real-world systems and can be represented in simulations.

3.17 Algorithmic Efficiency

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
approximate solutionA solution that is not guaranteed to be optimal but is sought when efficient algorithms for finding optimal solutions are impractical.
decision problemA problem that requires a yes-or-no answer as output.
efficiencyAn estimation of the amount of computational resources (such as time or memory) used by an algorithm, typically expressed as a function of the input size.
exponential efficiencyAn algorithm's efficiency that grows exponentially with input size, causing it to run in an unreasonable amount of time.
factorial efficiencyAn algorithm's efficiency that grows at a factorial rate with input size, causing it to run in an unreasonable amount of time.
heuristicAn approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that always find an optimal solution are impractical.
optimization problemA problem with the goal of finding the best solution among many possible solutions.
polynomial efficiencyAn algorithm's efficiency that grows at a polynomial rate (constant, linear, square, cube, etc.) relative to input size, allowing it to run in reasonable time.
problemA general description of a task that can or cannot be solved algorithmically, which may have specific inputs or instances.
reasonable timeAlgorithms with polynomial efficiency or lower (constant, linear, square, cube, etc.) that can be solved in a practical amount of time.
unreasonable timeAlgorithms with exponential or factorial efficiencies that require impractically long amounts of time to solve.

3.18 Undecidable Problems

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
decidable problemA decision problem for which an algorithm can be written to produce a correct output for all inputs.
decision problemA problem that requires a yes-or-no answer as output.
undecidable problemA problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer for all instances.

3.2 Data Abstraction

TermDefinition
complexityThe degree of difficulty in understanding and maintaining program code, which data abstractions help reduce by hiding implementation details.
data abstractionA programming technique that separates the abstract properties of a data type from the concrete details of its representation, allowing complex data to be managed with a simple name.
elementAn individual value in a list that is assigned a unique index.
indexThe position of an element within a list, numbered starting from 1 through the length of the list.
listAn ordered sequence of elements, where each element is assigned a unique index for reference.
stringAn ordered sequence of characters.

3.3 Mathematical Expressions

TermDefinition
additionAn arithmetic operation represented by the + symbol that combines two numbers to produce their sum.
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
arithmetic operatorsSymbols used in programming to perform mathematical operations, including addition, subtraction, multiplication, division, and modulus.
code statementA part of program code that expresses an action to be carried out.
divisionAn arithmetic operation represented by the / symbol that splits one number by another to produce a quotient.
expressionA combination of a value, variable, operator, or procedure call that can be evaluated to produce a single value.
iterationA repeating portion of an algorithm that executes a specified number of times or until a given condition is met.
modulus operatorAn arithmetic operator represented as MOD that evaluates to the remainder when one integer is divided by another.
multiplicationAn arithmetic operation represented by the * symbol that combines two numbers to produce their product.
operatorA symbol or keyword that performs an operation on one or more values or variables.
order of operationsThe set of rules that specifies which calculations to perform first in a mathematical expression, with MOD having the same precedence as multiplication and division.
procedure callA statement that executes a named procedure, interrupting sequential execution and transferring control to the procedure.
pseudocodeA method of expressing an algorithm using a combination of natural language and programming-like syntax, independent of any specific programming language.
selectionA control structure that determines which parts of an algorithm are executed based on whether a condition is true or false.
sequencingThe application of each step of an algorithm in the order in which the code statements are given.
sequential code statementsLines of code that are executed in the order they appear, one after another.
subtractionAn arithmetic operation represented by the - symbol that finds the difference between two numbers.
variableA named container in a program that stores a value which can be changed through assignment.

3.4 Strings

TermDefinition
string concatenationThe operation of joining two or more strings end-to-end to create a new string.
substringA contiguous sequence of characters that forms part of an existing string.

3.5 Boolean Expressions

TermDefinition
ANDA logical operator that evaluates to true only if both conditions are true; otherwise it evaluates to false.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
Boolean valueA value that is either true or false, representing the result of a comparison or logical operation.
logical operatorsOperators such as NOT, AND, and OR that are used to combine or modify Boolean expressions to produce a Boolean result.
NOTA logical operator that evaluates to true if the condition is false, and evaluates to false if the condition is true.
operandA value or expression that a logical operator acts upon, which can be either a Boolean expression or a single Boolean value.
ORA logical operator that evaluates to true if at least one condition is true; otherwise it evaluates to false.
relational operatorsSymbols used to compare two variables, expressions, or values, including =, ≠, >, <, ≥, and ≤.

3.6 Conditionals

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
conditionA statement that evaluates to either true or false, used to determine the flow of execution in a selection structure.
conditional statementA programming construct that executes different code blocks based on whether a specified condition is true or false.
ELSEA keyword used in conditional statements to specify a block of code that executes when the Boolean condition is false.
if-statementsA type of conditional statement that executes a block of code only if a specified Boolean condition is true.
selectionA control structure that determines which parts of an algorithm are executed based on whether a condition is true or false.
sequential flow of controlThe order in which statements are executed in a program; conditional statements can alter this flow by executing different code based on conditions.

3.7 Nested Conditionals

TermDefinition
conditional statementA programming construct that executes different code blocks based on whether a specified condition is true or false.
nested conditional statementsConditional statements that are placed within other conditional statements, allowing for more complex decision-making logic based on multiple conditions.

3.8 Iteration

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
conditionA statement that evaluates to either true or false, used to determine the flow of execution in a selection structure.
infinite loopA loop that never terminates because the ending condition will never evaluate to true.
iterationA repeating portion of an algorithm that executes a specified number of times or until a given condition is met.
iteration statementsProgramming statements that repeat a block of code zero or more times until a stopping condition is met.
loop bodyThe block of statements that is repeated within an iteration statement.
REPEAT n TIMESAn iteration statement that executes a block of statements exactly n times.
REPEAT UNTIL(condition)An iteration statement that repeats a block of statements until a Boolean condition evaluates to true.
sequential flow of controlThe order in which statements are executed in a program; conditional statements can alter this flow by executing different code based on conditions.
stopping conditionA Boolean expression that, when true, causes an iteration loop to terminate.

3.9 Developing Algorithms

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
averageThe mean value of a list of numbers, calculated by dividing the sum of all elements by the number of elements.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
conditional statementA programming construct that executes different code blocks based on whether a specified condition is true or false.
equivalentHaving the same value, result, or effect; in algorithms, producing identical outcomes or side effects.
evenly divisibleA condition where one integer divides another integer with no remainder.
maximum valueThe largest element in a list, which can be determined using an iteration algorithm.
minimum valueThe smallest element in a list, which can be determined using an iteration algorithm.
side effectAny change in state or output that occurs as a result of executing an algorithm, beyond its primary return value.
sumThe total obtained by adding all elements in a list of numbers, which can be computed using iteration.