48 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
A self-balancing search tree in which each node holds many sorted keys and has many children, keeping the tree shallow so that few nodes need to be read from disk during a search.
The algorithm that calculates how much each weight in a neural network contributed to the loss, by passing the error backwards from the output layer through the hidden layers.
A tree in which, at every node, the heights of the left and right subtrees differ by at most a small fixed amount (at most one in the strictest definition), so that the height stays close to .
The maximum amount of data that a link can carry per second, measured in bits per second.
A control algorithm in which the actuator is switched fully on or fully off depending on whether the measured value is below or above the set point, often with hysteresis (separate on and off thresholds) to stop rapid switching.
A consistency model used by many distributed NoSQL databases that puts availability before immediate consistency. Its letters stand for basic availability (every request gets an answer, even when some copies cannot be reached), soft state (copies may change without new input while updates spread between them) and eventual consistency.
The condition in a recursive subprogram under which it returns a result directly, without calling itself again.
The input of a given size for which an algorithm performs the fewest steps, and the complexity on that input.
A way of marking against level descriptors in which the marker chooses the descriptor that most accurately matches the work overall, so a strength in one aspect can compensate for a weakness in another.
A learnable number added to a neuron's weighted sum, which shifts the threshold at which the neuron activates, independently of its inputs.
A systematic test of an automated decision system, often by an independent party, that compares its outputs and error rates across groups of people to find and measure unfair differences.
Data sets so large, so fast-growing or so varied in form that they cannot be stored and processed efficiently with traditional single-server database tools.
A way of describing the time or space complexity of an algorithm by the term that grows fastest as the input size increases, ignoring constant factors and smaller terms, usually for the worst case.
The base-2 number system, which uses only the digits 0 and 1 and column values that are powers of 2 (1, 2, 4, 8, 16, …).
A data type that stores a large block of raw binary data whose contents the DBMS does not interpret.
A unit prefix based on powers of 1024, as in kibibyte (KiB, 1024 bytes), mebibyte (MiB, bytes) and gibibyte (GiB, bytes).
A search algorithm for a sorted list that compares the target with the middle element of the part still being searched and discards the half that cannot contain it, repeating until the target is found or no elements remain.
A binary tree in which, for every node, every value in its left subtree is less than the node's value and every value in its right subtree is greater.
A tree in which every node has at most two children, identified as the left child and the right child.
A binary digit, the smallest unit of data, which has one of two values, 0 or 1.
The number of bits used to store each sample of a sound, which sets how many different amplitude levels ( for bits) can be recorded.
An image stored as a grid of pixels, with a binary value recording the colour of each pixel.
A system whose inputs and outputs can be observed but whose internal reasoning cannot practically be inspected or understood, either because it is too complex or because it is kept secret.
A list of items, such as IP addresses, ports, websites or devices, that are explicitly blocked, with everything not on the list allowed by default.
A distributed, append-only record of transactions, grouped into blocks that each contain a cryptographic hash of the previous block and are copied across many nodes in a peer-to-peer network.
A data type with exactly two values, true and false, used to store the result of a condition.
The algebra of the two values true (1) and false (0), with operations such as AND, OR and NOT and laws for rewriting and simplifying expressions.
An expression built from Boolean variables, the constants 0 and 1, and Boolean operators, whose value is either true (1) or false (0).
An operation that combines or changes Boolean values: AND, OR, NOT, NAND, NOR, XOR or XNOR.
The firmware program, stored in ROM, that runs when a computer is switched on; it checks the hardware, then loads the operating system from storage into RAM and starts it.
A network of devices infected with malware that an attacker controls remotely, usually through a command-and-control server, without the owners' knowledge.
Test data at the limits of the valid range, and just outside them, used to check that the program accepts and rejects values at exactly the right point.
A diagram of one numerical variable that shows its median, lower and upper quartiles as a box, the spread of the remaining non-outlying values as whiskers, and any outliers as separate points.
Recursion in which a call of the subprogram can make two or more recursive calls, so the calls form a tree.
A statement that ends the innermost loop immediately and continues with the first statement after the loop; the related continue statement skips the rest of the current pass and starts the next one.
A marker placed on a line of code that makes the debugger pause the program just before that line runs.
The set of devices that receive a broadcast sent by any device in the set; a router marks its boundary.
An attack that tries every possible key or password in turn until the correct one is found.
A sorting algorithm that makes repeated passes through a list, comparing each pair of adjacent elements and swapping them if they are in the wrong order, until a pass makes no swaps.
One position in a hash table's array, identified by an index, which holds the key or keys whose hash values lead to it.
An area of main memory that holds data temporarily while it is moved between a program and a slower device such as secondary storage.
A function supplied ready-made by a programming language or its standard library, which a program can call without writing its algorithm.
A set of parallel wires that carries signals between components of a computer, one bit per wire at a time.
A topology in which all nodes share a single cable, the backbone, so every transmission reaches every node.
The technologies and processes that collect, analyse and present an organisation's data, through reports, dashboards, OLAP and data mining, to support decision-making.
A group of 8 bits, the standard unit for measuring storage and for addressing memory.
A compact, platform-independent set of instructions produced by compiling source code, designed to be executed by a virtual machine rather than directly by a CPU.
The part of a virtual machine that executes bytecode one instruction at a time by fetching each instruction, decoding it and running the matching routine, without converting it into native machine code.