52 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
A 48-bit identifier assigned to a network interface, used to deliver data between devices on the same local network.
A wireless security measure in which an access point allows (whitelist) or refuses (blacklist) connections from devices according to their MAC address.
Instructions written as binary patterns that a particular type of CPU can decode and execute directly, without any further translation.
A branch of artificial intelligence in which a program improves its performance at a task by finding patterns in data, instead of following rules written explicitly by a programmer.
A server that sends email to other mail servers, receives email for its own users and stores it until they collect it.
How easily a program can be understood, corrected, adapted and extended after it has been written, often by people other than its original author.
A rule that assigns the class held by the largest number of the votes being counted.
Software designed to damage, disrupt or gain unauthorised access to a computer system.
An attack in which the attacker secretly places themselves between two communicating parties, relaying their messages so that they can read or alter the traffic while both parties believe they are talking directly to each other.
The distance between two points measured along axes at right angles, equal to the sum of the absolute differences between their coordinates.
An abstract data type that stores key–value pairs with unique keys, with operations to add or update the value for a key, get the value for a key, remove a key and test whether a key is present.
A range of marks in a markscheme, such as 3–4, with a description of the qualities an answer must show to be placed in it; the examiner chooses the band that best fits the whole answer.
The analysis of customers' purchase records to find products that are frequently bought together.
The document examiners use to mark a paper, listing for each question the creditable points, accepted alternative answers and how many marks each part is worth.
A view whose result rows are computed once and physically stored, then refreshed periodically or on demand, so reading it is fast but its data may be out of date (stale) between refreshes.
The use of machine learning to analyse medical images, such as X-rays, scans or photographs of skin, to detect or classify signs of disease.
The property of an element being present in a set; a membership test returns True if the element is in the set and False if it is not.
A register that holds the address of the memory location that is about to be read from or written to.
The reservation of a region of memory to hold a program's data, either once when a structure is created or repeatedly while the program runs.
A small, removable flash storage card designed for portable, battery-powered devices.
A register that holds the data or instruction that has just been read from memory, or that is about to be written to memory.
The arrangement of a computer's memory and storage in levels ordered by speed, size and cost per byte, from small, fast, expensive registers at the top to large, slow, cheap secondary storage at the bottom.
The operating system function that allocates memory to processes when they need it, frees it when they finish and protects each process's memory from access by others.
A topology in which nodes are connected to several other nodes, giving multiple paths between them; in a full mesh every node is linked directly to every other node.
Data that describes other data, recording the properties needed to interpret, organise or find it.
A subprogram defined in a class that describes a behaviour of its objects and can use and change their attributes.
Defining several methods (or constructors) with the same name in one class but different parameter lists, so the version called depends on the arguments supplied.
Defining a method in a subclass with the same signature as a method it inherits, so that objects of the subclass run the new version instead of the inherited one.
The name of a method together with the number, types and order of its parameters, which a compiler uses to tell methods apart.
A small computer on a single integrated circuit, containing a processor, memory and input/output ports, designed to control one device or task.
False or misleading information that is shared without the intention to deceive, often by people who believe it is true.
Values that should be present in a dataset but were not recorded, shown as blanks, NULL, None or a placeholder such as −1 or 999.
A wide area wireless network in which the coverage area is divided into cells, each served by a base station, so that devices keep their connection while moving between cells.
The minimum number of instances of one entity that must be related to a single instance of another entity in a relationship, recorded as zero (the relationship is optional) or one (it is mandatory).
The result of training a machine learning algorithm on data: a stored set of learned values and structure that maps an input to an output, such as a prediction or a decision.
Techniques that reduce the size and computing needs of a trained model so it can run on limited hardware, such as storing weights with fewer bits (quantisation) or removing weights that contribute little (pruning).
A value that a model learns from its training data during training.
The process of choosing, from several candidate algorithms or trained models, the one best suited to a problem, by considering the nature of the task and data and comparing performance fairly on the same validation data.
A device that converts digital data from a network into a signal suited to a particular transmission line (modulation) and converts incoming signals back into digital data (demodulation).
Designing a program as a set of separate, self-contained parts (subprograms and modules), each performing one well-defined task and communicating with the others only through parameters and return values.
A separate file of related subprograms, constants and classes that other programs can import and use.
An operation that gives the remainder left over after integer division.
The leftmost bit of a binary number, which has the largest place value; the rightmost bit, with place value 1, is the least significant bit (LSB).
A single chip containing two or more cores that can execute separate instruction streams at the same time.
Authentication that requires two or more independent factors from different categories: something the user knows (a password), something the user has (a phone or security key) and something the user is (a fingerprint or face).
A feedforward neural network made of an input layer, one or more hidden layers and an output layer, in which each layer is fully connected to the next.
A situation in which one field determines a set of values in each of two or more other fields that are independent of each other, so that storing them in one table forces every combination of the values to be recorded.
A scheduling method that divides ready processes into several separate queues by type of process, schedules each queue with its own algorithm, and shares the CPU between the queues, usually by fixed priority.
The number of objects of one class that can be linked to a single object of the associated class, written at the end of the association line as a number or a range.
The ability of an operating system to run several processes over the same period by rapidly switching the CPU between them, or by running them on different cores, so that all appear to run at the same time.
In a genetic algorithm, a small random change to a chromosome, used to maintain diversity in the population.
A public method that changes the value of an object's attribute, normally after checking that the new value is valid, usually named setX() (Java) or set_x() (Python).