108 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
A small amount of very fast memory, inside or next to the CPU core, that holds copies of the instructions and data from RAM that are most likely to be needed next.
A memory access in which the requested instruction or data is found in the cache, so it is supplied quickly without reading RAM.
A memory access in which the requested instruction or data is not in the cache, so it must be fetched from a slower level (a lower cache level or RAM) and is usually copied into the cache for next time.
A stack maintained by the running program that holds one entry for each subprogram call that has started but not yet returned, with the most recent call on top.
A field, or a minimal set of fields, whose values are unique for every record in a table, so that it could be chosen as the primary key.
The result that a distributed data store cannot guarantee all three of consistency (every read sees the latest write), availability (every request receives a response) and partition tolerance (the system continues when network messages between nodes are lost); when a network partition occurs, it must give up either consistency or availability.
The number of elements a dynamic array can hold in its current block of memory before it must allocate a larger block.
The maximum number of instances of one entity that can be related to a single instance of another entity in a relationship, recorded as one or many.
The result of combining two tables so that every row of the first is paired with every row of the second, giving (rows in first) × (rows in second) rows.
A booklet published by the IB before the examination that describes a computing scenario and its challenges, which students research in advance and are then examined on in Paper 1 Section B.
The component of a computer that fetches, decodes and executes the instructions of a program, processing data and coordinating the other hardware.
The centre of a cluster, calculated as the mean of each feature over all the points in the cluster.
The sequence of certificates from a website's certificate through any intermediate certificates to a root certificate, in which each certificate is signed by the one above it and the root is already trusted by the device.
A data type that holds exactly one character, stored as that character's numeric code.
The number that a character set assigns to one character, stored in binary to represent that character.
An agreed list of characters in which each character is given a unique number, so that text can be stored and exchanged as binary.
In Java, an exception that the compiler requires a method either to catch or to declare with throws, used for problems outside the program's control.
A value calculated from a block of data and sent with it, so that the receiver can repeat the calculation and detect whether the data was corrupted in transit.
A node directly below another node and linked to it by an edge; every node except the root is the child of exactly one parent.
In a genetic algorithm, the encoding of one candidate solution.
A way of writing an IP network as an address followed by a slash and the number of bits in its network part.
The unreadable data produced by encrypting plaintext.
A method of communication in which a dedicated path with a fixed capacity is set up between two devices before any data is sent and reserved for them until the communication ends.
A linked list in which the last node's reference points back to the first node, so the nodes form a closed loop with no null reference.
A queue stored in a fixed-size array in which the front and rear pointers wrap round from the last index to index 0, so slots freed by dequeuing are reused.
A short acknowledgement at the point where a source is used, which points the reader to a full entry for that source in a bibliography or reference list.
A template that defines the attributes and methods shared by every object of one kind.
The tree of classes formed by inheritance, with the most general superclass at the root and increasingly specialised subclasses below it.
A situation in which one class is far more common than another in a data set, so that a model can score high accuracy while performing badly on the rare class.
A supervised learning task in which the model predicts which of a fixed set of categories (classes) an input belongs to.
One part of an SQL statement, starting with a keyword such as SELECT, FROM, WHERE or ORDER BY, that does one job in the statement.
A device, or a program running on one, that requests a service or resource from a server.
The person or organisation who has the problem an IA product is built to solve, and who provides requirements, feedback and help with testing.
A networking model in which central servers store resources and provide services, and clients send requests to the servers and receive responses.
A circuit that produces a steady stream of electrical pulses to synchronise the operations of the CPU; its rate, measured in hertz, is the number of pulses (cycles) per second.
A control system that measures its output with sensors and feeds the measurement back to the controller, which compares it with the desired value and adjusts the output to reduce the difference.
The delivery of computing resources, such as servers, storage, databases, software and processing power, over the internet on demand, with the provider owning and maintaining the hardware and the customer paying according to use.
A database hosted and run by a cloud provider and accessed over the internet, often as a managed service in which the provider handles installation, maintenance, backups and scaling.
A service from a cloud provider that rents out machine learning hardware such as GPUs and TPUs on demand, together with storage and tools for training, deploying and monitoring models.
An unsupervised learning task that divides unlabelled examples into groups (clusters) so that examples in the same group are more similar to each other than to examples in other groups.
A processor that supplements the CPU by carrying out one specific type of task, so that the CPU is free for other work.
A measure of how well a regression model fits its data, equal to the proportion of the variation in the dependent variable that the model explains, from 0 (none) to 1 (all).
The four conditions that must all hold at once for deadlock to occur: mutual exclusion, hold and wait, no pre-emption and circular wait.
A recommendation technique that predicts a user's interest in an item from the ratings or behaviour of other users with similar tastes.
The part of a network in which a transmission from one device can collide with a transmission from another.
The number of bits used to store the colour of each pixel; a colour depth of bits allows different colours.
A temporary name given to a column of the result set, or to a table within one query, using the keyword AS.
The instruction word at the start of an examination question that tells the student what kind of answer is required and how much depth it needs.
A user interface in which the user types text commands and the system replies with text output.
The TCL command that ends a transaction successfully, making all its changes permanent and visible to other transactions.
The rule that the order of the operands of AND or OR does not change the result: and
A translator that converts the whole of a program's source code into machine code (or another lower-level form) in one process before the program is executed, reporting the errors it finds in the whole program.
The rule that ANDing a variable with its inverse gives 0, and ORing a variable with its inverse gives 1: and
A primary key made of two or more fields, whose combined values are unique for each record even though each field on its own may repeat.
A strong has-a relationship in which the containing object creates and owns its component objects, which cannot exist independently of it and are destroyed with it.
Encoding data using fewer bits than the original representation, to reduce the storage space it needs or the time it takes to transmit.
The size of the original data divided by the size of the compressed data, usually written as a ratio such as 10 : 1.
The specific area of computing selected for an IA solution, including the kind of product and, usually, the main languages and tools used to build it.
The thought processes involved in formulating a problem and expressing its solution so that a computer, whether a human or a machine, can carry it out effectively.
Two or more computing devices connected by a transmission medium so that they can exchange data and share resources.
A key whose value is formed by joining the values of two or more fields into a single value.
Joining two or more strings end to end to make a new string.
A high-level description of the data an organisation needs, as entities, their attributes and the relationships between them, independent of any database management system or storage method.
A class that implements all of its methods, including every abstract method it inherits, and so can be instantiated.
The methods a DBMS uses to manage transactions that run at the same time so that they do not interfere with each other and the result is the same as if they had run one after another.
A Boolean expression, evaluated while the program runs, whose true or false result controls a selection or a loop.
A loop that repeats its body for as long as a condition remains true (or until it becomes true), so the number of repetitions is not known when the loop starts.
For a rule X → Y, the proportion of the transactions containing X that also contain Y: support of X and Y together divided by support of X.
A table that counts a classifier's predictions against the actual classes, so that each cell shows how many examples of one actual class were predicted as each class.
The condition in which more traffic is sent across a link or device than it can carry, causing delays and lost packets.
A small circle containing a label (a letter or number) that joins two parts of a flowchart without drawing a flowline between them; the flow continues from one connector to the other connector with the same label.
A person's free, specific and informed agreement to their data being collected and used for a stated purpose, which they can also withdraw.
The "then" part of an association rule, the itemset on the right of the arrow, which tends to occur when the antecedent does.
The property that a transaction takes the database from one valid state to another, so that every constraint and rule holds after the transaction commits.
A named value that is set once and cannot be changed while the program runs.
A complexity in which the number of steps stays the same however large the input becomes.
A restriction that a solution must work within, such as a limit on time, budget, hardware, software, law or the skills of its users.
A special method that runs automatically when an object is created and sets the initial values of the object's attributes.
A group of servers in many locations that store copies of content and deliver each request from the server nearest the user.
The process by which an online platform reviews user-generated content and removes, restricts or labels material that breaks its rules or the law, using automated classifiers, human moderators or both.
A set of rules a website sends to the browser in an HTTP header, stating which sources of scripts, styles and other content the browser may load and run for that site.
The act of saving the state of the process currently using the CPU and loading the saved state of another process, so that the CPU can be passed between processes without either losing its place.
The set of rules, implemented in software, that a controller uses to calculate its outputs from the sensor inputs and the set point.
The bus that carries control and timing signals between the CPU and other components, such as memory read, memory write, clock pulses and interrupt requests.
A system of hardware and software that manages the behaviour of a device or process by processing inputs and producing outputs that act on it, often using feedback to keep a measured quantity close to a target value.
The part of the CPU that decodes each instruction and sends control signals that coordinate the other components, directing the flow of data between the registers, the ALU, memory and input/output devices.
The component of a control system that receives data from sensors, compares it with the set point using a control algorithm, and sends output signals to the actuators.
The point at which a repeated learning process stops changing its result.
The state in which, after a change in the network, every router has received the updates and recalculated its routes, so that all routing tables agree on the new topology; convergence time is how long this takes.
A layer of a CNN that slides each of its kernels across its input, calculating a weighted sum at every position, to produce one feature map per kernel.
A deep neural network designed for images and other grid-like data, which uses convolutional layers of small learnable kernels and pooling layers to learn features from local regions, followed by fully connected layers that classify.
The build-up of short processes waiting behind one long process under first-come, first-served scheduling, which raises the average waiting time and leaves devices idle while the long process holds the CPU.
An independent processing unit within a processor, with its own control unit, ALU and registers, able to fetch, decode and execute its own stream of instructions.
A number from −1 to +1 that measures the strength and direction of the straight-line relationship between two variables.
A loop that repeats its body a number of times fixed before the loop starts, using a loop variable that steps through a range of values.
A variable that counts how many times something happens, usually starting at 0 and increased by 1 each time the event occurs.
The degree to which one class depends on the internal details of another, so that a change to one forces changes to the other.
Describes software that runs on several operating systems or types of hardware from the same source code or the same distributed file.
An attack in which a website includes untrusted input in a page without encoding it, so that a script supplied by the attacker runs in other users' browsers with the trusted site's permissions.
A method of evaluating a model in which the data is split into k equal parts (folds) and the model is trained k times, each time on k − 1 folds and validated on the remaining fold, with the k scores averaged.
In a genetic algorithm, the operation that combines parts of two parent chromosomes to produce one or more child chromosomes.
Interference in which the signal carried by one wire or pair of wires is picked up by an adjacent wire or pair in the same cable.
A way of drawing ERDs in which entities are boxes, relationships are lines between them, and a pair of symbols at each end of a line shows the cardinality and modality at that end.
An algorithm that turns input of any length into a fixed-length value (a digest) in such a way that the same input always gives the same digest, any change to the input gives a completely different digest, and the input cannot practically be worked out from the digest.
The total reward an agent collects over a sequence of actions, which it tries to maximise.
The collection of problems that arise as the number of features grows, including sparse data, the need for exponentially more records, distances between records becoming similar, overfitting, and rising computation and memory costs.
Dividing a customer base into groups whose members behave similarly, so that each group can be targeted differently.