Variable
A named location that stores a value which can change as the program runs.
Building Blocks
Assignment
Storing a value in a variable (for example, x ← 5).
Building Blocks
Data abstraction
Managing complexity by hiding detail, such as using a list instead of many variables.
Building Blocks
MOD operator
An operator that returns the remainder of a division (17 MOD 5 = 2).
Building Blocks
String
An ordered sequence of characters; strings can be concatenated (joined).
Building Blocks
Boolean value
A value that is either true or false.
Logic
Relational operator
An operator that compares two values and yields a Boolean (=, ≠, <, >, ≤, ≥).
Logic
Logical operator
AND, OR, or NOT, used to combine or reverse Boolean expressions.
Logic
Conditional (selection)
An if / if-else statement that chooses which code runs based on a condition.
Control
Nested conditional
A conditional placed inside another conditional.
Control
Iteration
Repeating a block of code using a count-controlled or condition-controlled loop.
Control
Algorithm
A finite sequence of step-by-step instructions built from sequencing, selection, and iteration.
Control
List
An ordered collection of elements accessed by index.
Lists
Index
The position of an element within a list.
Lists
Traversal
Visiting each element of a list in order, usually with a loop.
Lists
Linear search
Checking each element of a list in order until the target is found.
Search
Binary search
Repeatedly halving a sorted list to find a target efficiently.
Search
Procedure
A named, reusable group of statements that may take parameters and return a value.
Procedures
Parameter
A variable in a procedure's definition that receives an argument when called.
Procedures
Library / API
A collection of reusable procedures, and the description of how to use them.
Procedures
Random value
A value produced by a generator such as RANDOM(a, b), returning an integer from a to b inclusive.
Programs
Simulation
A program that models a real-world phenomenon.
Programs
Algorithmic efficiency
A measure of how an algorithm's run time grows as the input size grows.
Programs
Undecidable problem
A problem for which no algorithm can always give a correct yes-or-no answer.
Programs