Skip to content
Educator

GCSE Computer Science Key Terms & Vocabulary

Every key term and definition you need for GCSE Computer Science, organised by topic. 240 definitions across 8 topics (AQA · Edexcel · Eduqas · OCR), free to read and practise with spaced-repetition flashcards.

Practise these terms free →
Anticipating misuse
a programmer thinks about how a user could accidentally or deliberately cause a program to fail, and writes code to prevent harm.
One-dimensional array
a single, ordered list of values held under a single variable name.
Two-dimensional array
a grid of values organised by rows and columns.
2D array
useful for representing data in a table or grid form — spreadsheets, game boards, etc.
Array items
accessed using their index, e.g. a[3] is the fourth item in a zero-indexed array.
Authentication
the process of checking who a user is.
Boundary values
tested because edge cases are where off-by-one and equality-vs-strict-inequality bugs often hide.
Boundary test data
data at the edges of the valid range — typically the minimum, maximum, and the values just outside.
Characters
converted to numeric codes so the computer can store them as binary patterns in memory.
Chessboard
best modelled by an 8 × 8 2D array (one row and one column for each square).
Comment
a note added to code to explain its purpose; it is ignored by the computer when the program runs.
Comments
not executed — they are there only for the human reader, not the computer.
Constant
a named value that is fixed at declaration and cannot change while the program runs.
Defensive design
writing programs that anticipate unexpected or incorrect use and handle it gracefully instead of crashing.
Erroneous data
data the program should reject as invalid — the test is whether the rejection actually happens.
Erroneous test data
data the program should reject — wrong type, out of range, or invalid format.
Error handling
code that catches runtime errors (e.g. dividing by zero, opening a missing file) and responds sensibly instead of crashing.
Indentation
the consistent use of horizontal spacing to show that statements belong inside a block (e.g. a loop or IF statement).
Indentation
essential to making nested control structures readable, especially in languages without explicit end markers.
Input sanitisation
the process of removing or replacing dangerous or unexpected characters from user input before the program uses it.
Integer
a whole number with no decimal part (e.g. 42, -3, 0).
Iteration
repeating a block of code, with each repetition called a pass through the loop.
Local variable
a variable that exists only inside the subroutine that declared it.
Logic error
the code runs but produces the wrong result — the syntax is correct, the reasoning is not.
Logic errors
usually the hardest to find because the program still runs — only the output is wrong.
Maintainability
how easily a program can be read, understood, changed, and debugged, especially by someone other than the original programmer.
Modular programs
typically easier to debug because each module's behaviour can be examined in isolation.
Modular code
easier to test than one large block, because each module has clear boundaries.
Modularity
splitting a program into independent, well-defined parts (modules or subroutines).
Nested loop
a loop placed inside another loop; the inner loop completes all its iterations for every one iteration of the outer loop.

Showing 30 of 257. Practise the full Programming set →

