99 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
Measuring the amplitude of an analogue signal at regular, equally spaced moments and storing each measurement, called a sample, as a binary number.
The number of samples taken per second, measured in hertz (Hz).
The ability of a system to handle growth, in users, devices or data, without a major redesign or a serious loss of performance.
The operating system function that determines the order in which ready processes are given the CPU, and for how long, to make the best use of the processor and give each process fair service.
The region of a program in which a particular identifier can be used.
The state of a table that is in 1NF and in which every non-key field depends on the whole primary key, so that there are no partial dependencies.
Non-volatile storage that keeps programs and data permanently, whether or not the computer is switched on; the CPU cannot access it directly, so data is first copied into RAM.
Relying on the secrecy of a system's design or details, rather than on a sound security mechanism, to protect it.
The unit of data at the transport layer, made of a transport header (with port numbers and, for TCP, a sequence number) and a piece of application data.
The control structure in which a condition is tested and its result decides which block of instructions runs next.
The step that chooses chromosomes to act as parents for the next generation, giving fitter chromosomes a greater chance of being chosen.
A sorting algorithm that repeatedly finds the smallest element in the unsorted part of a list and swaps it with the first element of the unsorted part, so that the sorted part grows by one element per pass.
The name a method uses to refer to the object on which it was called, written self in Python and this in Java.
Data that does not follow a fixed table structure but contains tags or labels that name each value and show how values are nested, as in JSON or XML documents.
An input device that measures a physical quantity and converts it into an electrical signal that a controller can process.
The use of natural language processing to classify the opinion or emotion expressed in a piece of text, for example as positive, negative or neutral.
A special input value, outside the range of valid data, that signals the end of the data and stops a loop.
A collision resolution strategy in which each bucket holds a linked list (chain) of all the entries whose keys hash to that index.
The control structure in which instructions are carried out one after another, in the order in which they are written.
The number carried by each TCP segment that gives the position, in the stream of bytes sent, of the first byte of data in that segment.
A file whose records are read or written one after another in order, from the start of the file towards the end.
A data mining technique that finds events or items that frequently occur in a particular order over time, usually within a set time window, across many sequences such as each customer's purchase history.
A computer, or a program running on one, that provides a service or resource to other devices over a network when they request it.
A contract between a service provider and a customer that defines the level of service promised, such as the percentage of time the service will be available, and what compensation is given if it is not met.
A temporary symmetric key created for a single connection or session and discarded when it ends.
An abstract data type that stores a collection of unique elements in no particular order, with operations to add and remove elements, test membership, and combine sets by union, intersection and difference.
The desired value of the quantity that a control system is trying to maintain.
The situation in which a local variable has the same identifier as a variable in an outer scope, so the outer variable is hidden inside the inner scope.
A form of parallel processing in which one instruction is applied to many data items at the same time by many processing units.
A component whose failure stops the whole system, or a large part of it, from working.
A processor with one core, which executes one instruction stream at a time.
A design pattern that ensures a class has only one instance and gives global access to it, through a private constructor and a static method that creates the instance on first use and returns it on every call.
A linked list in which each node has a single reference, to the next node, and the last node's reference is null or None.
OLAP operations that select part of a cube: a slice fixes one dimension at a single value, giving a two-dimensional layer, and a dice selects a range of values on two or more dimensions, giving a smaller sub-cube.
In a regression equation, the change in the predicted value of the dependent variable for each increase of one unit in the independent variable.
The effect of a technology on society as a whole, including on jobs, inequality, relationships between groups, the distribution of power and how people live and make decisions.
A cloud service model in which the provider supplies a complete application over the internet, managing everything from the hardware to the software itself, and the customer simply uses it, usually through a web browser or app, for a subscription.
A secondary storage device that stores data in flash memory chips managed by a controller, with no moving parts.
A precise statement, derived from the problem scenario, of something a solution must do or a standard it must reach, written so that whether it has been met can be measured.
Arranging the elements of a list into a defined order, such as ascending or descending numerical or alphabetical order, according to a key.
The instructions of a program as written by a programmer, usually in a high-level language, before any translation.
A description of how the amount of extra memory an algorithm needs, beyond the memory holding its input, grows as the size of its input, , increases.
A database that stores geometric and geographic data, such as points, lines and polygons, and supports queries about location, distance, containment and overlap.
The arrangement of features learned by the layers of a CNN, from simple local patterns in early layers to complex, larger-scale structures in deeper layers.
An index on geometric data that groups nearby objects into nested bounding rectangles, such as an R-tree, so that a location query only examines objects whose rectangles could match.
Phishing aimed at a specific person or organisation, using personal details such as names, job titles and current projects to make the message convincing.
The measure a decision tree algorithm uses to choose which feature (and threshold) to test at a node, by scoring how well each possible split separates the classes.
Malware that secretly monitors a user's activity, such as keystrokes, browsing or location, and sends the information to a third party.
An attack in which input containing SQL syntax is entered into an application that inserts it directly into a database query, so that the input changes the meaning of the query and can read, alter or delete data.
A sorting algorithm that keeps elements with equal keys in the same relative order as they had before sorting.
A data structure in which items are added and removed at one end only, called the top, so the most recently added item is always the first removed.
The entry on the call stack for one subprogram call, holding its parameters, its local variables and the return address where execution continues when the call finishes.
The error that occurs when a program tries to push an item onto a stack that is already full.
The error that occurs when a program tries to pop or peek an item from an empty stack.
Any person, group or organisation that affects, or is affected by, a computer system, including its developers, the organisation that deploys it, its users, the people it makes decisions about, and wider society.
Rescaling a feature so that it has a mean of 0 and a standard deviation of 1, by replacing each value with its z-score , using the mean and standard deviation
A data warehouse design with one central fact table linked by foreign keys to several denormalised dimension tables, so that any query needs only one join from the fact table to each dimension.
A topology in which every node is connected by its own link to a single central device, usually a switch, through which all traffic passes.
A situation in which a ready process waits indefinitely for a resource because other processes are always given it first.
The set of values held by an object's attributes at a particular moment.
A description of the situation the agent is in at a given time, containing the information it uses to choose its next action.
A firewall technique that records each connection opened from inside the network in a state table and allows an inbound packet only if it belongs to a connection already in the table.
A data structure whose size is fixed when it is created and cannot change while the program runs.
An IP address that is configured manually, or permanently reserved for one device, so that it stays the same until an administrator changes it.
A method that belongs to the class rather than to an object, is called through the class name and has no self reference, so it cannot use instance variables directly.
Polymorphism in which the version of a method to run is chosen before the program runs, by the compiler, from the number and types of the arguments, through method overloading.
A method of routing in which a network administrator enters the routes in each router's routing table manually, and the routes do not change unless the administrator changes them.
A language feature in which each variable's data type is fixed when the code is written and checked before the program runs.
A variable that belongs to the class rather than to any object, so that a single copy is shared by all objects of the class.
Running a paused program one statement at a time under a debugger, so the effect of each statement can be seen.
The number of pixels by which a kernel (or pooling window) moves between one position and the next.
A data type for a sequence of characters, written between quotation marks.
The standard language for defining, querying and changing the data in a relational database.
A class that inherits the attributes and methods of a superclass and may add new members or replace inherited methods with its own versions.
Data organised around the main subjects of an organisation, such as customers, products and sales, rather than around the applications that created it.
A 32-bit number, with 1s in the positions of the network part of an IP address and 0s in the positions of the host part, used to find the network an address belongs to.
Dividing one IP network into several smaller networks, called subnets, by lengthening the network part of the address with a longer subnet mask.
A named, self-contained block of code that performs one specific task and can be run from other parts of a program by using its name; called a function in Python and a method in Java.
A statement or expression that runs a subprogram by name, passing it any values it needs, after which control returns to the point just after the call.
A set is a subset of a set , written , if every element of is also an element of .
A sequence of consecutive characters taken from within a longer string.
A node of a tree together with all of the nodes below it, which itself forms a tree.
A measurable condition, written before the solution is built, that is used to judge whether the solution has met an objective.
A form of Boolean expression made of AND terms (products) joined by OR (a sum).
A class whose attributes and methods are inherited by one or more other classes.
A statement inside a subclass constructor that runs the superclass's constructor, so that the inherited attributes are initialised before the subclass adds its own.
A set is a superset of a set , written , if contains every element of ;
A type of machine learning in which a model is trained on labelled data, learning to map each example's features to its known correct output so that it can predict the output for new examples.
The proportion of all transactions that contain every item in an itemset; for a rule X → Y, the proportion containing both X and Y.
An artificial primary key with no meaning outside the database, usually a whole number generated automatically by the DBMS for each new record.
The systematic monitoring of people's behaviour, communications or movements, by governments or organisations, to gather information or influence and control them.
The exchange of the values held in two positions of a list or array, done with a temporary variable so that neither value is lost.
A network device that connects devices within a LAN and forwards each unit of data only to the port leading to its destination, using the destination MAC address.
Encryption in which the same secret key is used both to encrypt the plaintext and to decrypt the ciphertext, so the sender and receiver must both hold that key.
An error in which code breaks the grammar rules of the programming language, so the program cannot be translated or run.
A request from a running program to the kernel for a service that the program is not allowed to perform itself.
A single integrated circuit that contains most of the components of a computer, typically the CPU cores, GPU, other co-processors, memory controller and input/output controllers.
Software that runs and manages the computer system itself and provides a platform for other software, rather than doing a task for the user.
Manipulating people into breaking normal security procedures, such as revealing passwords or granting access, by exploiting trust, fear, urgency or helpfulness.