70 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
The rule that a term containing a variable is redundant when it is combined with that variable on its own: and .
A class that cannot be instantiated, used as a superclass to share code and to declare methods that its subclasses must provide.
A description of a collection of data in terms of the values it can hold and the operations that can be performed on it, independent of how the data is stored or how the operations are coded.
A method declared without a body in an abstract class or interface, which every concrete subclass must override with an implementation.
Focusing on the features of a problem that are essential for a given purpose and removing unnecessary detail, to produce a simpler model or overview of the problem.
The principle of exposing what an object can do through a set of method declarations while hiding how each class carries out those methods.
Honest and responsible conduct in academic work, in which submitted work is authentic and the student's own, and the ideas and work of others are fully acknowledged.
Testing of the complete product by its client or intended users, carrying out real tasks, to decide whether it meets the agreed requirements.
The security function that decides which users and programs may use which resources, and in what way (read, write or execute), according to rules set by the owner or administrator.
A keyword that sets which parts of a program may use a class member, such as private (only code in the same class) or public (any code).
A public method that returns the value of an object's attribute without changing it, usually named getX() (Java) or get_x() (Python).
The obligation of the people and organisations who build and deploy a system to take responsibility for its decisions and their consequences, to explain them, and to put right any harm caused.
The operating system function that records how much of each resource (CPU time, memory, storage, network data) each user and process uses, for monitoring, quotas and billing.
A register that holds the result of the most recent ALU operation and supplies one of the inputs to the next.
A variable that builds up a result, such as a running total or product, by being updated with each value processed inside a loop.
The proportion of all predictions that a classifier gets right: (TP + TN) divided by the total number of examples.
The four properties that a DBMS guarantees for every transaction so that transactions are processed reliably: atomicity, consistency, isolation and durability.
A message from the receiver confirming that data has arrived, which in TCP gives the sequence number of the next byte the receiver expects.
One of the choices available to an agent in a state, which changes the environment and leads to a reward and a new state.
The function a neuron applies to its weighted sum to produce its output; non-linear activation functions let networks model non-linear patterns.
An output device that converts a control signal into physical action.
The bus that carries memory addresses from the CPU (from the MAR) to main memory, in one direction only.
The symmetric block cipher standardised by the US National Institute of Standards and Technology (NIST) in 2001, which encrypts data in 128-bit blocks using a key of 128, 192 or 256 bits.
An input deliberately altered, often by changes too small for a person to notice, so that a machine learning model gives a wrong output.
A technique that prevents starvation by gradually raising the priority of a process the longer it waits in the ready queue.
In reinforcement learning, the program that observes its environment, chooses actions and learns from the rewards those actions earn.
An SQL function that takes the values of a column from many rows (a whole table or one group) and returns a single summary value; the standard ones are AVG, COUNT, MAX, MIN and SUM.
A weak has-a relationship in which the containing object holds references to component objects that are created outside it, can be shared or moved, and continue to exist when it is destroyed.
An approach to software development in which a product is built in a series of short cycles, each delivering a working, tested part of the product, with the requirements and the plan reviewed with the client between cycles.
Compiling a program fully into native machine code for a target platform before it is run, so that no translation is needed while it executes.
A precise, finite sequence of well-defined instructions that solves a problem or performs a task.
A systematic and repeatable error in a computer system that produces unfair outcomes, such as favouring or disadvantaging one group of people over another.
The process of developing a step-by-step series of instructions that solves a problem, and refining it until it is correct and efficient.
A measure of the amount of computing resources, mainly time and memory, that an algorithm uses as the size of its input increases.
The property of an automated decision system whose outcomes or error rates do not unjustly differ between groups of people, measured against a stated definition of fairness.
A formula that gives the maximum speed-up of a task when part of it is run in parallel on several processors, showing that the part that must run sequentially limits the overall speed-up.
A signal that varies continuously, so it can take any value within a range at any moment in time.
A circuit that measures an analogue signal at regular intervals and outputs each measurement as a binary number.
A logic gate whose output is 1 only when all of its inputs are 1.
A data mining technique that identifies records, events or observations that differ significantly from the normal pattern of the data, such as fraudulent transactions or faulty sensor readings.
The condition of acting or communicating without one's identity being known; pseudonymity is acting under a consistent false name that is not linked to one's real identity.
The "if" part of an association rule, the itemset on the left of the arrow.
Data stored so that new records are only ever added to the end of the existing data, and existing records are never modified or removed.
The top layer of the TCP/IP model, which holds the protocols that programs use to exchange data for a particular service.
A documented set of functions, rules and data formats that one piece of software offers so that other software can use its services without knowing how they are implemented.
Software that performs a specific task for the user, rather than managing the computer itself.
A chip designed and manufactured to perform one specific task, giving the highest speed and energy efficiency for that task but unable to be changed for other tasks.
An algorithm for association rule mining that finds frequent itemsets level by level (single items, then pairs, then triples), counting only candidate itemsets whose subsets are all frequent, then builds rules from them that meet a minimum confidence.
A value or expression supplied in a subprogram call, which is copied into the matching parameter.
The part of the CPU that performs arithmetic operations, such as addition and subtraction, and logical operations, such as AND, OR, NOT and comparisons.
A symbol that performs a mathematical calculation on numeric values and produces a numeric result.
A fixed-size, ordered collection of elements of the same data type, stored contiguously in memory and accessed by an integer index starting at 0.
A Java class that stores an ordered, indexed collection of objects in an internal array, which it replaces with a larger one automatically when it fills.
The field of computer science that builds systems able to perform tasks normally thought to need human intelligence, such as recognising speech, making decisions or playing games.
The European Union regulation, in force from 1 August 2024 with its provisions phased in over the following 6 to 36 months, that regulates AI systems according to their level of risk.
A machine learning model made of layers of connected units (artificial neurons), in which each unit combines its weighted inputs and passes the result to the next layer; training adjusts the weights.
The American Standard Code for Information Interchange, a 7-bit character set of 128 codes covering the English alphabet, digits, punctuation and control characters.
One of the skills the IB assesses in a course, numbered from AO1 (knowledge and understanding) through AO2 (applying knowledge) to AO3 (constructing, analysing and evaluating).
A statement that evaluates an expression and stores the result in a variable, replacing any value the variable held before.
A relationship between two classes in which objects of one class are connected to, and can use, objects of the other, drawn in UML as a solid line between the classes.
A rule of the form X → Y ("if X, then Y") stating that when the items or events in X occur in a record, the items or events in Y also tend to occur, together with measures of how often and how reliably this holds.
The rule that the grouping of three or more operands joined by the same operator does not change the result: and
Encryption that uses a mathematically related pair of keys, in which data encrypted with one key of the pair can only be decrypted with the other.
A value that cannot be split into smaller parts that the database needs to use separately, so that each field of each record holds exactly one such value.
The property that a transaction is all or nothing: either every one of its changes is applied, or, if any part fails, none of them is.
The gradual loss of strength of a signal as it travels through a transmission medium, which limits how far it can go before it must be amplified or regenerated.
A named item of data that a class declares and each object holds a value for.
Technology that overlays computer-generated images, sound or information onto a person's view of the real world in real time, through a phone screen, headset or smart glasses.
The process of checking the identity of a user, device or program before it is given access.
The expected number of steps an algorithm performs over all possible inputs of size , assuming each input is equally likely, and the complexity this gives.