Access control
limiting which users can access which resources.
Anti-virus software alone
not enough — social engineering bypasses technical controls by attacking the human.
Fingerprint scan
a biometric authentication factor (PINs, USB keys, SMS codes are knowledge/possession factors, not biometrics).
Black-box testing
the tester has no inside knowledge of the system — they probe it as an outsider would.
Blagging (also called pretexting)
inventing a believable story to convince a victim to grant access or hand over information.
Blagging
a story-based manipulation — it does not involve writing malicious code or hacking a server.
CAPTCHA's main job
to tell humans apart from automated bots on web forms.
CAPTCHAs
not a replacement for passwords on a login form — they supplement rather than replace authentication.
Email confirmation alone
NOT a complete two-factor authentication system — it's a single account-creation check, not an ongoing second login factor.
Cyber security
the protection of computers, devices, networks and data from unauthorised access, damage and disruption.
Cyber security
everyone's responsibility, not just the IT department's — most successful attacks involve human error (e.g. clicking a phishing link).
Primary purpose
to prevent unauthorised access to data and systems, and to keep services running reliably.
Default passwords
risky because attackers already know them — they're published in manuals and on enumeration sites.
Default credentials
widely published in vendor manuals and online lists; that's the fundamental reason to change them.
Forcing frequent password changes
now considered bad practice — users respond by creating weaker, predictable variants. NIST and NCSC both discourage scheduled rotation.
Malware
software intentionally designed to harm a computer, steal data, or disrupt services.
Malware
malicious software designed to harm systems — it is not legitimate productivity software.
Malware
created with malicious intent — this is the defining property, not how it's delivered.
Malware
short for "malicious software" — software written with harmful intent.
Malware
short for malicious software.
Cyber security
not concerned with CPU clock speed, screen brightness, file compression, or language translation — those are unrelated computing concerns.
Outdated software
NOT more secure than updated software — it's almost always less secure because known vulnerabilities remain unfixed.
Outdated software
a risk because its known vulnerabilities remain unpatched and attackers can exploit them at will.
Good password rule
to use a long, unique passphrase for each site (NCSC's "three random words" guidance is a UK example).
Common policy rule
a minimum length of 8–12 characters (NIST now recommends at least 15).
Password policy
a set of rules governing how passwords are created and used on a system.
Patch
a security fix for known bugs in software.
Penetration testing
an authorised simulated cyberattack designed to find weaknesses in a system before real attackers do.
Convincing pharmed page
designed to look identical to the legitimate site so users don't notice the substitution.
One defence
to check the exact site address and HTTPS padlock before entering credentials — a pharmed page often has an incorrect URL or missing/invalid TLS certificate.

Showing 30 of 170. Practise the full Cyber Security set →

ASCII
limited in modern use because it cannot encode many non-English characters (no Chinese, Arabic, Cyrillic, accented Latin).
Binary
the base computers use natively.
Bit
the smallest unit of digital information — a single binary digit holding 0 or 1.
There
8 bits in a byte.
There
8 bits in 1 byte.
Byte
made up of eight bits.
Colour depth
the number of bits used to represent the colour of a single pixel.
Colour depth
bits per pixel, not to the height of the image in pixels (that's part of resolution).
Compression
useful because compressed files take less storage space and less bandwidth (transmit faster).
Compression
not always lossy by default — many widely-used compressed formats (ZIP, PNG, FLAC) are lossless.
Decimal
base 10 — it uses ten distinct digits (0-9).
Gigabyte
larger than a megabyte (10⁹ bytes vs 10⁶ bytes).
Hexadecimal
a more compact way of writing binary values.
Hex
used because each digit equals 4 bits — making conversion to binary trivial.
Hex
used for memory addresses because it is compact and converts cleanly to binary, the form the hardware uses.
Hex
base 16, not base 8 (base 8 is octal — a different system using digits 0-7).
Hex
not used because it is faster for the CPU — the CPU still works in binary internally. Hex exists for human convenience.
Hex
shorter than binary because four binary digits collapse into a single hex digit, making it easier for programmers to read and write.
Hexadecimal symbols
0-9 followed by A, B, C, D, E, F (representing decimal values 10-15).
Character's Huffman code
read off by following the path from the root to that character's leaf, recording 0 for each left branch and 1 for each right branch.
Huffman coding
a lossless compression method — no data is lost.
Huffman coding
not a lossy method.
Huffman codes
prefix-free — no code is the prefix of another — so a decoder can unambiguously work out where one code ends and the next begins.
Huffman codes
typically shorter for more frequent characters.
Huffman coding
most effective when character frequencies are uneven — the more skewed the distribution, the bigger the savings.
If the sample rate
too low, the digital recording loses detail and high-frequency content from the original sound.
Nibble
4 bits — half a byte (the size of one hexadecimal digit).
Overflow
when the result of an addition needs more bits than the register can hold — the high bit is lost or flagged.
Overflow flag
a CPU status bit that indicates the most recent arithmetic operation exceeded the register's capacity.
Pixel
the smallest individually addressable dot in a raster image.

Showing 30 of 158. Practise the full Fundamentals of Data Representation set →

Accumulator (ACC)
the register that holds the data the ALU is currently working on and the result of the most recent ALU operation.
Assembly language
a low-level language — its instructions are mnemonics for the instruction set of one specific CPU architecture.
Assembly language
mostly made of short mnemonics (like MOV, ADD, SUB, LDR) that represent individual CPU instructions.
Web browser
application software — it performs a task for the user.
CPU cache
very fast memory placed close to (or on) the CPU that holds recently used instructions and data.
CD-ROM
optical (read by a laser), not magnetic storage.
Higher clock speed
more clock cycles per second, so more instructions can be executed per second (all else equal).
Compiled programs
usually distributed as binary executables; interpreted programs are typically distributed as source code that the user's interpreter then runs.
More CPU cores
more separate processing units, so multiple tasks (or threads) can run in parallel.
CPU
the component that fetches instructions from memory in a Von Neumann machine.
CPU
a hardware component (a physical silicon chip), not software.
Cycle
commonly written as fetch – decode – execute in that order.
Disk defragmenter
utility software that rearranges fragmented files on a hard drive so each file's data is stored in contiguous sectors.
Assembly
easier to read and write than raw machine code — mnemonics are easier for humans than long binary numbers.
Firmware
software stored permanently inside a hardware component (typically on ROM or flash memory) that provides low-level control of that device — for example the BIOS or the controller in a printer.
Harvard architecture
the main alternative — it uses physically separate memories and buses for code and data, removing the bottleneck.
HDDs
the most fragile of the three when running because their spinning platters and moving heads are easily damaged by shock.
High-level languages
the level that is closer to human language than to the CPU.
High-level languages
preferred for learning programming because they are easier to read, write, and debug.
Hardware
the physical/electronic parts of a computer; software is the set of instructions (programs and data) that tell the hardware what to do.
Machine code
binary instructions that the CPU can execute directly without any further translation.
Machine code
a low-level language, not high-level.
Multitasking
the OS's ability to run multiple programs apparently at once, by switching the CPU between them rapidly.
NAND gate
an AND gate followed by a NOT — the output is the inversion of AND.
Operating system
software, not hardware, even though it's stored on a hardware device (a disk).
Operating system
classed as system software, not application software.
Python
a high-level language — it uses readable English-like keywords (if, while, for, def).
Python
most commonly used as an interpreted, high-level language at school level.
At school level Python
the canonical example of an interpreted language.
RAM
volatile memory — its contents disappear when the computer is switched off.

Showing 30 of 153. Practise the full Computer Systems set →

Authentication
needed on a network to restrict access to authorised users only.
Biometric authentication
harder to fake than a password because the verifying feature is part of the user's body.
If encrypted data
intercepted, the attacker only sees scrambled ciphertext, not the original plaintext.
Common protocol
needed between two computers so they both agree on how data is sent and received.
Key disadvantage
the greater risk of malware spreading widely from one infected device to others on the network.
Encryption
used on a network so that intercepted data cannot be read by attackers.
Firewall
a filter for network traffic that allows or blocks packets based on configured rules.
Firewall
not a complete defence — other security layers (antivirus, patching, user training) are still needed.
Firewall
usually placed between a network and the internet — at the boundary between trusted and untrusted networks.
HTTP (Hypertext Transfer Protocol)
a typical network protocol — used for transferring web pages.
HTTP
used for transferring web pages and other resources between a web server and a web browser.
HTTPS
now the recommended default for all websites, not just login pages — modern browsers warn users when a site is plain HTTP.
IMAP
the protocol that leaves email on the server until the user deletes it (contrast with POP3, which downloads and removes).
IMAP
for retrieving email — it is not used for transferring web pages between servers (that's HTTP).
Internet
the world's largest WAN — spanning the entire globe.
IP address
a unique number identifying a device on a network.
IP's main job
addressing each packet (source and destination IP addresses) and routing it across the network.
Even strongly encrypted data
at risk if the encryption key itself is leaked.
Model
split into layers so each layer handles one specific job — protocols can change at one layer without affecting the others.
MAC address
a unique identifier assigned to a network adapter, used at the Link layer.
MAC address filtering
not impossible to bypass — spoofing is a well-known attack.
MAC address filtering
usually configured on the network router or wireless access point.
Computer network
best defined as two or more devices that share data via a communication link.
Computer network
two or more connected computers that can share data.
PAN (Personal Area Network)
the smallest network type, typically spanning a few metres around a single user.
Network protocol
a set of agreed rules for communication between devices.
Network protocol
a set of rules for communication between devices.
Server
a single device that can manage network access — handling authentication, file storage, and shared services.
SMTP
mainly used for sending email between mail servers.
SMTP
used to send email between mail servers (and from a mail client to its outgoing server).

Showing 30 of 140. Practise the full Fundamentals of Computer Networks set →

Abstraction
removing or hiding detail that isn't needed to solve the problem at hand, focusing only on the essential information.
Abstraction
ignoring details that are not relevant to solving the problem.
Algorithm
a precise, finite sequence of steps for solving a problem.
Algorithm
a sequence (an ordered set) of steps to complete a task — "a set of instructions" is too vague because order matters. An algorithm is not the same as a program; a program is one implementation of an algorithm.
AQA pseudo-code
language-independent — the exam does not enforce a single strict syntax, only the broad conventions in the AQA reference language document.
Binary search
faster than linear search on large sorted data sets — the log₂ n vs n gap widens rapidly.
If the target
less than the middle item, binary search continues with the lower half of the list (and discards the upper half).
Binary search
not always faster — on very small lists, or when the target is the first element, linear can win.
Bubble sort
in-place: it uses only a small fixed amount of extra memory (O(1) auxiliary).
Bubble sort
the more space-efficient algorithm on large data — it works in place using O(1) auxiliary memory.
Bubble sort's worst case
about n(n-1)/2 comparisons — quadratic time.
Decomposition
useful because smaller sub-problems are easier to understand, design, code, test, and reuse than the whole problem at once.
Decomposition
breaking a complex problem down into smaller, more manageable sub-problems.
Decomposition
splitting a problem into sub-problems — it does not combine many small problems into one larger problem.
If the target
the very first item in the list, linear search needs just one comparison.
Linear search
the search that works on unsorted data; binary search requires sorted data.
Linear search
sometimes preferred even on sorted data because it is simpler to write, read, and trace.
Merge sort
called divide and conquer because it splits the original problem into smaller sub-problems (sub-lists), solves them, and combines the results.
Merge sort
the one that uses the divide-and-conquer strategy.
Merge sort
faster than bubble sort on large data sets (O(n log n) vs O(n²)).
Merge sort
generally faster than bubble sort on large data sets (O(n log n) vs O(n²)).
Merge sort
preferred for sorting very large data sets where speed matters most.
Pseudo-code
used for describing algorithms in plain, language-independent steps before they're translated into a specific programming language.
Trace table
more useful when it records every change of each variable, not just the final values.
Trace tables
most useful for finding logic errors (the program runs but produces the wrong output).
Trace table
a row-by-row record of the values held by each variable at each step of an algorithm.
London Tube map
the classic example of abstraction — lines are drawn straight to show connectivity, not the geographically exact route.
Algorithm efficiency
typically compared using two resources: time taken (running speed) and memory used.
Flowchart arrows show the order of execution between the shapes.
The author of the algorithm is not a factor that affects its efficiency comparison — only its steps/memory/scaling do.

Showing 30 of 116. Practise the full Fundamentals of Algorithms set →

Data inconsistency
when the same fact is recorded with different values in different places — usually caused by missing updates to redundant copies.
Data redundancy
when the same data is stored in more than one place.
Database
an organised collection of data.
Typical real-world example
a school storing all pupil records (and class enrolment, attendance, grades) in a database.
Database
NOT just a folder of unrelated text files — the data is structured and the relationships are explicit.
Database
a structured store of related data with built-in query support — not a random text file or photo folder.
Database
designed for storing and retrieving large amounts of structured data.
Field
a single column of a database table — one attribute (name, age, year).
Field
NOT the entire row of data — it's a single column.
Foreign key
a field in one table that holds the primary key value of a record in another table — used to link the two.
Foreign key
used to link records across two tables (Students.class_id → Classes.id).
INSERT INTO
NOT used to delete records — that's the DELETE FROM statement.
Operation
called a "join" because two tables are joined into one combined result set.
Normalisation
the formal process that reduces redundancy in relational design by splitting into multiple tables according to normal-form rules.
Primary key
a unique identifier for each record in a table.
Record
a single row in a database table.
Record
one row representing a single entity in a database.
Record
a single row of data in a database table — typically describing one entity (one student, one book).
Redundancy
a problem because it wastes storage and risks inconsistency: an update missed in one place leaves contradictory data.
Relational database
a database that stores data in linked tables.
Relational database
the type of database that stores data in linked tables.
Relational design
chosen over a flat-file design because it reduces redundancy and the inconsistency that redundancy causes.
Table
a structured grid of rows and columns.
In AQA-style GCSE SQL, two tables are joined using a WHERE clause that matches the key fields: ... FROM A, B WHERE A.id = B.a_id.
At GCSE level, AQA's SQL questions are limited to two-table queries — they do not require students to write three- or four-table joins.
ASC stands for ascending order — smallest to largest, or A→Z for text.
SELECT title, name FROM Books, Authors WHERE Books.author_id = Authors.id returns each book's title plus its author's name.
A two-table query without a WHERE link condition produces every combination of rows (a Cartesian product).
A composite primary key uses two or more columns together for uniqueness — useful when no single column is unique on its own.
The best way to avoid storing a customer's address twice is to store the address once in a Customers table and link to it from Orders via a foreign key.

Showing 30 of 116. Practise the full Relational Databases and SQL set →

Try it for four weeks. Free.

One school. Unlimited classes. No card limit. No teacher limit. If your students aren't practising daily by the end of the trial, you owe us nothing.