58 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
A set of data about one entity, arranged in rows and columns, in which every row has the same fields.
A reference to the last node of a linked list, kept so that items can be added at the end without traversing the list.
A four-layer model of how data is communicated across the internet, in which the application, transport, internet and network interface layers each perform one part of the job and use the services of the layer beneath them.
An application-specific integrated circuit designed by Google to accelerate the matrix calculations of neural networks, used for both training and inference.
The rule that determines when a genetic algorithm stops.
The flowchart symbol, a rounded rectangle or oval, that marks where an algorithm starts or ends.
The part of a labelled dataset kept back from training and used afterwards to measure how accurately the model performs on examples it has not seen.
A table, written before the product is built, listing each planned test with the success criterion it checks, the test data to use, the type of data and the expected outcome.
Running a program with planned input data and comparing the actual results with the expected results, to find errors and show that the program meets its requirements.
A file whose contents are a sequence of characters in a character set, organised into lines, which can be read and edited by a person with a text editor.
The state of a table that is in 2NF and in which no non-key field depends on another non-key field, so that there are no transitive dependencies.
A single sequence of instructions within a process that can be scheduled to run independently, sharing the process's memory and resources with the other threads of the same process.
The exchange of three messages, SYN, SYN-ACK and ACK, that opens a TCP connection and lets each side choose and confirm its starting sequence number.
The amount of work completed per unit of time.
To signal an exception deliberately in code, with throw in Java or raise in Python, so that normal execution stops and a handler is sought.
A description of how the number of basic steps an algorithm performs grows as the size of its input, , increases.
The fixed maximum length of time for which a process may use the CPU before it is pre-empted under round robin scheduling.
A counter in a packet's header that each router reduces by one; when it reaches zero the packet is discarded, which stops packets from circulating for ever.
Data that is recorded with the time period it refers to and kept over many years, so that changes and trends over time can be analysed.
The sequence of messages at the start of a TLS connection in which the client and server agree the protocol version and algorithms, the server proves its identity with its certificate, and both sides establish a shared session key.
A marker left in a slot of an open-addressing hash table when its key is deleted, so that searches continue past the slot while insertions may reuse it.
A variable holding the index of the item currently at the top of an array-based stack, or −1 when the stack is empty.
A table used when tracing an algorithm, with one column for each variable and one for output (often with extra columns for the conditions tested), in which every change of value is recorded in the order it happens.
Following an algorithm step by step by hand, with chosen input data, and recording the value of each variable and every output as the algorithm runs.
The stage in which a machine learning algorithm repeatedly adjusts a model's internal values using example data, so that the model's outputs become more accurate.
The part of a labelled dataset used to train a machine learning model.
Bias in a model that comes from the data it learned from, because some groups are under-represented (sampling bias), the data records past unfair decisions (historical bias), or the labels reflect the judgements or mistakes of the people who assigned them (labelling bias).
A sequence of database operations that is treated as one indivisible unit of work, so that either all of its changes are made or none of them are.
The part of SQL whose statements start and end transactions: BEGIN TRANSACTION starts one, COMMIT makes its changes permanent, and ROLLBACK cancels it.
A file on non-volatile storage to which the DBMS writes a record of every change, and every commit, before applying them to the database, so that after a failure committed transactions can be redone and unfinished ones undone.
A device that converts one form of energy or signal into another.
A machine learning approach in which a model trained for one task is reused as the starting point for a related task, so that the new task needs far less data and training time.
A compression method that converts data into a different representation, usually a set of frequency components, so that the components people perceive least can be stored with less precision or discarded.
A tiny electronic switch, controlled by a voltage, that is either on or off; it is the basic building block of processors and memory chips.
A functional dependency in which a non-key field depends on another non-key field, and so depends on the primary key only indirectly.
A program that converts code written in one programming language into another form, usually machine code or an intermediate code, so that it can be executed.
A connection-oriented transport protocol that delivers a stream of data between two programs reliably and in order, by numbering the data, acknowledging what arrives and resending what is lost.
The physical path, such as a copper cable, an optical fibre or the air, along which signals carrying data travel from one device to another.
The time taken to send a given amount of data over a link, calculated as the size of the data in bits divided by the bandwidth in bits per second.
Openness about how an automated system works, including what data it uses, how it was trained and tested, where it is used, and its known limitations.
The TCP/IP layer that provides communication between programs on two hosts, using port numbers to identify the programs and, with TCP, splitting data into numbered segments and ensuring reliable, ordered delivery.
A protocol that creates an encrypted, authenticated connection between two programs across a network, using certificates and asymmetric cryptography to set up the connection and symmetric encryption for the data.
The problem of finding the shortest route that visits each of a set of locations exactly once and returns to the starting point.
Visiting every element of a data structure exactly once, in a systematic order, usually to read or process each one.
A non-linear, hierarchical data structure of nodes connected by edges, with one node at the top and every other node reached from it by exactly one path.
Malware disguised as legitimate software, which the user installs willingly and which then carries out hidden harmful actions.
An example that is actually negative and that the model correctly predicts as negative.
An example that is actually positive and that the model correctly predicts as positive.
A table that lists every possible combination of input values of a logic circuit or Boolean expression, with the output for each combination.
A statement that opens one or more resources, such as files, for the duration of a block of code and closes them automatically when the block ends, whether it ends normally or because of an exception.
Carrying a network packet inside another packet, usually encrypted, so that it can cross a network that would otherwise not carry it privately or at all.
An ordered, immutable sequence in Python, written in round brackets, whose elements can be read by index but whose length and contents cannot change after creation.
The total time from when a process arrives in the ready queue until it completes, including the time spent running and the time spent waiting.
A cable made of pairs of insulated copper wires twisted around each other, which carries data as electrical signals and is the standard medium for wired Ethernet LANs.
An array whose elements are themselves arrays of equal length, used to store a table of rows and columns; each element is accessed with a row index and a column index.
A protocol that makes a transaction spanning several sites atomic: in the first phase a coordinator asks every site to prepare and vote, and in the second it tells all sites to commit only if every vote was yes, otherwise to roll back.
A way of storing signed integers in which the most significant bit has a negative place value, so an -bit number holds values from to
Converting a value from one data type to another.