98 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
The bus that carries data and instructions between the CPU (through the MDR) and main memory, in both directions.
The process of detecting and correcting or removing errors, inconsistencies, duplicates, irrelevant entries and gaps in a dataset so that it accurately represents what it describes.
The corruption of two transmissions that are sent at the same time on a shared medium, so that both must be sent again.
The state in which every copy, view and use of a piece of data shows the same value, so that no two parts of the database contradict each other.
The part of SQL whose statements create, change and remove the structure of a database, such as tables, views and indexes, rather than the data in them.
A table that documents every field in a database, giving its name, data type, size or format, key status, whether it may be left empty, its validation rules and a description of what it holds.
The same value or set of values stored more than once, in the same table or in different tables or files.
A diagram that shows how data moves through a system, using symbols for external entities, processes, data stores and labelled arrows for the data flows between them.
The ability to change the schema at one level without having to change the schema, or the programs that use it, at the next level up.
The accuracy, validity and reliability of data over its whole life, maintained by rules that the data must obey whenever it is entered or changed.
The use, during training or preprocessing, of information that would not be available when the model is used for real, which makes the model's measured performance unrealistically high.
The part of SQL whose statements read, add, change and remove the data stored in the tables, leaving the structure unchanged.
A smaller data warehouse, or a subset of one, focused on a single subject or department, such as sales, finance or marketing.
The principle that an organisation should collect and keep only the personal data that is adequate, relevant and necessary for its stated purpose.
The automatic discovery of useful, previously unknown patterns, relationships and anomalies in large data sets, using statistical and machine learning techniques.
Dividing a database's data into separate parts stored on different nodes, either by rows (horizontal partitioning, also called sharding) or by columns (vertical partitioning).
An attack in which false or manipulated examples are added to a model's training data so that the trained model behaves wrongly, either in general or for inputs chosen by the attacker.
The set of steps that turn raw data into a form a machine learning algorithm can learn from, including cleaning, encoding, scaling and selecting features.
The degree to which a dataset is accurate, complete, consistent, valid, unique, relevant and up to date for the purpose it is used for.
Data that is unnecessary because the same information is already stored elsewhere in the database or can be derived from other stored data.
The principle that data is subject to the laws of the country in which it is physically stored or processed.
The condition in which most of the possible combinations of feature values have no records, either because the space is too large for the data to fill or because most values in the dataset are empty or zero.
A way of organising and storing a collection of data items in memory, together with the operations used to access and change them.
A classification of data that sets which values a variable can hold, how they are stored and which operations can be performed on them.
A central database that stores integrated, historical data copied from many operational systems, organised by subject and optimised for analysis and reporting rather than for day-to-day transactions.
An organised, persistent collection of related data, stored so that it can be searched, updated and shared by many users and programs.
A separate data structure, kept by the DBMS, that stores the values of one or more columns in sorted order with a pointer to each matching row, so that rows can be found without reading the whole table.
The software that creates and maintains a database and controls every access to it, handling storage, retrieval, integrity rules, concurrent use, security and recovery.
A formal description of the structure of a database: its tables, the fields in each table, their data types, the keys and relationships that link the tables, and the constraints the data must obey.
A structured collection of examples used to train or test a machine learning model, where each example records the same set of properties.
Data types that store calendar dates (DATE), times of day (TIME) or both together (DATETIME or TIMESTAMP) in a standard form that the DBMS can validate, compare, sort and use in date arithmetic.
Techniques and services that keep a service available during a DDoS attack, such as rate limiting, filtering traffic through a scrubbing service and spreading load across a large distributed network.
The two rules and
A situation in which two or more processes are each waiting for a resource held by another process in the same group, so that none of them can ever continue.
A tool, usually part of an IDE, that runs a program under the programmer's control, pausing it and showing the values of its variables so that errors can be located.
The process of finding, diagnosing and correcting errors in a program.
A unit prefix based on powers of 1000, as in kilobyte (kB, 1000 bytes), megabyte (MB, bytes), gigabyte (GB, bytes) and terabyte (TB, bytes).
The diamond-shaped flowchart symbol for a condition that is either true or false, with a separate labelled flowline leaving for each answer.
A supervised learning model that classifies data by following a path from a root node through tests on feature values, one test per internal node, to a leaf node that gives the predicted class.
A statement that introduces a variable to a program, giving its identifier and, in statically typed languages such as Java, its data type.
A programming language in which the programmer states what result is wanted, and the system works out how to produce it.
Breaking a complex problem or system into smaller, more manageable sub-problems that can each be understood, solved and tested separately.
A tree diagram that shows a problem at the top and, on each lower level, the sub-problems it is broken into.
Machine learning that uses artificial neural networks with many layers, which learn their own features in stages directly from raw data such as images, audio or text.
An image, video or audio recording of a real person that has been created or altered using deep learning so that it appears authentic.
The level of access Java gives a member declared with no access modifier, which lets it be used only by classes in the same package.
A security strategy that uses several independent layers of protection, so that an attack that defeats one layer is stopped or detected by another.
A tree in which every parent node has only one child, so the tree has the shape and performance of a linked list.
Handling missing data by removing every record that contains a missing value, or by removing a feature whose values are mostly missing.
A fault in a poorly designed table where deleting a record unintentionally removes the only copy of another fact.
A character or sequence of characters that marks the boundary between fields in a line of text, such as a comma, a tab or a colon.
The base-10 number system, which uses the ten digits 0 to 9 and column values that are powers of 10.
An attack that makes a service unavailable to its legitimate users by overloading it with traffic or requests, or by exploiting a flaw that makes it crash.
The deliberate introduction of redundancy into a normalised database, by combining tables or storing copies or precomputed values, so that data can be read faster or with simpler queries.
The output variable in a model, whose value is predicted from the independent variable or variables; also called the response.
A double-ended queue, a data structure that allows items to be added and removed efficiently at both its front and its rear.
The queue operation that removes the item at the front of a queue and returns it.
A value that can be calculated from other data already stored in the database.
A general, reusable description of how to arrange classes and objects to solve a problem that recurs in software design.
A program that lets the operating system communicate with one particular type of hardware device by translating general requests into the commands that the device understands.
The period for which a DHCP server allows a client to use an assigned IP address before the client must renew it or give it up.
A server that automatically assigns IP addresses and other network settings to devices from a pool of addresses, each for a limited lease period.
The set of elements that are in the first set but not in the second; written or .
An electronic document, digitally signed by a certificate authority, that binds a public key to the identity of its owner, such as a website's domain name, for a stated period.
The gap between people, groups or countries that have access to modern digital technology, connectivity and the skills to use them and those that do not.
The shared networks, data centres, services and connected devices that other systems and organisations rely on to store, process and transmit data.
A signal that can take only a limited set of discrete values, such as the binary values 0 and 1, at discrete moments in time.
A value created by processing a digest of a message with the sender's private key, which anyone holding the sender's public key can check to confirm who sent the message and that it has not been changed.
A circuit that turns a sequence of binary numbers into a continuously varying analogue signal.
A table in a star schema that describes one aspect of the facts, such as date, product, store or customer, with descriptive attributes used to filter and group the facts.
The number of features used to describe each record in a dataset, which is the number of dimensions of the space its records lie in.
Reducing the number of features in a dataset while preserving the information that matters for the task, by selecting a subset of features or by combining features into fewer new ones.
A named container in a file system that holds files and other directories, so that files can be organised in a hierarchy.
A mathematical transform that expresses a block of values, such as 8 × 8 pixels, as a sum of cosine waves of different frequencies, giving one coefficient for each frequency.
False information that is created or spread deliberately to deceive, for example to influence an election, damage a reputation or make money.
A rule for calculating how far apart two records are from their feature values, such as Euclidean or Manhattan distance, used by algorithms that compare records by similarity.
A database whose data is stored across several computers (nodes) at one or more sites, connected by a network, but which appears to its users as a single database.
A denial-of-service attack in which the traffic comes from many devices at once, usually the members of a botnet, so that it cannot be stopped by blocking a single source.
A group of networked computers that coordinate their actions by passing messages, so that together they appear to users as a single system.
The property of a distributed database that hides from users and applications the fact that data is spread across several sites, so they work with it as if it were a single, local database.
The rule that an operator applied to a bracket can be applied to each term inside it: and
An algorithm design strategy that divides a problem into smaller sub-problems of the same type, solves each sub-problem recursively, and combines their solutions to solve the original problem.
A server that receives a client's DNS query and finds the answer, from its cache or by querying root, top-level domain and authoritative servers in turn, before returning it to the client.
A NoSQL database that stores each record as a self-describing document, such as a JSON document, whose fields can be queried and indexed and can differ from one document to the next.
The rule that every value in a field belongs to the field's allowed set of values (its domain), defined by its data type, length, format and range.
A human-readable name that identifies a server or group of servers on the internet and is translated into an IP address before data can be sent.
The hierarchical, distributed system of servers that translates domain names into the IP addresses that computers use to find each other.
The rule that inverting a variable twice gives the original variable: .
A linked list in which each node has two references, one to the next node and one to the previous node, so the list can be traversed in both directions.
An OLAP operation that moves from summarised data to more detailed data along a dimension's hierarchy, such as from year to quarter to month; the reverse operation, which summarises, is called roll-up.
A record that describes the same real-world entity or event as another record in the dataset, either exactly or with small differences in spelling or formatting.
The property that once a transaction has been committed, its changes are permanent and survive a later crash or power failure.
A data structure whose size can change while the program runs, with memory allocated and released as items are added and removed.
An application-layer protocol that automatically gives a device joining a network its IP address, subnet mask, default gateway and DNS server address, taken from a pool managed by a DHCP server.
An IP address that is assigned automatically by a DHCP server for a limited lease period and may change when the lease ends or the device reconnects.
Polymorphism in which the method to run is chosen while the program runs, from the actual class of the object that receives the call, through method overriding.
A method of routing in which routers exchange information about the networks they can reach and use it to build and update their routing tables automatically, so that routes change when the network changes.
A language feature in which a variable's data type is decided by the value it currently holds and checked only while the program runs.