Glossary
All key terms across GCSE, AS, and A2 Computer Science.
A
| is the magnitude of the difference between the true value and the approximated value: | true value - stored value | . Relative error is the absolute error expressed as a proportion of the true value: absolute error / | true value | . It is often expressed as a percentage. |
is the process of hiding complex implementation details and exposing only the essential features to the user. In OOP, abstract classes and interfaces define what an object can do without specifying how it does it.
View topic →a set of rules that users must agree to follow in order to use an organisation’s IT systems.
View topic →converts continuous analogue signals into discrete digital data. A DAC (Digital-to-Analogue Converter) does the reverse. These are essential for interfacing between the analogue real world and digital computers.
View topic →is an iterative and incremental approach to software development that delivers working software in short cycles called sprints (typically 1–4 weeks). It embraces change, values collaboration, and prioritises working software over comprehensive documentation.
View topic →is an iterative approach where the system is developed in short cycles called iterations (or sprints, typically 2-4 weeks). Each iteration produces a working increment of the software that can be reviewed and tested by the client.
View topic →is a finite, ordered sequence of unambiguous instructions that, given a set of inputs, produces a defined set of outputs and terminates in a finite amount of time.
View topic →is testing done in-house before release. Beta testing is testing done by external users in a real-world environment before the final release.
View topic →the part of the CPU that performs arithmetic operations (addition, subtraction) and logical comparisons (AND, OR, NOT, greater than, equal to).
View topic →states that the maximum speedup of a program through parallelisation is limited by the proportion of the program that must remain sequential. No matter how many processors are added, the sequential portion creates an upper bound on performance improvement.
View topic →- comments added to the code to explain what it does. Comments are ignored by the computer when the program runs.
moving data that is no longer actively used to a separate, long-term storage medium. The data is preserved but removed from the main system.
View topic →works identically to logical shift left: bits move left, vacated positions on the right are filled with 0s. The sign bit may change, potentially causing overflow.
View topic →moves all bits to the right by the specified number of positions. Vacated positions on the left are filled with a copy of the sign bit (the MSB). This preserves the sign of the number, making it suitable for dividing signed (two’s complement) numbers by powers of 2.
View topic →is an ordered, fixed-size collection of elements of the same data type, stored in contiguous memory locations. Each element is accessed by its index.
View topic →a 7-bit character encoding standard representing 128 characters, primarily English letters, digits, and symbols.
View topic →a low-level language where each instruction corresponds to a single machine code operation. It is specific to a particular type of CPU and uses mnemonics to represent instructions.
View topic →- a variable that belongs to an object, describing its properties (for example, name, age).
(also called properties or fields) are the data items stored within an object. Methods are the functions defined within a class that operate on the object’s attributes and define its behaviour.
View topic →the process of verifying a user’s identity to confirm they are who they claim to be. This prevents unauthorised access to a system or its data.
View topic →B
is a formal notation for describing the syntax of a language using a set of production rules. Each rule defines how a non-terminal symbol can be replaced by a sequence of terminal and/or non-terminal symbols.
View topic →the maximum amount of data that can be transmitted over a network connection in a given time period, usually measured in bits per second (bps). Higher bandwidth allows faster data transfer.
View topic →- Data is collected over a period of time and processed all at once as a single batch, without user interaction during processing.
- a mathematical notation that describes the upper bound of an algorithm’s growth rate as the input size increases. It classifies algorithms by how their time or space requirements scale, ignoring constants and lower-order terms. For example, O(n^2) means the time roughly quadruples when the input doubles.
a base-2 number system using only the digits 0 and 1. All data in a computer is ultimately stored and processed as binary.
View topic →- a binary tree that represents an arithmetic expression. Each leaf node contains an operand (number or variable), and each internal node contains an operator. The left and right children of an operator node are its operands (or sub-expressions).
is a search algorithm that works on sorted data by repeatedly dividing the search interval in half. It compares the target value to the middle element and eliminates half of the remaining elements at each step.
View topic →- a binary tree in which, for every node, all values in its left subtree are less than the node’s value, and all values in its right subtree are greater than the node’s value. This property enables efficient searching.
- a hierarchical data structure in which each node has at most two children, referred to as the left child and the right child. In a binary search tree (BST), all values in the left subtree are less than the node, and all values in the right subtree are greater.
a security method that verifies a user’s identity using unique biological characteristics such as fingerprints, facial recognition, iris scans, or voice patterns.
View topic →(binary digit) is the smallest unit of data, holding a value of either 0 or 1. A byte is a group of 8 bits. A word is a fixed-size group of bits that the processor can handle as a single unit.
View topic →the number of bits used to represent each audio sample. A higher bit depth provides a greater range of amplitude values, resulting in more accurate sound reproduction.
View topic →is the technique of using a logical operation (AND, OR, XOR) with a carefully chosen pattern of bits (the mask) to extract, set, toggle, or clear specific bits within a binary value.
View topic →a type of image (also called a raster image) that is stored as a grid of pixels. Each pixel holds a binary value representing its colour. Bitmap file size = width × height × colour depth.
View topic →an image made up of a grid of pixels, where each pixel stores colour data. File size depends on resolution and colour depth.
View topic →is a short-range wireless technology for exchanging data between devices over short distances using the 2.4 GHz ISM band. It is designed for low-power, low-cost personal area networks (PANs).
View topic →a data type that can hold one of only two values: true or false (1 or 0). Boolean values are fundamental to logic gates, conditional statements, and decision-making in programs.
View topic →- a branch of algebra in which variables can only take the values 0 (false) or 1 (true), and the operations are AND (.), OR (+) and NOT (overbar). It provides a formal mathematical framework for simplifying logic circuits and expressions.
a network device that connects two network segments and filters traffic between them.
View topic →is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order. The largest unsorted value “bubbles up” to the end of the list on each pass.
View topic →is a temporary storage area in memory used to hold data that is being transferred between two devices or processes that operate at different speeds.
View topic →a set of parallel wires that carries data, addresses, or control signals between components inside a computer. The three main buses are the data bus, address bus, and control bus.
View topic →C
a small, very fast memory located close to (or inside) the CPU that stores frequently accessed data and instructions. Cache reduces the time the CPU spends waiting for data from RAM.
View topic →- a region of memory that stores information about active function calls. Each time a function is called, a new stack frame is pushed onto the call stack containing the function’s local variables, parameters, and return address. When the function returns, its frame is popped off the stack.
provide wide-area wireless connectivity through a network of base stations (cell towers). Each base station covers a geographical “cell”, and devices are handed off between cells as they move.
View topic →an extra digit calculated from other digits using an algorithm, appended to a code to detect transcription errors.
View topic →provides a large number of complex instructions, some of which can perform multi-step operations in a single instruction. Each instruction may take multiple clock cycles to execute.
View topic →is a blueprint or template that defines the attributes (data) and methods (behaviour) that objects of that type will have. An object is a specific instance of a class, with its own values for the attributes defined by the class.
View topic →- setting specific bits in a binary word to 0 while leaving other bits unchanged. This is achieved by ANDing the word with a pattern that has 0s in the positions to clear and 1s elsewhere.
allows users to interact with the OS by typing text commands at a prompt. Commands are processed by a command-line interpreter (shell). CLIs require knowledge of specific command syntax but offer powerful, scriptable control over the system.
View topic →a computer or program that requests services, data, or resources from a server over a network. In a client-server model, the client initiates the request and the server responds.
View topic →the delivery of computing services — including storage, processing, and software — over the internet (‘the cloud’) on a pay-as-you-go basis, rather than using local hardware and software.
View topic →(Software as a Service, SaaS) is hosted on remote servers and accessed via the internet. Locally installed software is installed directly on the user’s device and runs using local hardware resources.
View topic →is a supplementary processor designed to handle specific types of computation, offloading work from the main CPU to improve overall system performance.
View topic →is a formal document that outlines the ethical principles, professional standards, and behavioural expectations that members of a professional body agree to follow. It serves as a framework for making ethical decisions in the workplace.
View topic →occurs when two devices transmit data simultaneously on a shared medium, causing the signals to interfere. CSMA/CD detects collisions on wired networks. CSMA/CA avoids collisions on wireless networks.
View topic →the number of bits used to represent the colour of each pixel in an image. A colour depth of n bits allows 2^n different colours (e.g. 8-bit = 256 colours, 24-bit = 16.7 million colours).
View topic →voice systems recognise a limited set of short, predefined spoken commands to control a device or application. They use a restricted vocabulary matched against stored templates.
View topic →translates the entire source code into an executable before the program runs. An interpreter translates and executes one line at a time during runtime. An assembler translates assembly language (low-level) into machine code.
View topic →the UK law that makes it illegal to gain unauthorised access to a computer, modify data without permission, or supply tools for committing computer crimes.
View topic →is a named data item whose value is fixed at the time of declaration and cannot be changed during program execution. Constants improve readability, maintainability, and reduce errors.
View topic →a small text file stored on a user’s computer by a website. It contains data that the website can read the next time the user visits.
View topic →is the legal right of the creator of an original work to control how it is used, copied, and distributed. Under UK law, it applies automatically to software, music, text, images, and other creative works.
View topic →- a variable used to keep track of how many times something has happened, such as how many numbers have been entered.
the main processing chip in a computer that fetches, decodes, and executes instructions. It contains the ALU (Arithmetic Logic Unit), control unit, and registers.
View topic →is the science of securing information by transforming it into an unreadable format (ciphertext) that can only be converted back to readable form (plaintext) by someone with the correct key. Encryption is the process of converting plaintext to ciphertext; decryption is the reverse.
View topic →a style sheet language used to control the presentation and layout of HTML web pages, including colours, fonts, spacing, and responsive design.
View topic →D
used at the end of an LMC program to reserve named memory locations. DAT on its own reserves empty space; DAT 1 reserves space and sets the initial value to 1.
View topic →means that all copies and representations of a data item agree with each other. If a customer’s address is stored in multiple places, every instance must hold the same value at any given time.
View topic →occurs when an instruction requires the result of a previous instruction before it can execute. Data dependencies force sequential execution and prevent parallelisation of those instructions.
View topic →(also called the system catalogue) contains metadata about every object in the database: table names, field names, data types, constraints, relationships, indexes, and user access rights. It is maintained automatically by the DBMS.
View topic →is a graphical tool that shows the flow of data through a system, including its sources, destinations, processes, and storage. A context diagram is the highest-level DFD showing the whole system as one process.
View topic →is the ability to change the way data is stored or organised without affecting the programs that use it.
View topic →is the process of discovering patterns, correlations, and anomalies in large datasets using statistical and computational techniques to make predictions or gain insights.
View topic →the main UK law governing how personal data must be handled. It gives individuals rights over their data and imposes obligations on organisations that process it.
View topic →is the unnecessary duplication of data. In a flat-file system, the same information (e.g. a customer name and address) may be stored in the orders file, the invoices file, and the accounts file.
View topic →occurs in parallel transmission when bits travelling on different wires arrive at slightly different times due to minor differences in wire length or electrical properties. This limits parallel transmission to short distances.
View topic →specifies the kind of value a variable can store and the operations that can be performed on it. The five core data types at AS level are: integer, real (float/double), Boolean, character, and string.
View topic →is a large, centralised repository that stores historical data from multiple operational sources, organised specifically for analysis and reporting rather than day-to-day transaction processing.
View topic →an organised collection of structured data stored electronically, designed to allow efficient storage, retrieval, and management of information.
View topic →is software that manages access to a database, providing data definition, data manipulation, security, and integrity features while hiding the physical storage details from users.
View topic →an attack where many compromised computers (a botnet) simultaneously flood a target server with requests, overwhelming its resources and making it unavailable to legitimate users.
View topic →- two transformation rules that relate AND and OR operations through complementation: - First law: A . B = Ā + B̄ (the complement of AND equals OR of complements) - Second law: A + B = Ā . B̄ (the complement of OR equals AND of complements) In words: “break the bar, change the sign.”.
the process of finding, diagnosing and fixing errors (bugs) in a program. IDEs support debugging through tools such as breakpoints, stepping, watch windows and error messages.
View topic →specifies the desired result without explicitly listing the step-by-step commands needed to achieve it. Logic programming uses facts and rules to answer queries through logical inference.
View topic →is the process of breaking a large problem down into smaller sub-problems that are easier to understand, solve, and test individually.
View topic →a base-10 number system using digits 0-9, the standard number system used by humans in everyday life.
View topic →is the process of reviewing a system design to confirm it correctly and completely addresses the requirements specification. It answers the question: “Are we building the right system?”.
View topic →is software that translates generic OS commands into specific instructions that a particular hardware device can understand and execute.
View topic →is the gap between those who have access to modern information and communication technology (computers, the internet, digital skills) and those who do not. It exists between countries (global divide), within countries (social divide), and between generations (generational divide).
View topic →a documented plan for restoring IT systems and data after a major incident such as a fire, flood, or cyber attack.
View topic →a utility that divides a physical storage device into separate logical sections (partitions). Each partition is treated as an independent drive by the operating system.
View topic →is a database where the data is stored across multiple computers (nodes) at different physical locations, but appears to users as a single, unified database.
View topic →a system that translates human-readable domain names (e.g. www.example.com) into numerical IP addresses that computers use to identify each other on a network.
View topic →- A principle of software development that states every piece of knowledge or logic should have a single, unambiguous representation in the code. If you find yourself copying and pasting code, you should probably extract it into a subroutine.
(desk checking) is manually working through a program on paper, line by line, to verify that it produces the correct output. A trace table is a tabular record of variable values at each step of execution.
View topic →E
in programming refers to a solution that is concise, clear, and closely mirrors the mathematical or logical definition of the problem. Recursive solutions are often considered elegant because they express the problem in terms of itself.
View topic →is a computer system built into a larger device to perform a dedicated function. It is not a general-purpose computer — it is designed for one specific task.
View topic →is the bundling of data (attributes) and the methods that operate on that data into a single unit (class), while restricting direct access to the internal state. External code interacts with the object only through its public methods.
View topic →the process of converting plain text into an unreadable format (cipher text) using an algorithm and a key. Only someone with the correct key can decrypt the data back to its original form.
View topic →is a real-world object or concept about which data is stored (e.g., Student, Course, Teacher). A relationship describes how entities are associated with each other.
View topic →models the data entities in a system and the relationships between them. A primary key uniquely identifies each record in an entity. A foreign key is an attribute in one entity that references the primary key of another entity.
View topic →- The process of anticipating, detecting, and responding to errors that occur during program execution, preventing the program from crashing.
the most common wired networking standard, using copper or fibre optic cables to connect devices on a local network.
View topic →in computing refers to the moral principles that govern the design, development, and use of technology. Unlike laws, ethical standards are not legally enforceable, but they guide responsible behaviour in areas where legislation may be absent or insufficient.
View topic →uses a knowledge base of facts and rules, combined with an inference engine, to draw conclusions and provide advice in a specialised domain. It aims to replicate the reasoning of a human expert.
View topic →F
is an investigation carried out early in the SDLC to determine whether a proposed project is viable and worth pursuing. It examines the project from multiple perspectives before significant resources are committed.
View topic →is the continuous process by which the CPU fetches an instruction from memory, decodes it to understand what operation is required, and then executes the operation.
View topic →A single item of data (e.g., a surname, a date of birth). Record: A collection of related fields describing one entity (e.g., one student). File: A collection of related records (e.g., all students in a school).
View topic →a security utility that monitors network traffic and blocks unauthorised access based on a set of predefined rules. It acts as a barrier between a trusted internal network and untrusted external networks such as the internet.
View topic →A relation is in 1NF if it contains no repeating groups and every field contains only atomic (indivisible) values. Each row must be uniquely identifiable.
View topic →allocate the same amount of space for every record, allowing direct calculation of record positions. Variable-length records use only the space needed, separated by delimiters.
View topic →stores all data in one table, leading to redundancy and anomalies. A relational database stores data in multiple linked tables, reducing redundancy and improving data integrity.
View topic →stores real numbers (numbers with fractional parts) using two components: the mantissa (which holds the significant digits of the number) and the exponent (which determines the position of the binary point). This is analogous to scientific notation in denary.
View topic →is a visual representation of an algorithm using standard symbols (terminators, processes, decisions, input/output) connected by arrows to show the flow of control.
View topic →- A field in one entity that references the primary key of another entity, establishing a link between them. For example, AuthorID in the Book table references AuthorID in the Author table.
a protocol used to transfer files between a client and a server over a network. It supports uploading, downloading, renaming, and deleting files on a remote server.
View topic →is a subroutine that returns a value. A procedure (called a Sub in VB.NET) is a subroutine that performs an action but does not return a value.
View topic →is a paradigm where programs are constructed by applying and composing pure functions. Functions are first-class citizens — they can be passed as arguments, returned from other functions, and assigned to variables.
View topic →measures whether the system does what it is supposed to do – whether it correctly implements all the features specified in the requirements.
View topic →G
is a comprehensive data protection framework that gives individuals control over their personal data and requires organisations to handle that data lawfully, transparently, and securely. In the UK, it is implemented through the Data Protection Act 2018.
View topic →- A variable declared outside all subroutines, at the top level of the program. It can be accessed from anywhere in the program.
uses the massively parallel architecture of a graphics card for general-purpose computation. GPUs contain thousands of small, simple cores optimised for performing the same operation on many data points simultaneously.
View topic →uses visual elements — windows, icons, menus, and pointers (WIMP) — to allow users to interact with the computer. Events such as mouse clicks and key presses are handled by the OS and passed to the appropriate application.
View topic →H
is the exchange of control signals between two devices to establish the rules and parameters of a communication session before any data is transmitted.
View topic →refers to the physical, tangible components of a computer system – the parts you can touch. Software refers to the programs and data that instruct the hardware what to do.
View topic →uses physically separate memory stores and buses for instructions and data, allowing both to be fetched simultaneously. This removes the Von Neumann bottleneck and increases throughput.
View topic →- a data structure that maps keys to values using a hash function. The hash function converts a key into an array index, allowing average-case O(1) insertion, deletion, and lookup. When two different keys produce the same index, a collision occurs and must be resolved.
is a function that takes a key value as input and produces a storage address as output. The same key always produces the same address (deterministic).
View topic →a secondary storage device that stores data on spinning magnetic platters read by a moving head. HDDs offer large storage capacity at low cost but are slower and more fragile than SSDs.
View topic →is a base-16 number system using digits 0-9 and letters A-F. It provides a compact, human-readable way to represent binary data, where each hexadecimal digit corresponds to exactly 4 binary bits.
View topic →a programming language that uses English-like syntax and abstracts away hardware details. It must be translated into machine code before execution.
View topic →are words that sound identical when spoken but have different meanings and often different spellings.
View topic →a markup language used to structure content on web pages. Browsers read HTML files and render them as formatted pages.
View topic →a markup language used to define the structure and content of web pages. HTML uses tags to describe elements such as headings, paragraphs, links, and images.
View topic →the protocol used by web browsers to request and receive web pages from web servers. It operates at the application layer and defines how messages are formatted and transmitted.
View topic →a secure version of HTTP that adds encryption using TLS/SSL to protect data in transit between the browser and server, preventing eavesdropping and tampering.
View topic →a network device that broadcasts data to all connected devices on a network, regardless of the intended recipient.
View topic →is the study and design of how people interact with computers. It focuses on making interfaces that are effective, efficient, and satisfying for users.
View topic →I
a software package that combines a code editor, translator, debugging tools and other features into a single application to support program development. Examples include Visual Studio, PyCharm, IDLE, Thonny and Replit.
View topic →is an ordered list of key values paired with the physical addresses of the corresponding records in the data file. It works like the index at the back of a textbook — you look up a term to find the page number.
View topic →stores records in key order with an index that enables fast lookup by pointing to the approximate location of a record, reducing the number of records that must be searched.
View topic →allows a new class (subclass or child class) to be based on an existing class (superclass or parent class), inheriting its attributes and methods. The subclass can add new attributes/methods or override existing ones.
View topic →builds the sorted list one element at a time. It takes each element from the unsorted portion and inserts it into its correct position within the sorted portion, shifting elements as necessary.
View topic →is a software application that provides a comprehensive set of tools for software development within a single interface. Examples include Visual Studio, PyCharm, Eclipse, and VS Code.
View topic →- The user interacts with the system and receives immediate responses. Processing occurs in direct response to user input.
is the way that different modules communicate with each other. In practice, this means the parameters a function accepts and the value it returns.
View topic →is a worldwide collection of interconnected computer networks that communicate using the TCP/IP protocol suite. It is not a single network but a network of networks.
View topic →is a signal that temporarily halts the current process so the CPU can handle a higher-priority event. An Interrupt Service Routine (ISR) is the special routine that handles a specific type of interrupt.
View topic →is a special routine stored in memory that handles a specific type of interrupt. The interrupt vector table maps each interrupt type to the memory address of its ISR.
View topic →a network layer protocol that wraps data into packets, adding source and destination IP addresses, and routes them across interconnected networks to their destination.
View topic →a unique numerical address assigned to every device on a network, used to identify the device and route data to it. IPv4 uses 32 bits; IPv6 uses 128 bits.
View topic →- a section of code is repeated. This can be a fixed number of times (count-controlled) or until a condition is met (condition-controlled).
J
a high-level programming language primarily used to add interactive behaviour to web pages. It runs in the browser and can respond to user events, manipulate the DOM, and communicate with servers.
View topic →L
a network that covers a small geographical area such as a home, school, or office building. LANs typically offer high data transfer speeds and low latency.
View topic →the time delay between sending a request and receiving a response over a network. Lower latency means faster response times. Factors affecting latency include distance, congestion, and the number of hops.
View topic →occurs when a single word has more than one meaning. The correct meaning depends on context.
View topic →a collection of pre-written code modules that provide commonly needed functionality (e.g. mathematical operations, file handling, graphics). Programmers can import and use library code in their own programs rather than writing everything from scratch.
View topic →(also called sequential search) is an algorithm that checks every element in a list, one by one, from the beginning until the target value is found or the end of the list is reached.
View topic →- a dynamic data structure made up of nodes, where each node contains a data field and a pointer (link) to the next node in the sequence. Unlike arrays, linked list elements are not stored contiguously – they are connected logically through pointers.
combines one or more object code files (produced by the compiler) with any required library code into a single executable file. It resolves references between separately compiled modules.
View topic →is an instructional model of a simple computer. It has a limited instruction set, a single accumulator register, an input tray, an output tray, and 100 mailboxes (memory locations numbered 00–99).
View topic →- the ratio of the number of items stored to the total number of slots in the hash table: load factor = n / table_size. A higher load factor increases the likelihood of collisions. For open addressing, performance degrades sharply above a load factor of around 0.7. Tables are often resized when the load factor exceeds a threshold.
is a part of the operating system that loads an executable file from secondary storage into main memory (RAM) and prepares it for execution by the CPU.
View topic →is declared inside a subroutine and is only accessible within that subroutine. A global variable is declared outside all subroutines and is accessible throughout the entire program. Best practice is to use local variables wherever possible and pass data between subroutines using parameters.
View topic →an error where code runs without crashing but produces incorrect or unexpected output because the algorithm is wrong.
View topic →- a digital circuit that performs a Boolean function on one or more binary inputs to produce a single binary output. The behaviour of every gate is completely defined by its truth table.
moves all bits to the left by the specified number of positions. Vacated positions on the right are filled with 0s. Bits shifted out of the left end are lost. Each shift left multiplies the value by 2.
View topic →moves all bits to the right by the specified number of positions. Vacated positions on the left are filled with 0s. Bits shifted out of the right end are lost. Each shift right divides the value by 2 (integer division, truncating any remainder).
View topic →a validation technique that compares input against a predefined list of acceptable values, often presented as a dropdown menu.
View topic →reduces file size while allowing the original data to be perfectly reconstructed. Lossy compression achieves greater size reduction by permanently removing some data, meaning the original cannot be fully restored.
View topic →a method of reducing file size by permanently removing some data, particularly details that are less noticeable to humans. The original file cannot be perfectly reconstructed. Used for images (JPEG), audio (MP3), and video.
View topic →M
a unique hardware identifier assigned to a network interface card (NIC) by the manufacturer. It is a 48-bit address usually written as six pairs of hexadecimal digits (e.g. AA:BB:CC:DD:EE:FF) and is used for communication within a local network.
View topic →malicious software designed to damage, disrupt, or gain unauthorised access to a computer system. It is a general term covering all types of harmful programs.
View topic →- using a bitwise operation to extract or isolate certain bits from a binary word. AND masking selects bits (keeps them visible), while OR masking can force bits to 1.
is a permanent file containing the current state of data (e.g. customer accounts). A transaction file is a temporary file containing recent changes (additions, deletions, amendments) to be applied to the master file.
View topic →- a divide-and-conquer sorting algorithm that recursively splits a list in half, sorts each half, and then merges the two sorted halves back together. It is a stable sort with a guaranteed time complexity of O(n log n) in all cases.
a named block of code that belongs to a class. Methods define what an object can do.
View topic →is a design approach where a program is divided into independent, interchangeable modules, each handling a specific piece of functionality.
View topic →contains two or more independent processing units (cores) on a single chip. Each core can fetch, decode, and execute instructions independently, allowing genuine parallel execution of multiple threads or processes.
View topic →is the process of combining multiple signals over a single shared communication channel. A multiplexer (MUX) combines the signals at the sending end, and a demultiplexer (DEMUX) separates them at the receiving end.
View topic →N
allows users to interact with a computer using everyday human language (spoken or typed) rather than a formal command syntax or graphical controls.
View topic →describes the physical or logical arrangement of devices in a network. The choice of topology affects performance, fault tolerance, and cost.
View topic →is a very short-range wireless technology (up to approximately 10 cm) based on RFID. It enables simple, touch-based communication between devices.
View topic →is the process of adjusting the mantissa and exponent so that the mantissa uses all available bits to store significant digits, thereby maximising the precision of the representation.
View topic →O
a specific instance created from a class. For example, if Crab is the class, then a particular crab on screen is an object.
View topic →the translated binary (machine code) version of a program that the CPU can execute directly.
View topic →provides access to its source code, allowing users to view, modify, and distribute it. Proprietary software keeps its source code secret and requires users to purchase a licence for use.
View topic →is system software that manages computer hardware resources, provides common services for application programs, and acts as an interface between the user and the hardware.
View topic →system software that manages hardware resources, provides a user interface, and allows application software to run. Examples include Windows, macOS, Linux, iOS and Android.
View topic →occurs when the result of an arithmetic operation is too large (positive) or too small (negative) to be represented in the available number of bits.
View topic →P
is a formatted unit of data containing a header (with addressing and control information), a payload (the actual data), and sometimes a trailer (for error checking). Packets are the fundamental unit of data transmission on TCP/IP networks.
View topic →a very small network for personal devices, typically within a few metres using Bluetooth or USB.
View topic →is the simultaneous execution of multiple instructions or tasks by dividing a problem into parts that can be solved concurrently across multiple processors or cores.
View topic →- A variable listed in a subroutine’s definition that receives a value when the subroutine is called.
a reference (address) to the original data is sent to the subroutine. Changes inside the subroutine affect the original variable.
View topic →a copy of the data is sent to the subroutine. Changes inside the subroutine do not affect the original variable.
View topic →any information that can be used to identify a living individual, such as name, address, date of birth, email address, medical records, or financial details.
View topic →a social engineering attack where fraudulent emails or messages that appear to be from a trusted source trick users into revealing passwords, financial details, or clicking malicious links.
View topic →the smallest addressable element of a bitmap image. Each pixel stores a binary value representing its colour. The number of bits per pixel determines the range of colours available (colour depth).
View topic →is a technique where the CPU repeatedly checks (polls) each I/O device in turn to see if it needs attention or has data ready.
View topic →(meaning “many forms”) allows objects of different classes to be treated through the same interface. A method call on a variable can produce different behaviour depending on the actual type of the object at runtime.
View topic →the ability of source code to be run on different types of hardware or operating systems without modification. High-level languages are portable; low-level languages are not.
View topic →- the process of computing the result of a postfix expression using a stack. Operands are pushed onto the stack; when an operator is encountered, the required number of operands are popped, the operation is applied, and the result is pushed back.
uses statistical techniques and machine learning on historical data to make predictions about future events or behaviours.
View topic →uniquely identifies each record. A foreign key is a field in one table that references the primary key of another table. A composite key is a primary key made up of two or more fields.
View topic →are the simplest data types provided by a programming language, from which more complex data structures are built. They include Boolean, character, string, integer, and real (floating point).
View topic →private properties enforce data hiding by preventing direct access from outside the class. Access is only possible through public methods (getters and setters), which can include validation logic.
View topic →is a paradigm based on the concept of procedure calls, where programs are built from one or more procedures (sequences of instructions) that operate on data.
View topic →is a program in execution. The three main process states are Ready, Running, and Blocked (Waiting).
View topic →is the method by which the OS determines the order in which processes receive CPU time. The scheduler selects a process from the ready queue to move to the running state.
View topic →is a fundamental style or approach to programming that defines how we structure and organise code to solve problems.
View topic →software where the source code is not made available to users. It is owned by an individual or company, and users must purchase a licence to use it. Modification and redistribution are restricted.
View topic →is a standardised set of rules governing the format, timing, and error handling of data communication between devices on a network.
View topic →involves building a preliminary version (a prototype) of the system to explore requirements, test ideas, and gather user feedback before building the final product.
View topic →is a structured way of writing an algorithm using short English statements. It is not a real programming language, so there is no single correct syntax, but it should be clear and unambiguous.
View topic →Q
- a First-In-First-Out (FIFO) data structure. The first item added (enqueued) is the first item removed (dequeued). A queue can be visualised as a line of people waiting – people join at the rear and leave from the front.
- a divide-and-conquer sorting algorithm that selects a pivot element, partitions the list into elements less than the pivot and elements greater than the pivot, then recursively sorts the two partitions. Average time complexity is O(n log n) but worst case is O(n^2).
R
is a methodology that prioritises rapid prototyping and quick feedback over lengthy planning and documentation. The goal is to produce a working system as quickly as possible.
View topic →volatile memory that temporarily stores data and instructions currently in use by the CPU. Its contents are lost when power is removed. RAM can be read from and written to.
View topic →allows any record to be accessed directly by calculating its storage address from the key field, typically using a hash function.
View topic →a type of malware that encrypts a victim’s files or locks them out of their system, then demands a payment (ransom) in exchange for restoring access.
View topic →- Data is processed immediately as it is received, with results produced fast enough to influence the current process or environment.
is a collection of related fields that represent a single entity (e.g. one customer). A field is a single data item within a record (e.g. surname). A key field uniquely identifies each record.
View topic →- a technique in which a function (or procedure) calls itself in order to solve a problem. Every recursive solution must have a base case (a condition that stops the recursion) and a recursive case (where the function calls itself with a smaller or simpler input).
- The process of restructuring existing code without changing its external behaviour. The goal is to improve readability, reduce duplication, and make the code easier to maintain.
a tiny, extremely fast storage location inside the CPU used to hold data, instructions, or addresses currently being processed. Key registers include the accumulator, program counter, and memory address register.
View topic →- A link or association between two entities (e.g. a Student enrols on a Course). Relationships are drawn as lines connecting entities, with a diamond or label on the line.
(also called a software requirements specification or SRS) is a formal document that describes exactly what the new system must do. It forms a contract between the client and the developers, and all subsequent design, development, and testing are based on it.
View topic →the number of pixels in an image, typically expressed as width × height (e.g. 1920×1080). Higher resolution means more pixels and greater detail, but also a larger file size.
View topic →- also called postfix notation – is a way of writing arithmetic expressions where the operator comes after its operands. For example, the infix expression 3 + 4 is written as 3 4 + in RPN. It eliminates the need for brackets and operator precedence rules.
uses many simple instructions that each execute in one clock cycle. CISC uses fewer, more powerful instructions that may take several cycles each. RISC is more power-efficient; CISC can do more per instruction.
View topic →uses a small, highly optimised set of simple instructions, each typically executing in a single clock cycle. Complex operations are built by combining multiple simple instructions.
View topic →(also called a sentinel value) is a special value entered by the user to signal the end of data input. It must be a value that could never be valid data in the context of the program.
View topic →non-volatile memory that permanently stores data, typically containing the boot-up instructions (BIOS/firmware). Its contents are not lost when power is removed and cannot normally be modified.
View topic →adjusts the value to the nearest representable number. If the discarded portion is greater than or equal to half the value of the last retained bit, the last retained bit is rounded up.
View topic →a network device that directs packets between different networks using IP addresses.
View topic →is the process of selecting the optimal path for packets across a network. Routers use routing tables to determine the next hop for each packet based on its destination IP address.
View topic →an error where code compiles but crashes during execution due to an unexpected condition such as division by zero or accessing invalid memory.
View topic →S
the number of audio samples captured per second when digitising sound, measured in Hertz (Hz). A higher sample rate captures more detail and produces better quality audio but increases file size.
View topic →the process of measuring an analogue sound wave at regular intervals and converting each measurement into a digital value. Higher sample rate and bit depth produce better quality but larger files.
View topic →- The region of a program in which a variable is visible and can be used. Local scope means inside one function; global scope means the entire program.
A relation is in 2NF if it is in 1NF and every non-key attribute is fully functionally dependent on the whole primary key (no partial dependencies).
View topic →is non-volatile storage used for the long-term retention of data and programs. Unlike primary memory (RAM), it retains data when the computer is powered off.
View topic →- a decision is made and the program follows one path or another depending on a condition. Common selection statements are IF…ELSE and CASE / SELECT.
a tag that does not need a separate closing tag. Examples include , <hr> and
(line break).
- Code that is written in such a way that its purpose can be understood from reading the code itself, without needing additional comments. Meaningful identifier names are the most important aspect of self-documenting code.
- a variable, function, or sub routine name that clearly describes its purpose. For example, totalScore is better than ts.
occurs when a sentence is grammatically clear but can still be interpreted in different ways due to the meaning of the words in context.
View topic →- instructions are carried out one after another, in the order they are written.
stores records in order of a key field. Searching can be more efficient than serial because the search can stop once the key value has been passed.
View topic →stores records in the order they were entered, with no sorting or logical ordering applied.
View topic →a computer or program that provides services, data, or resources to other computers (clients) over a network. Servers can host websites, manage files, handle email, or run databases.
View topic →- an algorithm invented by Edsger Dijkstra that converts infix expressions to postfix (or prefix) notation using a stack. It processes tokens left to right, using the stack to hold operators temporarily while respecting precedence and associativity.
a method of representing signed binary where the MSB indicates the sign (0 = positive, 1 = negative) and the remaining bits represent the value.
View topic →allows one-way communication only. Half duplex allows two-way communication but only one direction at a time. Full duplex allows simultaneous two-way communication.
View topic →manipulating people into revealing confidential information or performing actions that compromise security, rather than exploiting technical vulnerabilities.
View topic →is the modification of a software product after delivery to correct faults, improve performance, or adapt the software to a changed environment. It is the longest and most expensive phase of the software development life cycle.
View topic →The three types of software maintenance are: Corrective (fixing bugs), Adaptive (adapting to environmental changes), and Perfective (improving or enhancing the software). In exam scenarios, identify the trigger to determine the type.
View topic →is the illegal copying, distribution, or use of copyrighted software. It is a breach of the Copyright, Designs and Patents Act 1988 and can result in criminal prosecution and significant fines.
View topic →the original program written by the programmer in a high-level or assembly language, before translation.
View topic →- a measure of how much additional memory an algorithm requires relative to the input size. Like time complexity, it is expressed using Big O notation. It typically measures auxiliary space (extra space beyond the input itself).
a targeted phishing attack aimed at a specific individual or organisation, using personal details to appear more convincing and harder to detect than generic phishing.
View topic →a type of malware that secretly monitors user activity and collects personal information such as browsing habits, login credentials, and keystrokes, then sends this data to a third party.
View topic →a standard language used to create, read, update, and delete data in a relational database. Common commands include SELECT, INSERT, UPDATE, DELETE, and CREATE TABLE.
View topic →an attack where malicious SQL code is inserted into a web form or URL input field, allowing the attacker to access, modify, or delete data in the underlying database.
View topic →a secondary storage device that uses flash memory (NAND chips) with no moving parts. SSDs are faster, more durable, and quieter than HDDs, but typically cost more per gigabyte.
View topic →sorting algorithm preserves the relative order of elements with equal keys. All three algorithms covered here (bubble, insertion, merge) are stable.
View topic →- a Last-In-First-Out (LIFO) data structure. The last item added (pushed) is the first item removed (popped). A stack can be visualised as a pile of plates – you can only add or remove from the top.
models the behaviour of a system by showing its possible states and the events that cause transitions between those states. Each transition may have an associated condition and/or action.
View topic →states that instructions (the program) and data are stored together in main memory. Instructions are fetched and executed sequentially unless a branch instruction is encountered.
View topic →visually represents the hierarchical decomposition of a system into modules. It shows which modules call which other modules and provides a clear overview of the system architecture.
View topic →is a named block of code that performs a specific task. Subroutines include both functions (which return a value) and procedures (which do not return a value). Using subroutines is fundamental to writing structured, modular programs.
View topic →a network device that sends data only to the intended device using MAC addresses, reducing unnecessary network traffic.
View topic →is the coordination of parallel processes to ensure they execute in the correct order and produce consistent results, particularly when accessing shared resources.
View topic →occurs when the grammatical structure of a sentence allows more than one interpretation, even though each individual word is clear.
View topic →is the set of rules that defines the valid structure of statements in a programming language. Programming language syntax must be completely unambiguous so that every valid program has exactly one interpretation.
View topic →the stage of compilation that checks the token stream against the grammar rules of the language and builds a parse tree. If the structure is invalid, syntax errors are reported.
View topic →(also called a railroad diagram) is a graphical representation of the syntax rules of a language. It uses lines, arrows, and labelled shapes to show the valid sequences of symbols that form a construct.
View topic →an error where code breaks the programming language’s grammar rules and cannot be compiled or interpreted.
View topic →is a structured framework that defines the stages involved in developing an information system, from initial investigation through to maintenance. It provides a systematic approach to planning, creating, testing, and deploying software.
View topic →T
an HTML keyword surrounded by angle brackets, e.g. <p>. Most tags come in pairs: an opening tag (<p>) and a closing tag (</p>).
View topic →a connection-oriented transport layer protocol that breaks data into segments, adds sequence numbers, and ensures reliable, ordered delivery by requesting retransmission of lost or corrupted packets.
View topic →is aimed at IT professionals and programmers. It describes the internal structure, design, and implementation of the software to support future maintenance and development.
View topic →outlines the testing strategy and contains a test table that specifies each individual test case, including the test data, expected results, and actual results.
View topic →- A file that stores data as plain text, with each line typically representing one piece or row of data.
the gap between those who have access to modern technology and the internet and those who do not. It creates inequality in education, employment, and access to services.
View topic →a relation is in 3NF if it is in 2NF and there are no transitive dependencies — every non-key attribute depends directly on the primary key, not on another non-key attribute.
View topic →is the smallest unit of processing that can be scheduled by the OS. A single process can contain multiple threads that share the same memory space but execute independently.
View topic →is a problem-solving approach where a complex problem is broken down into a series of smaller, more manageable sub-problems. Each sub-problem is then further broken down until each part is simple enough to be solved directly. This repeated decomposition is called stepwise refinement.
View topic →is a technique used to dry-run an algorithm by recording the values of variables at each step of execution. It is used to check the correctness of an algorithm and to understand its behaviour.
View topic →a temporary file that holds all the changes (additions, deletions, modifications) that need to be applied to the master file. Transactions are collected over a period and then processed in a batch.
View topic →takes source code as input and produces executable code (or an intermediate form) as output. The three types are compilers, interpreters, and assemblers.
View topic →is a hierarchical data structure with a root node at the top. Each node may have child nodes. A binary tree is a tree where each node has at most two children — a left child and a right child.
View topic →a type of malware that disguises itself as legitimate software to trick users into installing it. Unlike viruses, Trojans do not self-replicate but can create backdoors, steal data, or install other malware.
View topic →simply removes (discards) the excess bits beyond the available precision. The remaining bits are left unchanged. This always rounds towards zero.
View topic →is a table that shows every possible combination of inputs to a logic gate and the corresponding output. For a gate with n inputs, the truth table has 2^n rows.
View topic →is the standard method for representing signed (positive and negative) integers in binary. The most significant bit (MSB) acts as the sign bit: 0 for positive, 1 for negative. The key advantage is that addition and subtraction work identically for both positive and negative numbers without special handling.
View topic →U
occurs in floating point arithmetic when a number is too close to zero to be represented. The exponent becomes more negative than the minimum allowed value, and the number collapses to zero. This is different from overflow, which involves numbers that are too large.
View topic →a universal character encoding standard that can represent characters from almost all written languages, as well as emojis and symbols. It uses up to 32 bits per character.
View topic →- a gate that can be used on its own to implement any Boolean function. Both NAND and NOR are universal gates. AND, OR and NOT alone are not universal because none of them individually can produce all the others.
a human-readable address used to identify a specific resource on the internet, such as a web page. It typically includes the protocol (e.g. https), domain name, and path.
View topic →is a short, informal description of a feature written from the perspective of an end user. It follows the format: “As a [type of user], I want [some feature] so that [some benefit].”.
View topic →is system software that performs specific maintenance, optimisation, or security tasks to support the efficient operation of the computer system.
View topic →V
- The process of checking that data meets specified rules or criteria before it is accepted by the program. Validation checks that data is reasonable and sensible, but it cannot guarantee data is correct.
is a named storage location in memory whose value can change during program execution. A constant is a named value that is set once and cannot be changed during execution.
View topic →an image stored as a collection of mathematical objects (lines, shapes, curves) defined by properties such as coordinates, radius, and fill colour. Vector images can be scaled without loss of quality.
View topic →checks whether the software has been built correctly according to the specification (“Are we building the product right?”). Validation checks whether the software meets the actual needs of the user (“Are we building the right product?”).
View topic →tracks every change made to source code files, recording who made each change, when, and why. It enables multiple developers to work on the same project simultaneously without overwriting each other’s work.
View topic →uses secondary storage to extend the apparent size of RAM. Pages of a program are swapped between RAM and disk as needed, managed by the OS.
View topic →the creation of a virtual (rather than physical) version of a computing resource, such as a server, operating system, or storage device. Virtual machines allow multiple OS instances to run on a single physical machine.
View topic →a type of malware that attaches itself to a legitimate program or file. It requires user action to spread (e.g. opening an infected file) and can corrupt data, slow performance, or damage the system.
View topic →systems convert continuous, natural speech into text. They must handle a large vocabulary, varied sentence structures, and connected words spoken at normal speed.
View topic →(speaker verification) is a biometric security system that identifies or verifies a person based on the unique physical characteristics of their voice, rather than understanding what they say.
View topic →memory loses its contents when the power supply is removed. Non-volatile memory retains its contents without power.
View topic →stores both program instructions and data in the same memory space, accessed via a single shared bus. This creates the Von Neumann bottleneck where the CPU must wait for either data or instructions because only one can be fetched at a time.
View topic →W
a network that spans a large geographical area, connecting multiple LANs across cities, countries, or continents. The internet is the largest WAN.
View topic →is a sequential, linear approach to software development where each stage must be completed before the next begins. Progress flows in one direction – like a waterfall – through a fixed sequence of stages.
View topic →is a family of wireless networking protocols based on the IEEE 802.11 standards. Wi-Fi allows devices to connect to a local area network (LAN) wirelessly using radio waves.
View topic →a type of malware that replicates itself and spreads automatically across networks without requiring user action. Worms consume bandwidth and system resources, and can carry malicious payloads.
View topic →X
- a simple symmetric encryption technique where each bit (or byte) of plaintext is XORed with the corresponding bit (or byte) of a key. Applying the same XOR operation a second time with the same key recovers the original plaintext.