| Term | Definition |
|---|---|
| assignment operator | A symbol or operator that allows a program to assign a value to a variable, changing what the variable represents. |
| Boolean | A data type that represents one of two values: true or false. |
| collection | A data structure that contains multiple values grouped together and can be represented by a single variable. |
| data storage | The memory location within a program where a variable's value is stored. |
| data type | A classification that specifies what kind of value a variable can hold, such as numbers, Booleans, lists, or strings. |
| expression | A combination of a value, variable, operator, or procedure call that can be evaluated to produce a single value. |
| list | An ordered sequence of elements, where each element is assigned a unique index for reference. |
| number | A data type that represents numeric values used in calculations and comparisons. |
| string | An ordered sequence of characters. |
| variable | A named container in a program that stores a value which can be changed through assignment. |
| Term | Definition |
|---|---|
| APPEND | A list procedure that adds a value to the end of a list, increasing its length by 1. |
| average | The mean value of a list of numbers, calculated by dividing the sum of all elements by the number of elements. |
| complete traversal | A list traversal where all elements in the list are accessed. |
| FOR EACH loop | An iteration statement that assigns each element of a list to a variable sequentially and executes a block of statements for each element. |
| index | The position of an element within a list, numbered starting from 1 through the length of the list. |
| INSERT | A list procedure that adds a value at a specified index, shifting existing elements to the right. |
| iteration statement | A control structure used to repeat a block of code, such as a FOR EACH loop, to traverse through elements of a list. |
| LENGTH | A list procedure that returns the number of elements currently in a list. |
| list indexing | The process of accessing elements in a list by their position, where the first element is at index 1. |
| list procedures | Built-in operations that manipulate lists, such as INSERT, APPEND, REMOVE, and LENGTH. |
| list traversal | The process of accessing elements in a list, either completely (visiting all elements) or partially (visiting only some elements). |
| maximum value | The largest element in a list, which can be determined using an iteration algorithm. |
| minimum value | The smallest element in a list, which can be determined using an iteration algorithm. |
| partial traversal | A list traversal where only a portion of the elements in the list are accessed. |
| REMOVE | A list procedure that deletes an element at a specified index and shifts remaining elements to the left. |
| sequential search | A search algorithm that examines each element in a data set one by one in order until the desired value is found. |
| sum | The total obtained by adding all elements in a list of numbers, which can be computed using iteration. |
| Term | Definition |
|---|---|
| binary search algorithm | A 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. |
| iterations | The repeated cycles or steps of a process; in binary search, the number of times the algorithm divides the data set in half. |
| sequential search | A search algorithm that examines each element in a data set one by one in order until the desired value is found. |
| sorted data | Data arranged in a specific order (ascending or descending) that is required for binary search to function correctly. |
| Term | Definition |
|---|---|
| argument | The actual values passed to a procedure when it is called, which correspond to the procedure's parameters. |
| flow of control | The order in which statements are executed in a program, including how control transfers to and from procedures. |
| parameter | Variables in a procedure that allow it to accept different input values, enabling the procedure to be generalized and reused with a range of inputs. |
| procedure | A named block of reusable code that performs a specific task and can be called multiple times throughout a program. |
| procedure call | A statement that executes a named procedure, interrupting sequential execution and transferring control to the procedure. |
| return values | Values that a procedure sends back to the point where it was called. |
| sequential execution | The execution of programming statements in the order they appear, one after another. |
| Term | Definition |
|---|---|
| argument | The actual values passed to a procedure when it is called, which correspond to the procedure's parameters. |
| code readability | The quality of being easy to understand and follow in a program, which is improved through the use of procedural abstraction. |
| code reuse | The practice of using existing procedures or code in multiple places within a program to avoid duplication and manage complexity. |
| modularity | The subdivision of a computer program into separate subprograms or modules to manage complexity. |
| parameter | Variables 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 abstraction | A 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. |
| procedure | A named block of reusable code that performs a specific task and can be called multiple times throughout a program. |
| RETURN statement | A statement that causes a procedure to immediately exit and return a value to the calling statement. |
| subproblems | Smaller, more manageable problems that together form the solution to a larger problem in a program. |
| Term | Definition |
|---|---|
| application program interface | Specifications that define how procedures in a library behave and how they can be used in programs. |
| code segment | A portion of a program consisting of one or more lines of code that performs a specific function. |
| documentation | Written information that explains the behaviors provided by an API or library and how to use them. |
| procedure | A named block of reusable code that performs a specific task and can be called multiple times throughout a program. |
| software library | A collection of pre-written procedures and code that can be reused in creating new programs. |
| Term | Definition |
|---|---|
| random integer | A whole number selected randomly from a specified range, where each integer in that range has an equal probability of being chosen. |
| random number generation | The process of using a program function to produce unpredictable numeric values, where each program execution may produce different results. |
| random values | Numbers 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. |
| Term | Definition |
|---|---|
| abstractions | Simplified representations of more complex objects or phenomena created by removing specific details or simplifying functionality. |
| bias | Prejudice or systematic error in computing innovations that can result from algorithms or data, reflecting existing human prejudices. |
| hypotheses | Testable predictions or proposed explanations about objects or phenomena that can be formulated and refined through simulations. |
| random number generators | Computational tools that produce sequences of random values to simulate the variability and unpredictability found in real-world events. |
| real-world phenomena | Events, processes, or systems that occur in nature or society that can be represented or studied through computational models. |
| simulations | Abstractions of real-world objects or phenomena that use varying sets of values to represent changing states for a specific purpose. |
| variability | The natural differences and unpredictability that exist in real-world systems and can be represented in simulations. |
| Term | Definition |
|---|---|
| algorithm | Step-by-step procedures or sets of rules designed to solve a problem or accomplish a task. |
| approximate solution | A solution that is not guaranteed to be optimal but is sought when efficient algorithms for finding optimal solutions are impractical. |
| decision problem | A problem that requires a yes-or-no answer as output. |
| efficiency | An 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 efficiency | An algorithm's efficiency that grows exponentially with input size, causing it to run in an unreasonable amount of time. |
| factorial efficiency | An algorithm's efficiency that grows at a factorial rate with input size, causing it to run in an unreasonable amount of time. |
| heuristic | An 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 problem | A problem with the goal of finding the best solution among many possible solutions. |
| polynomial efficiency | An 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. |
| problem | A general description of a task that can or cannot be solved algorithmically, which may have specific inputs or instances. |
| reasonable time | Algorithms with polynomial efficiency or lower (constant, linear, square, cube, etc.) that can be solved in a practical amount of time. |
| unreasonable time | Algorithms with exponential or factorial efficiencies that require impractically long amounts of time to solve. |
| Term | Definition |
|---|---|
| algorithm | Step-by-step procedures or sets of rules designed to solve a problem or accomplish a task. |
| decidable problem | A decision problem for which an algorithm can be written to produce a correct output for all inputs. |
| decision problem | A problem that requires a yes-or-no answer as output. |
| undecidable problem | A problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer for all instances. |
| Term | Definition |
|---|---|
| complexity | The degree of difficulty in understanding and maintaining program code, which data abstractions help reduce by hiding implementation details. |
| data abstraction | A 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. |
| element | An individual value in a list that is assigned a unique index. |
| index | The position of an element within a list, numbered starting from 1 through the length of the list. |
| list | An ordered sequence of elements, where each element is assigned a unique index for reference. |
| string | An ordered sequence of characters. |
| Term | Definition |
|---|---|
| addition | An arithmetic operation represented by the + symbol that combines two numbers to produce their sum. |
| algorithm | Step-by-step procedures or sets of rules designed to solve a problem or accomplish a task. |
| arithmetic operators | Symbols used in programming to perform mathematical operations, including addition, subtraction, multiplication, division, and modulus. |
| code statement | A part of program code that expresses an action to be carried out. |
| division | An arithmetic operation represented by the / symbol that splits one number by another to produce a quotient. |
| expression | A combination of a value, variable, operator, or procedure call that can be evaluated to produce a single value. |
| iteration | A repeating portion of an algorithm that executes a specified number of times or until a given condition is met. |
| modulus operator | An arithmetic operator represented as MOD that evaluates to the remainder when one integer is divided by another. |
| multiplication | An arithmetic operation represented by the * symbol that combines two numbers to produce their product. |
| operator | A symbol or keyword that performs an operation on one or more values or variables. |
| order of operations | The 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 call | A statement that executes a named procedure, interrupting sequential execution and transferring control to the procedure. |
| pseudocode | A method of expressing an algorithm using a combination of natural language and programming-like syntax, independent of any specific programming language. |
| selection | A control structure that determines which parts of an algorithm are executed based on whether a condition is true or false. |
| sequencing | The application of each step of an algorithm in the order in which the code statements are given. |
| sequential code statements | Lines of code that are executed in the order they appear, one after another. |
| subtraction | An arithmetic operation represented by the - symbol that finds the difference between two numbers. |
| variable | A named container in a program that stores a value which can be changed through assignment. |
| Term | Definition |
|---|---|
| string concatenation | The operation of joining two or more strings end-to-end to create a new string. |
| substring | A contiguous sequence of characters that forms part of an existing string. |
| Term | Definition |
|---|---|
| AND | A logical operator that evaluates to true only if both conditions are true; otherwise it evaluates to false. |
| Boolean expression | An expression that evaluates to either true or false, often composed of conditions combined with logical operators. |
| Boolean value | A value that is either true or false, representing the result of a comparison or logical operation. |
| logical operators | Operators such as NOT, AND, and OR that are used to combine or modify Boolean expressions to produce a Boolean result. |
| NOT | A logical operator that evaluates to true if the condition is false, and evaluates to false if the condition is true. |
| operand | A value or expression that a logical operator acts upon, which can be either a Boolean expression or a single Boolean value. |
| OR | A logical operator that evaluates to true if at least one condition is true; otherwise it evaluates to false. |
| relational operators | Symbols used to compare two variables, expressions, or values, including =, ≠, >, <, ≥, and ≤. |
| Term | Definition |
|---|---|
| algorithm | Step-by-step procedures or sets of rules designed to solve a problem or accomplish a task. |
| Boolean expression | An expression that evaluates to either true or false, often composed of conditions combined with logical operators. |
| condition | A statement that evaluates to either true or false, used to determine the flow of execution in a selection structure. |
| conditional statement | A programming construct that executes different code blocks based on whether a specified condition is true or false. |
| ELSE | A keyword used in conditional statements to specify a block of code that executes when the Boolean condition is false. |
| if-statements | A type of conditional statement that executes a block of code only if a specified Boolean condition is true. |
| selection | A control structure that determines which parts of an algorithm are executed based on whether a condition is true or false. |
| sequential flow of control | The order in which statements are executed in a program; conditional statements can alter this flow by executing different code based on conditions. |
| Term | Definition |
|---|---|
| conditional statement | A programming construct that executes different code blocks based on whether a specified condition is true or false. |
| nested conditional statements | Conditional statements that are placed within other conditional statements, allowing for more complex decision-making logic based on multiple conditions. |
| Term | Definition |
|---|---|
| algorithm | Step-by-step procedures or sets of rules designed to solve a problem or accomplish a task. |
| Boolean expression | An expression that evaluates to either true or false, often composed of conditions combined with logical operators. |
| condition | A statement that evaluates to either true or false, used to determine the flow of execution in a selection structure. |
| infinite loop | A loop that never terminates because the ending condition will never evaluate to true. |
| iteration | A repeating portion of an algorithm that executes a specified number of times or until a given condition is met. |
| iteration statements | Programming statements that repeat a block of code zero or more times until a stopping condition is met. |
| loop body | The block of statements that is repeated within an iteration statement. |
| REPEAT n TIMES | An 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 control | The order in which statements are executed in a program; conditional statements can alter this flow by executing different code based on conditions. |
| stopping condition | A Boolean expression that, when true, causes an iteration loop to terminate. |
| Term | Definition |
|---|---|
| algorithm | Step-by-step procedures or sets of rules designed to solve a problem or accomplish a task. |
| average | The mean value of a list of numbers, calculated by dividing the sum of all elements by the number of elements. |
| Boolean expression | An expression that evaluates to either true or false, often composed of conditions combined with logical operators. |
| conditional statement | A programming construct that executes different code blocks based on whether a specified condition is true or false. |
| equivalent | Having the same value, result, or effect; in algorithms, producing identical outcomes or side effects. |
| evenly divisible | A condition where one integer divides another integer with no remainder. |
| maximum value | The largest element in a list, which can be determined using an iteration algorithm. |
| minimum value | The smallest element in a list, which can be determined using an iteration algorithm. |
| side effect | Any change in state or output that occurs as a result of executing an algorithm, beyond its primary return value. |
| sum | The total obtained by adding all elements in a list of numbers, which can be computed using iteration. |