47 of the Computer Science glossary’s terms, each with the part of the syllabus where you first meet it.
A fault in which the result of a program depends on the timing or order in which two or more processes or threads access shared data, so the same program can give different results on different runs.
Volatile primary memory that can be read from and written to, holding the operating system, running programs and the data they are using.
Malware that encrypts a victim's files or locks the device and demands payment, usually in cryptocurrency, for the key to restore them.
A pattern of use in which data is read far more often than it is changed; the opposite, a write-intensive workload, is dominated by frequent inserts and updates.
Non-volatile primary memory whose contents are written during manufacture or by a special update process and are not changed during normal use; it holds firmware such as the bootstrap program.
An interactive programming environment that reads one statement or expression typed by the user, evaluates it, prints the result and then waits for the next input.
A computer system that must respond to inputs within a guaranteed time limit, because a late response counts as a failure.
The end of a queue at which new items are added; in an array-based queue, a pointer holds the index of the last item.
Putting the payloads of received packets back together in the order given by their sequence numbers to rebuild the original data, after any missing packets have been sent again.
The proportion of actual positive examples that a classifier correctly identifies: TP divided by (TP + FN); also called sensitivity.
The region of the input image that can affect the value of a particular neuron in a CNN; it grows larger in deeper layers.
One row of a table, holding all the stored data about a single instance of the entity.
A technique in which a subprogram solves a problem by calling itself on a smaller or simpler instance of the same problem, until it reaches an instance simple enough to solve directly.
The part of a recursive subprogram that calls the subprogram again with an argument that is closer to the base case, and uses the result of that call to build its own result.
The inclusion of extra components or paths that are not needed for normal operation but take over when a component fails.
A value that identifies where an object is stored in memory, held by a variable so that the program can reach the object.
The rule that every foreign key value must match an existing primary key value in the table it refers to (or be null where that is allowed), so that no link points to a record that does not exist.
An organisation that allocates blocks of IP addresses to internet service providers and other organisations within one region of the world.
A very small, very fast storage location inside the CPU that holds a single value, such as an instruction, an address or a piece of data, while it is being used.
A supervised learning task in which the model predicts a continuous numerical value, such as a price, a temperature or a score.
Creating a larger hash table, usually about twice the size, and reinserting every existing entry by recalculating its index for the new size, carried out when the load factor passes a set threshold.
A type of machine learning in which an agent learns by trial and error which actions to take in an environment, by receiving rewards for good outcomes and penalties for bad ones.
A database that organises data into tables of rows and columns, where tables are linked to each other through shared key values.
An operator that compares two values and gives true or false, such as =, <>, <, >, <= and >=.
A link between two tables, made by a foreign key, that states how many records in one table can be associated with a record in the other: one-to-one (1:1), one-to-many (1:M) or many-to-many (M:N).
A field or set of fields that occurs more than once for a single record, either as several values packed into one field or as a set of numbered columns.
Storing copies (replicas) of the same data on more than one node, so that the data stays available if a node fails and reads can be served from the nearest copy.
The difference between the actual value of the dependent variable for a data point and the value predicted by the model: residual = actual − predicted.
A diagram that shows processes and resources as nodes, with assignment edges from each resource to the process holding it and request edges from each process to the resource it is waiting for.
A conflict that arises when several processes or threads need the same limited resource at the same time.
The time from when a process arrives until it first starts running on the CPU.
The table of rows and columns that a query returns.
The value that a subprogram sends back to the point where it was called, using a return statement, which also ends the subprogram.
The extent to which code, once written and tested, can be used again in other parts of the same program or in other programs without being rewritten.
A numerical signal that the environment gives an agent after an action, positive for desirable outcomes and negative (a penalty) for undesirable ones, which the agent learns to maximise over time.
A database structure that is fixed in advance, so that every record in a table must have exactly the defined fields and types, and any change to the structure must be made to the whole table.
A topology in which each node is connected to exactly two others, forming a closed loop around which data travels from node to node.
The TCL command that cancels a transaction, undoing every change it made since BEGIN TRANSACTION, so that the database returns to its state before the transaction started.
The single node at the top of a tree, which has no parent; every other node is reached by following edges down from it.
A pre-emptive scheduling algorithm in which each process in the ready queue receives the CPU for at most one fixed time slice in turn; a process that has not finished at the end of its slice goes to the back of the queue.
A network device that connects two or more networks and forwards packets between them, choosing where to send each packet according to its destination IP address.
The process of selecting a path for packets across one or more networks and forwarding them, router by router, towards their destination.
A set of rules that routers follow to share information about the networks they can reach and to calculate the best routes from that information.
A table stored in a router that lists destination networks and, for each one, the next hop and the interface to use to forward packets towards it.
A lossless compression method that replaces each run of identical consecutive values with a single pair: the number of repetitions and the value.
An error that occurs while a program is running, when an operation cannot be carried out, causing the program to stop unless the error is handled.