Skip to content
Reference

Computer Science Glossary

203 terms from the Cambridge O Level 2210 / IGCSE 0478 and AS & A Level 9618 syllabuses, defined in the words that earn the mark. Each one links to the topic where it is taught — and the flashcards drill 1,600 more.

A* algorithmA2 Level
Graph search that chooses the node with the lowest g + h (cost so far + heuristic estimate to the goal).
Abstract data type (ADT)All levels
A data type defined by its data and operations, independent of how it is implemented, e.g. stack, queue, linked list.
AbstractionAll levels
Removing unnecessary detail to focus on what matters for solving the problem.
Accumulator (ACC)All levels
Register that holds the result of calculations carried out by the ALU.
ActuatorAll levels
An output device that produces physical movement, e.g. a motor, valve or pump.
Addressing modeAS Level
The way the operand of an instruction is interpreted: immediate, direct, indirect, indexed or relative.
AlgorithmAll levels
An ordered set of unambiguous steps that solves a problem or performs a task.
ArrayAll levels
A data structure holding a fixed number of items of the same data type under one identifier, accessed by index.
Artificial intelligenceAll levels
A branch of computer science dealing with systems that simulate intelligent behaviour: collecting data, applying rules, reasoning and learning.
Artificial neural networkA2 Level
Layers of connected nodes with weighted connections that are adjusted during training (e.g. by back-propagation).
ASCIIAll levels
A character set that gives each character a 7-bit (extended: 8-bit) binary code, e.g. 'A' = 65.
AssemblerAll levels
Translator that converts assembly-language mnemonics into machine code.
Asymmetric encryptionAll levels
Encryption using a key pair: a public key to encrypt and a matching private key to decrypt.
Automatic Repeat reQuest (ARQ)O Level / IGCSE
Error-control method using acknowledgements and timeouts: data is re-sent if no positive acknowledgement arrives in time.
Backus-Naur FormA2 Level
A formal notation for describing the syntax of a language using production rules.
Base caseA2 Level
The condition in a recursive subroutine that stops the recursion without a further call.
Big O notationA2 Level
Describes how an algorithm's time or space grows with input size (O(1), O(log n), O(n), O(n²)).
BinaryAll levels
Base-2 number system using only the digits 0 and 1; each place value is a power of 2.
Binary treeA2 Level
A data structure in which each node has at most two children (left and right pointers).
Binary-coded decimal (BCD)AS Level
Each denary digit stored separately as a 4-bit binary number.
Bit depthAS Level
The number of bits used to store each sample or pixel.
Bit maskAS Level
A binary pattern used with AND, OR or XOR to test, set or clear particular bits.
BitmapAS Level
An image stored as a grid of pixels, each with a binary colour value.
BlockchainO Level / IGCSE
A shared, distributed digital ledger of time-stamped transactions in which each block holds the hash of the previous block.
Brute-force attackAll levels
Trying every possible password or key combination until the correct one is found.
Bubble sortAll levels
Sorting by repeatedly comparing adjacent items and swapping them if they are in the wrong order.
BufferAS Level
A temporary area of memory that holds data being transferred between devices working at different speeds.
BYREFAS Level
Parameter passed by reference — the procedure works on the caller's actual variable.
BYVALAS Level
Parameter passed by value — the procedure works on a copy.
CacheAll levels
Small, fast memory close to the CPU that stores frequently used instructions and data.
Check digitAll levels
An extra digit calculated from the other digits and added to a number (e.g. ISBN) so input errors can be detected.
ChecksumAll levels
A value calculated from a block of data and sent with it; the receiver recalculates to detect errors.
Circuit switchingA2 Level
A dedicated path is set up between sender and receiver for the whole communication.
ClassA2 Level
A blueprint defining the attributes and methods of objects.
Client–server modelAS Level
Network model in which clients request services and resources from central servers.
Clock speedAll levels
The number of fetch–execute cycles the CPU can perform per second, measured in Hz.
Cloud storageO Level / IGCSE
Storing data on remote servers accessed over the internet, maintained by a third party.
Code optimisationA2 Level
Compilation stage that makes the object code faster or smaller without changing what it does.
Colour depthAll levels
The number of bits used to represent the colour of each pixel.
CompilerAll levels
Translates the whole high-level program into machine code before it runs; produces an executable and a list of all errors.
ConstantAll levels
A named value that cannot change while the program runs.
CoreAll levels
An independent processing unit in a CPU; more cores can process more instructions at the same time.
Corrective / adaptive / perfective maintenanceAS Level
Fixing bugs / changing the program for new requirements or environments / improving performance or usability.
Data dictionaryAS Level
Metadata about a database: tables, fields, data types, keys, validation rules.
Data privacyAS Level
The right of individuals to keep their personal data confidential and control how it is used.
DBMSAS Level
Database management system: software that manages a database, with a data dictionary, query processor, security and backup.
DDL / DMLAS Level
Data definition language creates/changes the structure (CREATE, ALTER); data manipulation language queries/changes data (SELECT, INSERT, UPDATE, DELETE).
DDoS attackAll levels
Distributed denial of service: many compromised computers flood a server with requests so genuine users cannot access it.
De Morgan's lawsA2 Level
NOT(A AND B) = NOT A OR NOT B; NOT(A OR B) = NOT A AND NOT B — 'break the bar, change the sign' (9618 §15.2).
Declarative programmingA2 Level
Writing facts and rules; the language finds solutions that satisfy a goal (e.g. Prolog).
DecompositionAll levels
Breaking a problem down into smaller sub-problems that are easier to solve.
Deep learningA2 Level
Machine learning using artificial neural networks with many hidden layers.
Digital certificateA2 Level
An electronic document from a Certificate Authority binding a public key to an identity.
Digital currencyO Level / IGCSE
Money that exists only in electronic form, e.g. cryptocurrency tracked by a blockchain.
Dijkstra's algorithmA2 Level
Finds the shortest path from a source node to all other nodes in a weighted graph.
Disk thrashingA2 Level
The computer spends more time swapping pages between RAM and disk than executing instructions.
DNSAll levels
Domain name system: servers that translate domain names into IP addresses.
DRAMAS Level
Dynamic RAM: uses capacitors that must be refreshed, cheaper and denser — used for main memory.
Dry runAll levels
Working through an algorithm by hand with test data, usually recording values in a trace table.
Echo checkO Level / IGCSE
The receiver sends the data back to the sender, which compares it with the original to detect transmission errors.
EEPROMAS Level
ROM that can be erased and rewritten electrically while in the circuit.
Embedded systemO Level / IGCSE
A computer system with a dedicated function built into a larger device (e.g. a washing machine).
EncapsulationA2 Level
Keeping an object's attributes private and accessing them only through its methods.
EncryptionAll levels
Scrambling data with a key so that it is meaningless if intercepted.
Entity-relationship (E-R) diagramAS Level
A diagram showing entities and the relationships (1:1, 1:M, M:M) between them.
Exception handlingA2 Level
Code that detects a run-time error and responds to it without the program crashing (TRY … EXCEPT).
Expert systemO Level / IGCSE
AI that mimics a human expert using a knowledge base, rule base, inference engine and user interface.
Fetch–decode–execute cycleAll levels
The repeated process by which the CPU fetches an instruction from memory, decodes it and carries it out.
FirewallAll levels
Monitors and filters network traffic between a computer/network and the internet according to rules.
FirmwareAll levels
Software stored in non-volatile memory (ROM/flash) that controls a device's hardware, e.g. the bootstrap loader.
Flip-flopA2 Level
A logic circuit with two stable states that stores one bit; SR and JK types are the building blocks of registers and SRAM (9618 §15.2).
FlowchartAll levels
A diagram using standard symbols joined by flow lines to show the steps of an algorithm.
Foreign keyAS Level
A field in one table that is the primary key of another table, used to link the tables.
Full adderA2 Level
A logic circuit that adds two bits plus a carry-in, producing a sum and a carry-out; built from two half adders and an OR gate.
FunctionAll levels
A named subroutine that returns a single value to the point where it was called.
Global variableAll levels
A variable declared outside all subroutines that can be used anywhere in the program.
Hashing algorithm (files)A2 Level
A calculation on a record's key that gives the address where the record is stored in a random-access file.
HexadecimalAll levels
Base-16 number system (0–9, A–F); one hex digit represents 4 bits, so it is a compact way to write binary.
High-level languageAll levels
A programming language close to English, portable between machines, where one statement becomes many machine instructions.
HTTPSAll levels
The secure version of HTTP, using SSL/TLS to encrypt data between browser and web server.
IDEAll levels
Integrated development environment: software for writing programs, with an editor, run-time environment, translator, error diagnostics and auto-completion.
Identifier tableAS Level
A table listing each identifier in an algorithm with its data type and description.
Image resolutionAll levels
The number of pixels in an image, given as width × height.
InheritanceA2 Level
A subclass gains the attributes and methods of its superclass and can add or override them.
Insertion sortA2 Level
Builds a sorted list one item at a time by inserting each item into its correct place among those already sorted.
Instruction setAll levels
The complete list of machine-code instructions that a particular CPU can decode and execute.
InterpreterAll levels
Translates and executes a high-level program one line at a time; stops at the first error.
InterruptAll levels
A signal to the processor that an event needs immediate attention; the current task is paused and an ISR runs.
IP addressAll levels
A logical address given to a device on a network so data can be routed to it; IPv4 is 32-bit, IPv6 is 128-bit.
IterationAll levels
Repeating a set of statements: count-controlled (FOR), pre-condition (WHILE) or post-condition (REPEAT) loops.
Karnaugh mapA2 Level
A grid method for simplifying Boolean expressions by grouping adjacent 1s (9618 §15.2).
KernelAS Level
The core of the operating system that manages memory, processes and hardware.
LAN / WANAS Level
Local area network on one site / wide area network over a large geographical area.
Lexical analysisA2 Level
First stage of compilation: removes white space and comments and converts the source into tokens.
Library programAS Level
Pre-written, pre-tested code that can be linked into a program, e.g. a DLL.
Linked listAll levels
A dynamic data structure in which each node holds data and a pointer to the next node.
Local variableAll levels
A variable declared inside a subroutine; it exists only while that subroutine runs.
Logic gateAll levels
An electronic component that performs a Boolean operation (NOT, AND, OR, NAND, NOR, XOR) on binary inputs.
Logical shiftAll levels
Moving every bit in a register left or right; vacated positions are filled with 0 and bits shifted out are lost.
Lossless compressionAll levels
Reduces file size without losing any data, so the original can be restored exactly (e.g. run-length encoding).
Lossy compressionAll levels
Reduces file size by permanently removing data the user is unlikely to notice (e.g. JPEG, MP3).
Low-level languageAll levels
Machine code or assembly language; specific to one type of CPU and gives direct control of the hardware.
MAC addressAll levels
A unique 48-bit physical address given to a network interface card by the manufacturer, written in hexadecimal.
Machine learningAll levels
A type of AI in which a program can adapt its own processes or data from experience, improving without being explicitly reprogrammed.
MalwareAll levels
Malicious software, e.g. viruses, worms, Trojan horses, spyware, adware and ransomware.
Mantissa & exponentA2 Level
The two parts of a floating-point number: significant digits (mantissa) and the power of two scale (exponent).
Massively parallel computerA2 Level
A computer with a very large number of processors working together on parts of the same problem.
Memory address register (MAR)All levels
Register holding the address of the memory location currently being read from or written to.
Memory data register (MDR)All levels
Register holding the data or instruction just read from, or about to be written to, memory.
Mesh topologyAS Level
Devices connect to several others, so there are many routes between any two nodes.
Network interface card (NIC)O Level / IGCSE
Hardware that lets a device connect to a network; it holds the device's MAC address.
Normal / abnormal / extreme / boundary dataAll levels
Test data that should be accepted / rejected / is at the limit of the accepted range / is at and just beyond the limit.
Normalisation (databases)AS Level
Organising tables to remove redundancy and update anomalies (1NF, 2NF, 3NF).
ObjectA2 Level
An instance of a class.
Open sourceAS Level
Software whose source code is available to users to study, modify and redistribute under its licence.
Operating systemAll levels
System software that manages hardware, memory, files, processes, security and the user interface.
OverflowAll levels
When a calculation produces a result too large to be stored in the available number of bits.
PacketAll levels
A small unit of data sent over a network, made of a header (destination/source IP, packet number), payload and trailer.
Packet switchingAll levels
Data split into packets that may take different routes and are reassembled at the destination.
PagingA2 Level
Memory management that divides memory into fixed-size frames and processes into pages of the same size.
Parallel transmissionO Level / IGCSE
Several bits sent at the same time down several wires.
ParameterAll levels
A value passed into a subroutine when it is called.
ParityAll levels
An extra bit added so the number of 1s is even (or odd), used to detect single-bit errors.
Peer-to-peerAS Level
Network model in which every computer has equal status and can share resources directly.
PharmingAll levels
Malicious code or DNS changes that redirect a user from a genuine website to a fake one.
PhishingAll levels
Fraudulent emails or messages that trick a user into giving personal details, often via a fake website link.
PipeliningA2 Level
Overlapping the fetch, decode and execute stages of successive instructions to increase throughput.
PolymorphismA2 Level
Objects of different classes responding to the same method call in class-specific ways.
Primary keyAll levels
A field (or fields) whose value uniquely identifies each record in a table.
ProcedureAll levels
A named subroutine that performs a task and does not return a value.
Process schedulingA2 Level
The OS deciding which process uses the CPU: e.g. round robin, first come first served, shortest job first.
Program counter (PC)All levels
Register holding the address of the next instruction to be fetched.
Program development life cycleO Level / IGCSE
The stages of producing a program: analysis, design, coding and testing.
Programming paradigmA2 Level
A style of programming: low-level, imperative (procedural), object-oriented or declarative.
Proxy serverO Level / IGCSE
A server that sits between users and the internet, filtering requests, caching pages and hiding users' IP addresses.
PseudocodeAll levels
A structured, language-independent way of writing an algorithm using programming-like statements.
Public / private IP addressAS Level
A public IP address is unique on the internet; a private one is used only inside a LAN and reached through NAT.
Public key infrastructureA2 Level
The system of certificate authorities, digital certificates and key pairs used to verify identities online.
Quantum cryptographyA2 Level
Using the properties of photons to distribute keys so that any eavesdropping is detected.
QueueAll levels
A first-in first-out (FIFO) data structure with front and rear pointers.
RAMAll levels
Random access memory: volatile primary storage holding the programs and data currently in use.
RansomwareAll levels
Malware that encrypts a user's files and demands payment for the key.
Rapid application development (RAD)AS Level
A development approach based on quick prototypes and user feedback rather than detailed up-front planning.
RecordAS Level
A composite data type made of fields that can have different data types.
RecursionA2 Level
A function that calls itself, with a base case to stop and a general case that moves towards it.
Referential integrityAS Level
Every foreign key value must match an existing primary key value in the linked table.
Register Transfer NotationAS Level
Notation describing data movement between registers, e.g. MAR ← [PC].
Reinforcement learningA2 Level
Machine learning where an agent learns by trial and error from rewards and penalties.
Reverse Polish NotationA2 Level
Postfix notation where operators follow operands; evaluated with a stack without brackets.
RISC / CISCA2 Level
Reduced vs Complex Instruction Set Computer — few simple fixed-length instructions vs many complex ones.
RobotO Level / IGCSE
A programmable machine with a mechanical structure, electrical components and the ability to be programmed to carry out tasks.
ROMAll levels
Read-only memory: non-volatile primary storage holding firmware such as the bootstrap loader.
RouterAll levels
Device that forwards packets between networks using their destination IP addresses.
Run-length encoding (RLE)All levels
Lossless compression that replaces a run of identical values with one copy of the value and a count.
Sample rateAll levels
The number of sound samples taken per second, measured in hertz.
Sample resolutionAll levels
The number of bits used to store each sound sample (bit depth).
SegmentationA2 Level
Memory management that divides a process into variable-size logical segments.
SelectionAll levels
Choosing which statements run depending on a condition (IF … THEN … ELSE, CASE).
SensorAll levels
An input device that measures a physical quantity such as temperature, light or pressure.
Serial / sequential / random file organisationA2 Level
Records in order of arrival / in key order / at an address calculated from the key.
Serial transmissionO Level / IGCSE
Data sent one bit at a time down a single wire.
SIMD / MIMDA2 Level
Single instruction multiple data / multiple instruction multiple data — parallel processing classifications.
Simplex / half-duplex / full-duplexO Level / IGCSE
Data in one direction only / both directions but one at a time / both directions at the same time.
Solid-state storageAll levels
Storage with no moving parts that keeps data in NAND flash memory cells by trapping electrons.
SQLAll levels
Structured Query Language: used to define, query and change data in a database.
SRAMAS Level
Static RAM: uses flip-flops, needs no refreshing, faster and more expensive — used for cache.
SSL / TLSA2 Level
Protocols that authenticate a server with its certificate and encrypt data sent between client and server.
StackAll levels
A last-in first-out (LIFO) data structure with push and pop operations and a top pointer.
Stack frameA2 Level
The block on the call stack holding a subroutine call's parameters, local variables and return address.
Star topologyAS Level
Every device connects to a central switch or hub.
Static / dynamic IP addressAS Level
A static IP address stays the same; a dynamic one is allocated (by DHCP) each time a device connects.
Stepwise refinementAS Level
Breaking each step of an algorithm into smaller steps until each can be written as a program statement.
Structure diagramAll levels
A hierarchical diagram showing how a problem is decomposed into sub-systems.
Structured EnglishAS Level
A restricted form of English with keywords and indentation used to describe an algorithm.
Stub testingAS Level
Replacing an unfinished module with a simple placeholder so the rest can be tested.
Supervised / unsupervised learningA2 Level
Machine learning from labelled examples / finding patterns in unlabelled data.
Symmetric encryptionAll levels
Encryption in which the same secret key is used to encrypt and decrypt.
Syntax analysisA2 Level
Compilation stage that checks the tokens follow the grammar of the language and builds a parse tree.
TCP/IP stackA2 Level
Four-layer protocol model: application, transport, internet and link.
Trace tableAll levels
A table used to dry-run an algorithm, recording the value of each variable at each step.
Truth tableAll levels
A table showing the output of a logic circuit or expression for every combination of inputs.
Two-step verificationAll levels
Authentication that needs a second step (e.g. a code sent to a phone) as well as a password.
Two's complementAll levels
A method of representing signed integers where the MSB has a negative place value.
UnicodeAll levels
A character set using up to 32 bits per character so it can represent the characters of all the world's languages and emoji.
URLO Level / IGCSE
Uniform resource locator: a text address for a web resource, made of protocol, domain name and file path.
USBO Level / IGCSE
Universal Serial Bus: a serial interface standard for connecting devices, which also supplies power.
User-defined data typeA2 Level
A data type created by the programmer from built-in types, e.g. record, enumerated, pointer, set.
Utility softwareAS Level
System software that helps maintain the computer, e.g. anti-virus, defragmentation, backup, compression.
ValidationAll levels
Automated checks that input data is reasonable (range, type, length, presence, format, check digit).
VariableAll levels
A named memory location whose value can change while the program runs.
Vector graphicAS Level
An image stored as a list of drawing objects and their properties, so it can be scaled without losing quality.
VerificationAll levels
Checking data has been transferred/entered accurately (double entry, visual check).
Virtual machineA2 Level
Software emulation of a computer system, allowing multiple OSs to run on one physical machine.
Virtual memoryAll levels
Part of secondary storage used as if it were RAM when RAM is full; pages are swapped in and out.
Von Neumann architectureAll levels
Computer design in which data and instructions are stored together in the same memory and fetched by the CPU.
Waterfall modelAS Level
A development life cycle in which each stage is completed before the next begins.
White-box / black-box testingAS Level
Testing with knowledge of the code's paths / testing inputs against expected outputs without looking at the code.
World Wide WebO Level / IGCSE
The collection of web pages and resources accessed over the internet using a browser and HTTP(S).
Enroll nowOnline classes