Full Definitions and Terms

Every definition from every csNINJA article, written the way the examiner wants to see it. 532 terms, 721 marks.

How to read this page:

Chapters

A1.1 Computer Hardware and Operation

67 terms, 106 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
CPU (Central Processing Unit) [2]
  • The main processing component of a computer that fetches, decodes and executes program instructions. [1]
  • Contains the ALU, the CU and registers. [1]
processing, fetches, decodes and executes, ALU, CU, registers
ALU (Arithmetic Logic Unit) [2]
  • Part of the CPU that carries out arithmetic operations (add, subtract). [1]
  • And logical operations / comparisons (AND, OR, NOT, greater than). [1]
arithmetic, logical, comparisons
CU (Control Unit) [2]
  • Part of the CPU that directs and coordinates the other components. [1]
  • Decodes instructions and sends control signals to the ALU, memory and I/O. [1]
directs and coordinates, Decodes, control signals
Register [2]
  • A very small, very fast storage location inside the CPU. [1]
  • Holds the data, instruction or address the CPU is currently working on. [1]
fast storage location inside the CPU, currently working on
Program Counter (PC) [1]
  • Register that holds the memory address of the next instruction to be fetched. [1]
memory address, next instruction
Instruction Register (IR) [1]
  • Register that holds the current instruction being decoded and executed. [1]
current instruction
Memory Address Register (MAR) [1]
  • Register that holds the address in memory that is about to be read from or written to. [1]
address, read from or written to
Memory Data Register (MDR) [1]
  • Register that holds the data or instruction that has just been read from memory or is about to be written to memory. [1]
data or instruction, read from memory, written to memory
Accumulator (AC) [1]
  • Register that stores the intermediate results of calculations done by the ALU. [1]
intermediate results, ALU
Bus [2]
  • A set of parallel wires / communication pathway that carries signals. [1]
  • Between the CPU, memory and I/O devices. [1]
parallel wires / communication pathway, CPU, memory and I/O
Address bus [2]
  • Carries memory addresses from the CPU to memory. [1]
  • Is unidirectional (one way). [1]
memory addresses, unidirectional
Data bus [2]
  • Carries the actual data and instructions between CPU and memory. [1]
  • Is bidirectional (both ways). [1]
data and instructions, bidirectional
Control bus [1]
  • Carries control signals (read, write, clock, interrupt) between the CU and other components. [1]
control signals
GPU (Graphics Processing Unit) [2]
  • A processor with thousands of simple cores designed for parallel processing. [1]
  • Used for graphics rendering and other tasks that repeat the same operation on lots of data (e.g. machine learning). [1]
thousands of simple cores, parallel processing, graphics rendering, machine learning
Integrated GPU [2]
  • A GPU built into the same chip as the CPU. [1]
  • Shares system RAM, so it is cheaper and uses less power but is less powerful. [1]
built into the same chip as the CPU, Shares system RAM
Discrete GPU [2]
  • A separate graphics card with its own processor. [1]
  • Has its own dedicated VRAM, so it is more powerful but costs more and uses more power. [1]
separate graphics card, VRAM
VRAM [1]
  • Dedicated video memory on a GPU that stores textures and frame data for fast access. [1]
Dedicated video memory
Parallel processing [2]
  • Many calculations carried out at the same time. [1]
  • By splitting a task across multiple cores / processors. [1]
Many calculations carried out at the same time, multiple cores / processors
Volatile memory [1]
  • Memory that loses its contents when the power is switched off (e.g. RAM). [1]
loses its contents, power is switched off
Non-volatile memory [1]
  • Memory that keeps its contents when the power is switched off (e.g. ROM, SSD). [1]
keeps its contents, power is switched off
RAM (Random Access Memory) [2]
  • Volatile primary memory. [1]
  • Holds the programs and data currently in use so the CPU can access them quickly. [1]
Volatile, programs and data currently in use
ROM (Read Only Memory) [2]
  • Non-volatile primary memory that is read only. [1]
  • Stores the boot instructions / firmware (BIOS) needed to start the computer. [1]
Non-volatile, read only, boot instructions / firmware
Cache memory [2]
  • Small, very fast memory between the CPU and RAM (levels L1, L2, L3). [1]
  • Stores frequently used data and instructions so the CPU does not wait for slower RAM. [1]
very fast memory, L1, L2, L3, frequently used
L1 / L2 / L3 cache [2]
  • L1 is the smallest and fastest, inside each core. [1]
  • L2 is larger and slower, L3 is the largest and slowest and is shared between cores. [1]
L1, inside each core, L2, L3, shared between cores
Memory hierarchy [2]
  • Arrangement of memory types by speed, size and cost. [1]
  • Registers → cache → RAM → secondary storage: faster is smaller and more expensive. [1]
speed, size and cost, faster is smaller and more expensive
Latency [1]
  • The delay / time taken before data starts to be transferred after a request. [1]
delay / time taken
Throughput [1]
  • The amount of data transferred or processed per unit of time. [1]
amount of data, per unit of time
Cache hit [1]
  • When the data the CPU needs is found in the cache, so it is accessed quickly. [1]
is found in the cache
Cache miss [2]
  • When the data the CPU needs is not in the cache. [1]
  • So it has to be fetched from slower RAM, causing a delay. [1]
is not in the cache, slower RAM
Prefetching [2]
  • Loading data into the cache before it is requested. [1]
  • Based on a prediction of what the CPU will need next. [1]
Loading data into the cache before it is requested, prediction
LRU (Least Recently Used) [1]
  • Cache replacement policy that removes the item that has not been used for the longest time. [1]
removes the item that has not been used for the longest time
FIFO (First In First Out) [1]
  • Cache replacement policy that removes the item that was loaded first (the oldest). [1]
removes the item that was loaded first
Virtual memory [2]
  • Using part of secondary storage as if it were RAM. [1]
  • When RAM is full, so more programs can run than physical RAM allows. [1]
secondary storage as if it were RAM, RAM is full
MMU (Memory Management Unit) [1]
  • Hardware that translates virtual addresses into physical addresses. [1]
translates virtual addresses into physical addresses
Paging [2]
  • Dividing memory into fixed-size blocks called pages. [1]
  • Pages are swapped between RAM and secondary storage as needed. [1]
fixed-size blocks called pages, swapped between RAM and secondary storage
Page table [1]
  • A table that maps each virtual page to its physical location (frame) in RAM. [1]
maps each virtual page to its physical location
Swap file [1]
  • The file on secondary storage that holds pages moved out of RAM. [1]
secondary storage, moved out of RAM
Process isolation [2]
  • Each process gets its own virtual address space. [1]
  • So one process cannot read or change another process's memory. [1]
own virtual address space, cannot read or change another process's memory
Fetch-decode-execute cycle [2]
  • The continuous cycle the CPU repeats to run a program. [1]
  • Fetch the instruction from memory, decode it in the CU, execute it. [1]
continuous cycle, Fetch, decode, execute
Fetch (stage) [2]
  • The PC address is copied to the MAR, the instruction is copied from memory into the MDR then the IR. [1]
  • The PC is incremented to point to the next instruction. [1]
PC address is copied to the MAR, MDR, IR, PC is incremented
Decode (stage) [2]
  • The CU interprets the instruction in the IR. [1]
  • Splitting it into the opcode and the operand. [1]
CU interprets, opcode, operand
Execute (stage) [1]
  • The instruction is carried out (e.g. ALU calculation, LOAD, STORE, JUMP). [1]
carried out
Clock speed [2]
  • The number of cycles per second the CPU performs. [1]
  • Measured in hertz (GHz). Higher clock speed means more instructions per second. [1]
number of cycles per second, hertz (GHz)
Opcode [1]
  • The part of a machine instruction that says which operation to perform (e.g. ADD, LOAD). [1]
which operation
Operand [1]
  • The part of an instruction that gives the data or the address of the data to be used. [1]
data or the address of the data
Secondary storage [2]
  • Non-volatile storage used to keep data and programs permanently. [1]
  • Not directly accessed by the CPU, it is slower but larger than primary memory. [1]
Non-volatile, permanently, slower but larger
HDD (Hard Disk Drive) [2]
  • Magnetic storage using spinning platters and a moving read/write head. [1]
  • Large capacity and cheap per GB, but slower and has moving parts. [1]
Magnetic, spinning platters, slower, moving parts
SSD (Solid State Drive) [2]
  • Storage using flash memory with no moving parts. [1]
  • Faster, more durable and quieter than an HDD, but more expensive per GB. [1]
flash memory, no moving parts, Faster
eMMC [1]
  • Embedded flash storage soldered onto the motherboard, used in phones, tablets and cheap laptops. [1]
Embedded flash storage soldered onto the motherboard
Optical storage [1]
  • Storage (CD, DVD, Blu-ray) read and written by a laser reflecting off the disc surface. [1]
laser
NAS (Network Attached Storage) [2]
  • A storage device connected to a network. [1]
  • So multiple users and devices can store and access files centrally. [1]
connected to a network, multiple users and devices
Compression [2]
  • Reducing the size of a file (number of bits). [1]
  • To save storage space and reduce transmission time / bandwidth. [1]
Reducing the size of a file, save storage, reduce transmission time / bandwidth
Lossless compression [2]
  • Compression where no data is lost. [1]
  • The original file can be perfectly reconstructed (e.g. ZIP, PNG, text). [1]
no data is lost, original file can be perfectly reconstructed
Lossy compression [2]
  • Compression that permanently removes data, usually detail people will not notice. [1]
  • Gives smaller files but the original cannot be restored (e.g. JPEG, MP3). [1]
permanently removes data, smaller files, cannot be restored
Run-Length Encoding (RLE) [2]
  • Lossless method that replaces runs of repeated values. [1]
  • With one copy of the value and a count (e.g. AAAAA → 5A). [1]
runs of repeated values, one copy of the value and a count
Transform coding [2]
  • Lossy method that converts data into another form (e.g. frequencies). [1]
  • Then discards the parts that matter least to human perception. [1]
converts data into another form, discards the parts that matter least
Cloud computing [2]
  • Delivering computing resources (storage, processing, software) over the internet. [1]
  • From remote servers, usually on demand / pay as you go. [1]
storage, processing, software, over the internet, remote servers, on demand / pay as you go
SaaS (Software as a Service) [1]
  • The provider hosts complete applications that users access through a browser (e.g. Google Docs). [1]
complete applications, through a browser
PaaS (Platform as a Service) [1]
  • The provider supplies a platform / environment (OS, tools, runtime) for developers to build and deploy their own apps. [1]
platform / environment, developers to build and deploy
IaaS (Infrastructure as a Service) [2]
  • The provider rents out virtual hardware (servers, storage, networking). [1]
  • The user manages the OS and software on top. [1]
virtual hardware, user manages the OS and software
Clock cycle [1]
  • One tick of the CPU clock: the basic unit of time in which the CPU does one step of work. [1]
One tick of the CPU clock
Addressing mode [2]
  • The way an instruction tells the CPU how to find its operand [1]
  • (e.g. the value itself, or the memory address where the value is). [1]
how to find its operand, memory address
LOAD / STORE / JUMP [2]
  • LOAD copies data from memory into a register; STORE copies data from a register into memory. [1]
  • JUMP (JMP) changes the PC so execution continues at a different instruction. [1]
LOAD, from memory into a register, STORE, from a register into memory, JUMP, PC, different instruction
Virtual vs physical address [2]
  • A virtual address is the address a program uses. [1]
  • The MMU translates it into the physical address: the real location in RAM. [1]
virtual address, program uses, MMU translates, physical address
Cache replacement policy [1]
  • The rule that decides which item to remove from a full cache to make room for new data (e.g. LRU, FIFO). [1]
which item to remove from a full cache, LRU, FIFO
Flash drive (USB) [1]
  • Portable secondary storage using flash memory with no moving parts, connected by USB. [1]
Portable, flash memory, USB
Memory card [1]
  • Small, removable flash memory storage used in cameras and phones (e.g. SD, microSD). [1]
flash memory, SD, microSD

A1.2 Data Representation and Computer Logic

45 terms, 57 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Binary [1]
  • A base 2 number system that uses only the digits 0 and 1. [1]
base 2, 0 and 1
Bit [1]
  • A single binary digit, 0 or 1. The smallest unit of data. [1]
single binary digit, smallest unit
Nibble [1]
  • A group of 4 bits, equal to one hexadecimal digit. [1]
4 bits, one hexadecimal digit
Byte [1]
  • A group of 8 bits. [1]
8 bits
Kilobyte / Megabyte / Gigabyte [1]
  • 1 KB = 1024 bytes, 1 MB = 1024 KB, 1 GB = 1024 MB (each unit is 1024 times the one before). [1]
1 KB = 1024 bytes, 1024 times
Hexadecimal [2]
  • A base 16 number system using 0 to 9 and A to F. [1]
  • Used because it is shorter and easier for humans to read than binary (1 hex digit = 4 bits). [1]
base 16, 0 to 9 and A to F, shorter and easier for humans to read
Place value [1]
  • The value of a digit depends on its position. In binary each place is a power of 2 (1, 2, 4, 8...). [1]
value of a digit depends on its position, power of 2
Unsigned integer [2]
  • Uses all bits for the magnitude, so it can only store zero and positive numbers. [1]
  • Range with n bits: 0 to 2n − 1. [1]
all bits for the magnitude, zero and positive, 0 to 2n − 1
Two's complement [2]
  • A way of storing signed (negative and positive) integers in binary. [1]
  • The MSB has a negative place value; to negate, flip all bits and add 1. [1]
signed (negative and positive) integers, MSB has a negative place value, flip all bits and add 1
Most Significant Bit (MSB) [1]
  • The leftmost bit, with the highest place value. In two's complement it is the sign bit. [1]
leftmost bit, highest place value, sign bit
ASCII [2]
  • A character set that uses 7 bits to represent 128 characters. [1]
  • Covers English letters, digits and punctuation only. [1]
7 bits, 128 characters
Unicode [2]
  • A character set covering the characters of all languages and symbols (including emoji). [1]
  • Encoded with UTF-8, which uses 1 to 4 bytes per character and is backward compatible with ASCII. [1]
all languages, UTF-8, 1 to 4 bytes, backward compatible with ASCII
Pixel [1]
  • The smallest element of a digital image, a single point of colour. [1]
smallest element of a digital image
RGB colour model [2]
  • Colour is made by mixing red, green and blue channels. [1]
  • In 24-bit colour each channel is 1 byte (0 to 255), so each pixel uses 3 bytes. [1]
red, green and blue, 24-bit colour, 1 byte (0 to 255)
Colour depth [1]
  • The number of bits used to store the colour of one pixel. More bits means more possible colours. [1]
number of bits used to store the colour of one pixel, more possible colours
Sampling [1]
  • Measuring the amplitude of an analogue sound wave at regular intervals to convert it to digital. [1]
amplitude, at regular intervals
Sample rate [2]
  • The number of samples taken per second, measured in Hz. [1]
  • Higher sample rate gives better quality but a larger file. [1]
number of samples taken per second, Hz, better quality, larger file
Bit depth (audio) [2]
  • The number of bits used to store each sample. [1]
  • Higher bit depth gives more possible amplitude values and more accurate sound. [1]
number of bits used to store each sample, more possible amplitude values
Quantization [1]
  • Rounding each sampled amplitude to the nearest available value allowed by the bit depth. [1]
Rounding each sampled amplitude to the nearest available value
Frame (video) [1]
  • A single still image in a video. Frames shown quickly one after another create motion. [1]
single still image, motion
Multiplexing (video) [1]
  • Interleaving audio and video data in one stream so they stay synchronised. [1]
Interleaving audio and video data, synchronised
Logic gate [2]
  • An electronic circuit (made of transistors) that takes one or more binary inputs. [1]
  • And produces one binary output according to a Boolean function. [1]
transistors, binary inputs, one binary output, Boolean function
AND gate [1]
  • Outputs 1 only when all inputs are 1. [1]
only when all inputs are 1
OR gate [1]
  • Outputs 1 when at least one input is 1. [1]
at least one input is 1
NOT gate [1]
  • Has one input and inverts it (0 → 1, 1 → 0). [1]
one input, inverts
NAND gate [1]
  • NOT AND. Outputs 0 only when all inputs are 1. [1]
NOT AND, only when all inputs are 1
NOR gate [1]
  • NOT OR. Outputs 1 only when all inputs are 0. [1]
NOT OR, only when all inputs are 0
XOR gate [1]
  • Exclusive OR. Outputs 1 when the inputs are different. [1]
inputs are different
XNOR gate [1]
  • Outputs 1 when the inputs are the same. The inverse of XOR. [1]
inputs are the same
Truth table [2]
  • A table showing every possible combination of inputs. [1]
  • And the resulting output for a logic circuit or Boolean expression (n inputs give 2n rows). [1]
every possible combination of inputs, resulting output, 2n rows
Boolean expression [1]
  • An algebraic expression made of Boolean variables and logical operators (AND, OR, NOT) that evaluates to true or false. [1]
Boolean variables, logical operators, true or false
Logic diagram [1]
  • A diagram of connected logic gates showing how inputs are processed to give an output (Q), read left to right. [1]
connected logic gates, inputs are processed to give an output (Q)
Flip-flop [1]
  • A circuit of logic gates that stores one bit by holding a stable state. The building block of memory. [1]
stores one bit, stable state
Karnaugh map (K-map) [2]
  • A grid method for simplifying Boolean expressions. [1]
  • By grouping adjacent 1s in blocks of 1, 2, 4 or 8. [1]
grid method, simplifying Boolean expressions, grouping adjacent 1s
Gray code [1]
  • Ordering of K-map labels (00, 01, 11, 10) so that adjacent cells differ by only one bit. [1]
00, 01, 11, 10, adjacent cells differ by only one bit
Fixed-width binary [1]
  • Every value is stored using the same number of bits, whatever its size (padded with leading zeros). [1]
same number of bits, leading zeros
Leading zeros [1]
  • Zeros added to the left of a binary number to fill a fixed width (e.g. 101 → 00000101). [1]
Zeros added to the left, fixed width
Variable-width encoding [1]
  • Characters use a different number of bytes depending on the character (e.g. UTF-8 uses 1 to 4). [1]
different number of bytes, UTF-8
Colour channel [1]
  • One of the red, green or blue components of a pixel, usually stored in 1 byte (0 to 255). [1]
red, green or blue, 1 byte (0 to 255)
Stereo audio [1]
  • Sound recorded on two channels (left and right), which doubles the file size compared with mono. [1]
two channels (left and right), doubles the file size
Video codec [1]
  • Software that compresses and decompresses video data for storage and transmission (e.g. H.264, H.265). [1]
compresses and decompresses, H.264, H.265
Transistor [1]
  • A tiny electronic switch inside the CPU. Logic gates are built from transistors. [1]
electronic switch, Logic gates are built from transistors
Intermediate column [1]
  • An extra column in a truth table showing the output of one part of the expression, used to build up to Q. [1]
one part of the expression
K-map group [2]
  • A rectangle of adjacent 1s on a K-map, sized 1, 2, 4 or 8, which can wrap around the edges. [1]
  • Variables that stay the same within the group are kept; those that change are dropped. [1]
adjacent 1s, 1, 2, 4 or 8, wrap around, stay the same, kept, dropped
Minterm [1]
  • One row of the truth table where the output is 1, matching one cell of the K-map. [1]
output is 1, one cell

A1.3 Operating Systems and Control Systems

44 terms, 68 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Operating system (OS) [2]
  • System software that manages the hardware and software resources of a computer. [1]
  • And acts as the interface between the user, applications and hardware. [1]
manages the hardware and software resources, interface between the user, applications and hardware
Abstraction (OS) [2]
  • The OS hides the complex details of the hardware. [1]
  • Behind a simpler interface, so applications call the OS instead of controlling hardware directly. [1]
hides the complex details of the hardware, simpler interface
Memory management [2]
  • The OS allocates and deallocates RAM to processes. [1]
  • And keeps processes apart (isolation), using virtual memory / paging when needed. [1]
allocates and deallocates RAM, keeps processes apart, virtual memory / paging
File system management [2]
  • The OS organises how files are stored, named, retrieved and organised in folders. [1]
  • And controls access permissions. [1]
stored, named, retrieved and organised, access permissions
Device management [2]
  • The OS controls peripheral devices using device drivers. [1]
  • And handles their interrupts. [1]
peripheral devices, device drivers, interrupts
Device driver [1]
  • Software that translates OS commands into signals a specific hardware device understands. [1]
translates OS commands into signals a specific hardware device understands
Scheduling [2]
  • The OS deciding which process gets the CPU. [1]
  • For how long and in what order. [1]
which process gets the CPU, For how long, in what order
Accounting (OS) [2]
  • Recording each process's use of resources (CPU time, memory, disk, bandwidth). [1]
  • For monitoring performance or billing. [1]
use of resources, monitoring performance, billing
Virtualisation [2]
  • Running several virtual machines on one physical machine. [1]
  • Each VM is isolated and behaves like a separate computer. [1]
several virtual machines on one physical machine, isolated
Process [1]
  • A program that is currently running / being executed, with its own memory and resources. [1]
program that is currently running / being executed
Thread [2]
  • The smallest unit of execution within a process. [1]
  • Threads of one process share the same memory. [1]
smallest unit of execution within a process, share the same memory
Sandboxing [2]
  • Isolating a process so it can only access the resources it strictly needs. [1]
  • Limiting the damage from bugs or malicious code. [1]
Isolating a process, resources it strictly needs, damage
User mode vs kernel mode [2]
  • Applications run in user mode with no direct hardware access. [1]
  • The OS kernel runs in kernel mode with full hardware access, protecting the OS from faulty programs. [1]
user mode, no direct hardware access, kernel mode, full hardware access
Time slice (quantum) [1]
  • A fixed amount of CPU time given to a process each turn before it is switched out. [1]
fixed amount of CPU time, each turn
Pre-emption [1]
  • The OS interrupting a running process to give the CPU to another process. [1]
interrupting a running process, another process
Non-pre-emptive scheduling [1]
  • A process keeps the CPU until it finishes (or blocks). It cannot be interrupted. [1]
keeps the CPU until it finishes
Starvation [2]
  • A process waits indefinitely for the CPU. [1]
  • Because higher priority processes keep being chosen first. [1]
waits indefinitely, higher priority processes
Ageing [2]
  • Gradually increasing the priority of processes that have been waiting a long time. [1]
  • To prevent starvation. [1]
Gradually increasing the priority, prevent starvation
First Come First Served (FCFS) [2]
  • Processes run in the order they arrive. [1]
  • Each runs to completion (non-pre-emptive). [1]
in the order they arrive, to completion
Convoy effect [1]
  • Short processes stuck waiting behind a long process (in FCFS), increasing waiting time. [1]
Short processes stuck waiting behind a long process
Round Robin [2]
  • Each process gets an equal time slice in turn. [1]
  • Unfinished processes go to the back of the queue (pre-emptive). [1]
equal time slice, back of the queue
Priority scheduling [2]
  • The CPU is given to the process with the highest priority. [1]
  • Can be pre-emptive or non-pre-emptive. [1]
highest priority, pre-emptive or non-pre-emptive
Multilevel queue scheduling [2]
  • The ready queue is split into several queues by process type. [1]
  • Each queue has its own scheduling algorithm. [1]
split into several queues, Each queue has its own scheduling algorithm
Polling [2]
  • The CPU repeatedly checks each device at regular intervals. [1]
  • To see whether it needs attention. [1]
repeatedly checks, at regular intervals, needs attention
Interrupt [2]
  • A signal from hardware or software to the CPU that an event needs attention. [1]
  • The CPU saves its current state, runs the ISR, then resumes the task. [1]
signal, event needs attention, saves its current state, ISR, resumes
Interrupt Service Routine (ISR) [1]
  • The specific code that runs to handle a particular interrupt. [1]
specific code that runs to handle a particular interrupt
Multitasking [2]
  • The OS running several processes apparently at the same time. [1]
  • By rapidly switching between them (or truly in parallel on multiple cores). [1]
several processes apparently at the same time, rapidly switching
Multithreading [1]
  • Several threads of one process running concurrently, sharing the same memory. [1]
Several threads of one process running concurrently
Context switch [2]
  • Saving the state (registers, PC) of the current process. [1]
  • And loading the saved state of the next process. [1]
Saving the state, loading the saved state
Context switching overhead [1]
  • The CPU time wasted saving and loading states instead of doing useful work. Grows if time slices are too short. [1]
CPU time wasted saving and loading states
Resource allocation [1]
  • The OS sharing limited resources (CPU, memory, storage, I/O) between competing processes, balancing fairness and efficiency. [1]
sharing limited resources, between competing processes
Deadlock [2]
  • Two or more processes are each waiting for a resource held by the other. [1]
  • So none of them can continue. [1]
each waiting for a resource held by the other, none of them can continue
System integrity [2]
  • The system performs its intended functions correctly and reliably. [1]
  • Without unauthorised or accidental changes to hardware, software or data. [1]
performs its intended functions correctly and reliably, Without unauthorised or accidental changes
I/O management [1]
  • The OS controls data flow to and from input and output devices, using drivers and interrupts. [1]
controls data flow, drivers, interrupts
Power management [1]
  • The OS controls the power used by hardware, e.g. sleep modes, to save energy and battery. [1]
controls the power used, sleep modes
Network management (OS) [1]
  • The OS handles the network stack: protocols, connections and bandwidth, sending packets through the NIC. [1]
network stack, protocols, connections and bandwidth, NIC
User interface (GUI / CLI) [1]
  • How the user interacts with the OS: a GUI uses windows, icons and a mouse; a CLI uses typed commands. [1]
interacts with the OS, GUI, CLI
Fairness (scheduling) [1]
  • Every process gets a reasonable share of CPU time and none is starved. [1]
reasonable share of CPU time
Turnaround time [1]
  • The total time from a process arriving to finishing. [1]
total time, arriving to finishing
Waiting time [1]
  • The time a process spends in the ready queue waiting for the CPU. [1]
in the ready queue waiting
Interrupt overhead [1]
  • The extra CPU work to save and restore the current state each time an interrupt is handled. [1]
save and restore the current state
Real-time system [1]
  • A system that must respond to events within a strict time limit (e.g. airbag, pacemaker). Uses interrupts. [1]
respond to events within a strict time limit, interrupts
Deadlock prevention / recovery [2]
  • Prevention: refuse resource requests that would create a circular wait. [1]
  • Recovery: detect the deadlock, then terminate a process or take back a resource. [1]
Prevention:, circular wait, Recovery:, terminate a process or take back a resource
Resilience [1]
  • The system keeps working correctly under stress or after a failure. [1]
keeps working correctly, after a failure

A2.1 Network Fundamentals

38 terms, 57 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Network [1]
  • Two or more devices connected together to share data and resources. [1]
devices connected together, share data and resources
LAN (Local Area Network) [2]
  • A network covering a small geographical area (one building or site). [1]
  • Usually owned and managed by one organisation, with fast speeds. [1]
small geographical area, owned and managed by one organisation
WAN (Wide Area Network) [2]
  • A network covering a large geographical area (cities, countries). [1]
  • Connects LANs together, often using third party infrastructure (e.g. leased lines). [1]
large geographical area, Connects LANs together, third party infrastructure
PAN (Personal Area Network) [1]
  • A very small network (about 10 m) around one person, connecting their personal devices (e.g. Bluetooth). [1]
10 m, around one person
Leased line [2]
  • A dedicated, fixed capacity connection between two sites. [1]
  • Rented from a telecoms provider for exclusive use. [1]
dedicated, fixed capacity connection, Rented from a telecoms provider
VPN (Virtual Private Network) [2]
  • An encrypted connection (tunnel) over a public network such as the internet. [1]
  • Lets a user access a private network securely as if directly connected to it. [1]
encrypted connection, over a public network, private network securely
Digital infrastructure [1]
  • The physical and virtual components (cables, servers, data centres, software) that let digital data flow and support digital services. [1]
physical and virtual components, digital data flow
The Internet [2]
  • A global network of interconnected networks. [1]
  • That exchange data using standard protocols (TCP/IP). [1]
global network of interconnected networks, standard protocols
World Wide Web (WWW) [1]
  • A service that runs on the internet: a collection of web pages linked by hyperlinks, accessed using HTTP/HTTPS. [1]
service that runs on the internet, web pages linked by hyperlinks, HTTP/HTTPS
Distributed system [2]
  • A group of independent computers (nodes) that appear to the user as one system. [1]
  • And coordinate by passing messages. [1]
independent computers (nodes), appear to the user as one system, coordinate by passing messages
Edge computing [2]
  • Processing data at or near where it is generated instead of a central server. [1]
  • To reduce latency and bandwidth use. [1]
Processing data at or near where it is generated, reduce latency
Mobile network [1]
  • A wireless telecommunications network of cell towers giving devices connectivity over large distances (4G, 5G). [1]
wireless telecommunications network, connectivity over large distances
Gateway [2]
  • A device that connects two networks that use different protocols. [1]
  • By translating between them. [1]
connects two networks that use different protocols, translating
Modem [2]
  • Converts digital signals into analogue (modulate) and back (demodulate). [1]
  • To send data over telephone / broadband lines. [1]
digital signals into analogue, telephone / broadband lines
NIC (Network Interface Card) [2]
  • Hardware that connects a device to a network. [1]
  • Has a unique MAC address. [1]
connects a device to a network, MAC address
Router [2]
  • Forwards packets between different networks. [1]
  • Using IP addresses and a routing table to choose the best path. [1]
packets between different networks, IP addresses, routing table
Switch [2]
  • Connects devices within a LAN. [1]
  • Forwards frames only to the intended device using MAC addresses. [1]
within a LAN, frames only to the intended device, MAC addresses
WAP (Wireless Access Point) [1]
  • Lets wireless devices connect to a wired network by converting between Ethernet and radio signals. [1]
wireless devices connect to a wired network, radio signals
Protocol [2]
  • A set of rules that governs how data is formatted, transmitted and received. [1]
  • So that different devices can communicate. [1]
set of rules, formatted, transmitted and received, different devices can communicate
Stateless protocol [1]
  • Each request is treated independently, the server keeps no memory of previous requests (e.g. HTTP). [1]
treated independently, keeps no memory
Stateful protocol [1]
  • The server keeps track of the session across several requests and responses. [1]
keeps track of the session
TCP (Transmission Control Protocol) [2]
  • A connection-oriented protocol (sets up a connection with a three-way handshake). [1]
  • Reliable: packets are acknowledged, error checked, resent if lost and put back in order. [1]
connection-oriented, three-way handshake, Reliable, acknowledged, error checked, resent if lost, put back in order
UDP (User Datagram Protocol) [2]
  • A connectionless protocol with no guarantee of delivery or order. [1]
  • Faster, so used for streaming, gaming, VoIP. [1]
connectionless, no guarantee of delivery, Faster, streaming, gaming, VoIP
Three-way handshake [1]
  • TCP connection setup: SYN, SYN-ACK, ACK, completed before data is sent. [1]
SYN, SYN-ACK, ACK, before data is sent
HTTP [2]
  • Protocol for transferring web pages between a web server and a browser. [1]
  • Uses a request / response model and is stateless. [1]
transferring web pages, server and a browser, request / response, stateless
HTTPS [2]
  • HTTP secured with TLS encryption. [1]
  • Protects data from eavesdropping and tampering and authenticates the server with a certificate. [1]
secured with TLS encryption, eavesdropping and tampering, authenticates the server
TLS (Transport Layer Security) [1]
  • Protocol that encrypts data sent between client and server (used by HTTPS). [1]
encrypts data sent between client and server
Cookie [2]
  • A small file stored on the client by a website. [1]
  • Sent back with each request to remember state (e.g. staying logged in). [1]
small file stored on the client, remember state
DHCP (Dynamic Host Configuration Protocol) [2]
  • Protocol that automatically assigns IP addresses to devices when they join a network. [1]
  • Along with other settings (subnet mask, default gateway, DNS). [1]
automatically assigns IP addresses, subnet mask, default gateway, DNS
DHCP scope [1]
  • The range of IP addresses a DHCP server is allowed to give out. [1]
range of IP addresses
DHCP lease [1]
  • The limited time a device may use a dynamically assigned IP before it expires and can be reused. [1]
limited time, before it expires
Tunnel (VPN) [1]
  • The encrypted logical connection that wraps VPN data so anyone intercepting it cannot read it. [1]
encrypted logical connection, cannot read it
Satellite link [1]
  • A WAN connection through a satellite, used in remote areas without cables. High latency. [1]
satellite, remote areas, High latency
Hardware firewall [1]
  • A standalone physical device between the network and the outside world that filters all traffic centrally. [1]
standalone physical device, filters all traffic centrally
Software firewall [1]
  • A firewall application installed on one device that controls only that device's traffic. [1]
application installed on one device, that device's traffic
Flow control [1]
  • TCP regulates the rate data is sent so the receiver and network are not overwhelmed. [1]
regulates the rate, not overwhelmed
Acknowledgement (ACK) [1]
  • A message from the receiver confirming a packet arrived. Packets not acknowledged are resent. [1]
confirming a packet arrived, not acknowledged are resent
Site-to-site VPN [1]
  • A VPN that permanently links two or more offices over the internet, replacing leased lines. [1]
permanently links two or more offices, leased lines

A2.2 Network Architecture

31 terms, 43 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Network topology [2]
  • The arrangement of nodes and the links between them in a network. [1]
  • Can be physical (actual cables) or logical (how data flows). [1]
arrangement of nodes and the links, physical, logical
Node [1]
  • Any device connected to a network (computer, printer, router). [1]
device connected to a network
Star topology [2]
  • Every device is connected directly to one central device (switch / hub). [1]
  • If one cable fails only that device is affected, but the central device is a single point of failure. [1]
connected directly to one central device, central device is a single point of failure
Mesh topology [2]
  • Devices are connected to many (partial mesh) or all (full mesh) other nodes. [1]
  • Gives multiple routes, so data can be rerouted if a link fails. [1]
many (partial mesh) or all (full mesh) other nodes, multiple routes, rerouted
Hybrid topology [1]
  • A network that combines two or more topologies (e.g. several stars joined by a mesh). [1]
combines two or more topologies
Hop [1]
  • One step of a packet's journey from one device to the next. [1]
One step of a packet's journey
Single point of failure [1]
  • One component whose failure stops the whole network / system from working. [1]
One component whose failure stops the whole network / system
Client-server model [2]
  • A central server provides resources / services. [1]
  • Clients request them and the server responds. [1]
central server provides resources / services, Clients request, responds
Server [1]
  • A computer that provides resources or services to other computers (clients) over a network. [1]
provides resources or services to other computers (clients)
Client [1]
  • A device or program that requests resources or services from a server. [1]
requests resources or services from a server
Peer-to-peer (P2P) model [2]
  • A decentralised network with no central server. [1]
  • Every peer is equal and acts as both client and server, sharing resources directly. [1]
decentralised, no central server, peer is equal, both client and server
Blockchain ledger [1]
  • A decentralised record of transactions, with a copy stored on every node (e.g. Bitcoin). [1]
decentralised record of transactions, copy stored on every node
Network segmentation [2]
  • Dividing a network into smaller separate segments. [1]
  • To improve security (controlled access) and performance (less congestion). [1]
Dividing a network into smaller separate segments, security, performance
Subnetting [2]
  • Dividing one IP network into smaller logical networks called subnets. [1]
  • Using the subnet mask to decide how the address is split. [1]
Dividing one IP network into smaller logical networks, subnet mask
Subnet mask [2]
  • A 32-bit value that shows which part of an IP address is the network (1s). [1]
  • And which part is the host (0s). [1]
which part of an IP address is the network, which part is the host
Network address [1]
  • Found by doing a bitwise AND of the IP address and the subnet mask. [1]
bitwise AND of the IP address and the subnet mask
ACL (Access Control List) [2]
  • A list of rules stating which users or processes (subjects). [1]
  • May perform which operations (read, write, execute) on which objects. [1]
list of rules, which users or processes (subjects), which operations, on which objects
VLAN (Virtual LAN) [2]
  • A logical network that groups devices regardless of their physical location / switch. [1]
  • Separates traffic and reduces the broadcast domain. [1]
logical network, regardless of their physical location / switch, reduces the broadcast domain
Broadcast domain [1]
  • The area of a network that a broadcast message reaches. [1]
broadcast message reaches
CIDR [2]
  • Classless Inter-Domain Routing: writing an IP address with a slash and prefix length (e.g. /24). [1]
  • Showing how many bits are the network part; replaces class A, B, C. [1]
Classless Inter-Domain Routing, slash and prefix length, how many bits are the network part
VLSM [1]
  • Variable Length Subnet Masking: subnets of different sizes, so IP addresses are not wasted. [1]
Variable Length Subnet Masking, different sizes, not wasted
Full mesh [1]
  • Every node is connected to every other node. [1]
Every node is connected to every other node
Partial mesh [1]
  • Some nodes are connected to several others, but not all to all. [1]
Some nodes, not all to all
Scalability [1]
  • How easily a network or system can grow (more users, devices or data) without losing performance. [1]
grow, without losing performance
Collision [1]
  • When two transmissions clash on the same link, so the data must be resent. [1]
two transmissions clash, resent
Peer [1]
  • An equal participant in a P2P network that both requests and provides resources. [1]
equal participant, requests and provides
Centralised vs decentralised [2]
  • Centralised: control and data in one place (client-server). [1]
  • Decentralised: control spread across all participants (P2P). [1]
Centralised:, one place, Decentralised:, spread across all participants
Subnet [1]
  • A smaller logical network created by dividing a larger IP network. [1]
smaller logical network
Network portion / host portion [1]
  • The network portion of an IP address identifies the network; the host portion identifies the device on it. [1]
network portion, network, host portion, device
Bitwise AND [1]
  • Comparing two binary numbers bit by bit: result is 1 only when both bits are 1. IP AND mask = network address. [1]
bit by bit, only when both bits are 1, network address
Inter-VLAN routing [1]
  • Rules on a router or layer 3 switch that decide which VLANs may communicate with each other. [1]
Rules on a router or layer 3 switch, which VLANs may communicate

A2.3 Data Transmission

32 terms, 42 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
IP (Internet Protocol) [1]
  • Protocol responsible for addressing and routing packets across networks. [1]
addressing and routing packets
IP address [1]
  • A unique numerical address that identifies a device on a network. [1]
unique numerical address, identifies a device on a network
IPv4 [2]
  • 32-bit address written as four decimal numbers (e.g. 192.168.1.1). [1]
  • About 4.3 billion addresses, which have run out. [1]
32-bit, four decimal numbers, 4.3 billion, run out
IPv6 [2]
  • 128-bit address written as eight groups of hexadecimal separated by colons. [1]
  • Gives a vastly larger address space, simpler header, built-in IPsec. [1]
128-bit, eight groups of hexadecimal, vastly larger address space
Public IP address [1]
  • A globally unique address that is reachable from the internet, assigned through IANA / ISPs. [1]
globally unique, reachable from the internet, IANA
Private IP address [2]
  • An address used only inside a local network, not routable on the internet (e.g. 192.168.x.x). [1]
  • Needs NAT to reach the internet. [1]
only inside a local network, not routable on the internet, NAT
Loopback address [1]
  • A reserved address (127.0.0.1 / ::1) that sends traffic back to the same device, used for testing. [1]
127.0.0.1, sends traffic back to the same device, testing
Static IP address [1]
  • A fixed IP address that does not change, set manually. Used for servers and printers. [1]
fixed IP address, does not change, servers and printers
Dynamic IP address [1]
  • An IP address assigned automatically by DHCP that can change each time the device connects. [1]
assigned automatically by DHCP, can change
NAT (Network Address Translation) [2]
  • The router translates private IP addresses into one public IP address. [1]
  • So many devices share one public address, saving IPv4 addresses and hiding internal addresses. [1]
translates private IP addresses into one public IP address, many devices share one public address, hiding internal addresses
Fibre optic cable [2]
  • Transmits data as pulses of light through glass / plastic strands. [1]
  • Very high bandwidth, long range, immune to electromagnetic interference, but expensive. [1]
pulses of light, glass / plastic strands, Very high bandwidth, immune to electromagnetic interference
Twisted pair cable [2]
  • Copper wires twisted in pairs carrying electrical signals. [1]
  • Twisting reduces interference. Cheap but shorter range (UTP unshielded, STP shielded). [1]
Copper wires twisted in pairs, electrical signals, reduces interference, shorter range
Wireless transmission [1]
  • Data sent through the air as electromagnetic waves (radio, microwave, infrared) without cables. [1]
electromagnetic waves, without cables
Bandwidth [1]
  • The maximum amount of data that can be transmitted per second (bits per second). [1]
maximum amount of data, per second
Attenuation [1]
  • The loss of signal strength as it travels over distance through a medium. [1]
loss of signal strength, over distance
Electromagnetic interference (EMI) [1]
  • Disruption of a signal by external electromagnetic fields (e.g. motors, other cables). [1]
Disruption of a signal, external electromagnetic fields
Packet [2]
  • A small unit of data sent over a network. [1]
  • Made of a header (addresses, sequence number, error check) and a payload (the data). [1]
small unit of data, header, payload
Payload [1]
  • The actual data carried inside a packet. [1]
actual data
Header [1]
  • The part of a packet holding control information: source and destination IP, sequence number, error detection code. [1]
control information, source and destination IP, sequence number, error detection code
Packet switching [2]
  • Data is split into packets that are sent independently, possibly by different routes. [1]
  • And reassembled in order at the destination using sequence numbers. [1]
split into packets, sent independently, different routes, reassembled in order, sequence numbers
Encapsulation [1]
  • Adding headers / protocol information to data at each layer before it is sent. [1]
Adding headers / protocol information, before it is sent
Decapsulation [1]
  • Removing the headers at each layer on arrival to get back the original data. [1]
Removing the headers, on arrival
Routing table [1]
  • A table in a router listing destinations and the best next hop to forward packets to. [1]
destinations and the best next hop
MAC address [2]
  • A unique hardware address permanently assigned to a NIC. [1]
  • Used by switches to deliver frames within a LAN. [1]
unique hardware address, NIC, switches, within a LAN
IANA [1]
  • Internet Assigned Numbers Authority: the body that manages and allocates public IP addresses through regional registries. [1]
Internet Assigned Numbers Authority, manages and allocates public IP addresses
NAT table [1]
  • The router's record of which private device each outgoing connection belongs to, so replies are forwarded correctly. [1]
which private device, replies are forwarded
UTP / STP [2]
  • UTP (unshielded twisted pair) is cheap and common. [1]
  • STP (shielded twisted pair) has extra shielding against interference. [1]
UTP, STP, extra shielding against interference
Repeater [1]
  • A device that regenerates / boosts a signal so it can travel further, overcoming attenuation. [1]
regenerates / boosts a signal, attenuation
Sequence number [1]
  • A number in each packet's header so the destination can put packets back in the correct order. [1]
put packets back in the correct order
Error detection code (checksum) [1]
  • A value in the header used to check whether the packet data was damaged in transit. [1]
check whether the packet data was damaged
Next hop [1]
  • The next router a packet is forwarded to on its way to the destination. [1]
next router
Routing [1]
  • Choosing the path a packet takes: each router reads the destination IP and uses its routing table to pick the next hop. [1]
path, destination IP, routing table

A2.4 Network Security

26 terms, 34 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Firewall [2]
  • Hardware or software that monitors and filters incoming and outgoing traffic. [1]
  • Allowing or blocking packets according to rules (IP address, port, protocol). [1]
monitors and filters incoming and outgoing traffic, rules
Next-generation firewall [1]
  • A firewall that also inspects packet contents (deep packet inspection, layer 7), not just headers. [1]
inspects packet contents, layer 7
Whitelist [1]
  • A list of approved addresses / applications. Only these are allowed, everything else is blocked. [1]
approved, Only these are allowed
Blacklist [1]
  • A list of banned addresses / applications. These are blocked, everything else is allowed. [1]
banned, These are blocked
Deep packet inspection (DPI) [1]
  • Examining the contents (payload) of packets, not only the headers. Adds latency. [1]
Examining the contents (payload) of packets, Adds latency
IP masquerading [1]
  • NAT that lets many internal devices share one public IP, hiding their private addresses. [1]
many internal devices share one public IP, hiding their private addresses
MAC filtering [2]
  • Allowing or blocking devices on a network based on their MAC address. [1]
  • Weak on its own because MAC addresses can be spoofed. [1]
based on their MAC address, spoofed
MAC spoofing [1]
  • Faking a MAC address to impersonate an allowed device. [1]
Faking a MAC address
Encryption [2]
  • Scrambling plaintext into ciphertext using an algorithm and a key. [1]
  • So that only someone with the correct key can read it. [1]
plaintext into ciphertext, algorithm and a key, only someone with the correct key can read it
Plaintext / ciphertext [1]
  • Plaintext is readable data before encryption, ciphertext is the unreadable data after encryption. [1]
Plaintext, before encryption, ciphertext, after encryption
Symmetric encryption [2]
  • The same secret key is used to encrypt and decrypt. [1]
  • Fast, but the key must be shared securely first. [1]
same secret key, encrypt and decrypt, Fast, shared securely
Asymmetric (public key) encryption [2]
  • Uses a pair of mathematically linked keys: a public key and a private key. [1]
  • Data encrypted with the public key can only be decrypted with the matching private key. [1]
pair of mathematically linked keys, public key, private key
Public key [1]
  • The key that is shared openly, used to encrypt data or verify a signature. [1]
shared openly, encrypt, verify a signature
Private key [1]
  • The key kept secret by its owner, used to decrypt data or create a signature. [1]
kept secret by its owner, decrypt, create a signature
Hash function [2]
  • A one-way function that turns any input into a fixed-size output (digest). [1]
  • A tiny change in input gives a completely different hash; it cannot be reversed. [1]
one-way function, fixed-size output (digest), tiny change in input gives a completely different hash
Digital signature [2]
  • The hash of a document encrypted with the sender's private key. [1]
  • Proves who sent it (authentication) and that it has not been changed (integrity). [1]
hash of a document encrypted with the sender's private key, who sent it (authentication), has not been changed (integrity)
Digital certificate [2]
  • An electronic document that binds a public key to an identity (e.g. a website). [1]
  • Signed by a trusted Certificate Authority. [1]
binds a public key to an identity, Signed by a trusted Certificate Authority
Certificate Authority (CA) [1]
  • A trusted organisation that verifies identities and issues digital certificates. [1]
trusted organisation, verifies identities, issues digital certificates
SSH [1]
  • Protocol for secure remote login / command line access using public and private keys. [1]
secure remote login / command line access, public and private keys
Key management [1]
  • The processes for securely generating, storing, distributing, backing up and replacing encryption keys. [1]
securely generating, storing, distributing, backing up and replacing
Firewall rule [1]
  • An instruction to allow or block traffic based on source/destination IP, port and protocol, checked in order until one matches. [1]
allow or block, source/destination IP, port and protocol, in order
Intrusion prevention system (IPS) [1]
  • Security that monitors traffic for attacks and automatically blocks them. [1]
monitors traffic for attacks, automatically blocks
APT (advanced persistent threat) [1]
  • A long-term, targeted attack that hides in a network, often getting past firewalls using encryption or zero-day exploits. [1]
long-term, targeted attack, getting past firewalls
Digest [1]
  • The fixed-size output of a hash function. [1]
fixed-size output
CSR (certificate signing request) [1]
  • A request sent to a CA containing a public key and identity details, asking for a digital certificate. [1]
CA, public key and identity details, digital certificate
Code signing [1]
  • Developers sign software with their private key so users can check it is genuine and unaltered. [1]
sign software with their private key, genuine and unaltered

A3.1 Database Fundamentals

25 terms, 30 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Database [1]
  • An organised, structured collection of data stored so it can be easily accessed, managed and updated. [1]
organised, structured collection of data, easily accessed, managed and updated
Flat file database [2]
  • All data stored in one single table. [1]
  • Leads to data redundancy and inconsistency. [1]
one single table, data redundancy, inconsistency
Relational database [2]
  • Data stored in multiple tables (entities). [1]
  • Linked by relationships using primary and foreign keys, so each fact is stored once. [1]
multiple tables (entities), Linked by relationships, primary and foreign keys
Data redundancy [1]
  • The same data stored more than once (unnecessary duplication). [1]
same data stored more than once
Anomaly [1]
  • A problem / error caused by incorrect handling of data (insert, update or delete), usually from redundancy. [1]
problem / error caused by incorrect handling of data, redundancy
Insert anomaly [1]
  • Data cannot be added without also adding other unrelated data. [1]
Data cannot be added, adding other unrelated data
Delete anomaly [1]
  • Deleting one record also removes other data that is still needed. [1]
Deleting one record, removes other data that is still needed
Update anomaly [1]
  • Data is changed in some places but not others, so the database becomes inconsistent. [1]
changed in some places but not others, inconsistent
Entity [1]
  • A thing / object about which data is stored, represented as a table (e.g. STUDENT). [1]
thing / object about which data is stored, table
Attribute [1]
  • A property / characteristic of an entity, represented as a column / field. [1]
property / characteristic of an entity, column / field
Record (tuple) [1]
  • One row of a table holding all the data about one instance of the entity. [1]
One row, one instance
Primary key [2]
  • A field (or fields) that uniquely identifies each record in a table. [1]
  • Cannot be null and cannot repeat. [1]
uniquely identifies each record, Cannot be null, cannot repeat
Foreign key [2]
  • A field in one table that is the primary key of another table. [1]
  • Used to create a relationship / link between the tables. [1]
primary key of another table, create a relationship / link
Composite key [1]
  • A primary key made of two or more whole attributes that together uniquely identify a record. [1]
two or more whole attributes, together uniquely identify
Concatenated key [1]
  • A key made by joining parts of attributes into one value (e.g. initials + date of birth). [1]
joining parts of attributes into one value
Relationship [1]
  • A link between two entities, made using a foreign key. [1]
link between two entities, foreign key
Cardinality [1]
  • How many instances of one entity relate to another: 1:1, 1:N, M:N. [1]
How many, 1:1, 1:N, M:N
Modality [1]
  • Whether a relationship is optional (0) or mandatory (1): must a related record exist? [1]
optional (0) or mandatory (1), must
Data integrity [1]
  • The accuracy, consistency and reliability of data over its whole life. [1]
accuracy, consistency and reliability
Data consistency [1]
  • The same data has the same value everywhere it appears in the database. [1]
same data has the same value everywhere
ACID [1]
  • Properties that make transactions reliable: Atomicity, Consistency, Isolation, Durability. [1]
Atomicity, Consistency, Isolation, Durability
Normalization [2]
  • Organising data into multiple related tables. [1]
  • To reduce redundancy and remove anomalies. [1]
Organising data into multiple related tables, reduce redundancy, remove anomalies
Concurrency control [1]
  • Managing many users accessing the database at the same time so their changes do not conflict. [1]
many users accessing the database at the same time, do not conflict
Object-relational impedance mismatch [1]
  • Tables do not map neatly onto OOP objects, so extra work is needed to convert between them. [1]
Tables do not map neatly onto OOP objects
Rigid schema [1]
  • The structure must be defined in advance and is hard to change later. [1]
defined in advance, hard to change

A3.2 Database Design

22 terms, 28 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Schema [2]
  • The blueprint / structure of a database: entities, attributes, relationships and constraints. [1]
  • Contains no actual data. [1]
blueprint / structure of a database, no actual data
Conceptual schema [1]
  • The least detailed level: shows entities and relationships only, for users and stakeholders. [1]
least detailed, entities and relationships only
Logical schema [1]
  • Adds attributes, primary keys and foreign keys to the conceptual model, independent of any DBMS. [1]
attributes, primary keys and foreign keys
Physical schema [1]
  • The most detailed level: data types, indexes, files and storage, how the database is actually built. [1]
most detailed, data types, indexes, files and storage
ERD (Entity Relationship Diagram) [1]
  • A diagram showing the entities, their attributes and the relationships between them (with cardinality). [1]
diagram showing the entities, attributes, relationships
Link (associative) entity [2]
  • An entity added between two entities in an M:N relationship. [1]
  • Turning it into two 1:N relationships (holds both primary keys as foreign keys). [1]
between two entities in an M:N relationship, two 1:N relationships
Data type [1]
  • Defines the kind of data a field can hold (e.g. VARCHAR, INT, DATE) and so what operations are allowed. [1]
kind of data a field can hold, operations
Referential integrity [1]
  • Every foreign key value must match an existing primary key in the related table (no orphan records). [1]
foreign key value must match an existing primary key
Cascade delete [1]
  • When a record is deleted, all records linked to it by a foreign key are deleted too. [1]
deleted, linked to it by a foreign key are deleted too
Cascade update [1]
  • When a primary key changes, all matching foreign keys update automatically. [1]
primary key changes, matching foreign keys update automatically
Functional dependency [1]
  • Attribute B depends on attribute A: if you know A you can find exactly one B (A → B). [1]
depends on, if you know A you can find exactly one B
Partial dependency [1]
  • A non-key attribute depends on only part of a composite primary key. [1]
depends on only part of a composite primary key
Transitive dependency [1]
  • A non-key attribute depends on another non-key attribute rather than directly on the primary key. [1]
depends on another non-key attribute
Repeating group [1]
  • A set of attributes that occurs many times for one key value (several values in one record). [1]
set of attributes that occurs many times
Atomic value [1]
  • A value that cannot be divided further: one value per cell. [1]
cannot be divided further, one value per cell
First normal form (1NF) [2]
  • All values are atomic and there are no repeating groups. [1]
  • Every table has a primary key. [1]
atomic, no repeating groups, primary key
Second normal form (2NF) [2]
  • Is in 1NF. [1]
  • And has no partial dependencies. [1]
1NF, no partial dependencies
Third normal form (3NF) [2]
  • Is in 2NF. [1]
  • And has no transitive dependencies (every non-key attribute depends on the key, the whole key and nothing but the key). [1]
2NF, no transitive dependencies, the key, the whole key and nothing but the key
Denormalization [2]
  • Deliberately adding redundancy back into a normalized database (merging tables, storing calculated values). [1]
  • To speed up queries / reads at the cost of storage and risk of anomalies. [1]
Deliberately adding redundancy back, speed up queries / reads
Unnormalized form (UNF) [1]
  • A table that is not normalized: it still contains repeating groups. [1]
not normalized, repeating groups
Crow's foot notation [1]
  • An ERD notation that shows cardinality and modality with symbols on the line ends: crow's foot = many, bar = one, circle = zero. [1]
cardinality and modality, crow's foot = many
fsp [1]
  • Fractional seconds precision: stores up to 6 decimal places of a second in a time value. [1]
Fractional seconds precision, 6 decimal places

A3.3 Database Programming

29 terms, 39 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
SQL [1]
  • Structured Query Language: the language used to create, query and change relational databases. [1]
Structured Query Language, create, query and change
DBMS [1]
  • Database management system: the software that creates, manages and controls access to a database. [1]
Database management system, software that creates, manages and controls access
DDL (Data Definition Language) [2]
  • SQL commands that define and change the structure of the database (schema). [1]
  • e.g. CREATE, ALTER, DROP, TRUNCATE. [1]
define and change the structure, CREATE, ALTER, DROP, TRUNCATE
DML (Data Manipulation Language) [2]
  • SQL commands that read and change the data inside tables. [1]
  • e.g. SELECT, INSERT, UPDATE, DELETE. [1]
read and change the data, SELECT, INSERT, UPDATE, DELETE
DCL (Data Control Language) [1]
  • SQL commands that control access / permissions: GRANT and REVOKE. [1]
control access / permissions, GRANT, REVOKE
TCL (Transaction Control Language) [1]
  • SQL commands that manage transactions: COMMIT saves, ROLLBACK undoes. [1]
manage transactions, COMMIT, ROLLBACK
Query [1]
  • An SQL instruction that extracts information from a database. [1]
SQL instruction that extracts information
Constraint (SQL) [1]
  • A rule the DBMS enforces on a column or table (e.g. PRIMARY KEY, NOT NULL, UNIQUE, FOREIGN KEY). [1]
rule the DBMS enforces, PRIMARY KEY, NOT NULL, UNIQUE, FOREIGN KEY
NULL [1]
  • A marker meaning no value: not zero and not an empty string. Tested with IS NULL. [1]
no value, IS NULL
Wildcard [1]
  • A symbol used with LIKE for pattern matching: % = any number of characters, _ = exactly one. [1]
LIKE, %, _
Alias [1]
  • A temporary name for a column or table in the output, created with AS. [1]
temporary name, AS
Join [2]
  • Combining rows from two or more tables [1]
  • Where the foreign key matches the primary key (JOIN ... ON). [1]
two or more tables, foreign key matches the primary key
Inner join [1]
  • Returns only rows that have a match in both tables. [1]
only rows that have a match in both tables
Left / right join [2]
  • LEFT JOIN returns all rows from the left table, with NULL where there is no match on the right. [1]
  • RIGHT JOIN returns all rows from the right table, with NULL where there is no match on the left. [1]
LEFT JOIN, all rows from the left table, RIGHT JOIN, all rows from the right table
Cross join [1]
  • A join with no join condition: every row is paired with every row of the other table. [1]
no join condition, every row is paired with every row
DELETE vs TRUNCATE vs DROP [2]
  • DELETE (DML) removes chosen rows; TRUNCATE (DDL) removes all rows but keeps the table. [1]
  • DROP (DDL) removes the whole table: structure and data. [1]
DELETE, chosen rows, TRUNCATE, all rows, DROP, whole table
Index (database) [2]
  • A separate sorted lookup structure on a column with pointers to rows, so searches are faster. [1]
  • But every INSERT, UPDATE and DELETE must also update the index, adding overhead and using storage. [1]
separate sorted lookup structure, searches are faster, INSERT, UPDATE and DELETE must also update the index
Aggregate function [1]
  • A function that takes many rows and returns one value: COUNT, SUM, AVG, MIN, MAX. [1]
takes many rows and returns one value, COUNT, SUM, AVG, MIN, MAX
GROUP BY [1]
  • Groups rows that share a value so an aggregate function runs once per group. [1]
Groups rows that share a value, once per group
HAVING vs WHERE [2]
  • WHERE filters individual rows before grouping. [1]
  • HAVING filters groups after grouping, and is used with aggregate functions. [1]
WHERE, individual rows before, HAVING, groups after, aggregate functions
Calculated field [1]
  • A column worked out in the query with arithmetic (e.g. Quantity * Cost AS Total). It is not stored in the table. [1]
worked out in the query, not stored
View [2]
  • A virtual table defined by a saved SELECT query. [1]
  • It stores the query, not the data, so it always shows current data. Used for security and simplicity. [1]
virtual table, saved SELECT query, current data, security and simplicity
Materialized view [1]
  • A view whose result is physically stored: fast to read but must be refreshed or it becomes out of date. [1]
result is physically stored, fast to read, refreshed
Transaction [2]
  • A group of operations treated as one single unit [1]
  • That either completes fully or not at all. [1]
group of operations treated as one single unit, completes fully or not at all
COMMIT / ROLLBACK [2]
  • COMMIT makes a transaction's changes permanent. [1]
  • ROLLBACK undoes them, returning to the last committed state. [1]
COMMIT, permanent, ROLLBACK, undoes, last committed state
Atomicity [1]
  • ACID: a transaction is all or nothing. [1]
all or nothing
Consistency (ACID) [1]
  • ACID: a transaction moves the database from one valid state to another; all constraints still hold. [1]
from one valid state to another
Isolation [1]
  • ACID: transactions running at the same time do not see each other's unfinished changes. [1]
at the same time do not see each other's unfinished changes
Durability [1]
  • ACID: once committed, changes are permanent even after a crash or power cut. [1]
permanent even after a crash or power cut

A4.1 Machine Learning Fundamentals

32 terms, 39 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Machine learning (ML) [2]
  • A branch of AI where computers learn from data using algorithms and statistical models. [1]
  • To improve / make predictions without being explicitly programmed for each case. [1]
AI, learn from data, improve / make predictions without being explicitly programmed
Training [1]
  • Feeding data to a model and adjusting its parameters to reduce error. [1]
Feeding data to a model, adjusting its parameters
Labelled data [1]
  • Data where each example is tagged with the correct output / answer. [1]
each example is tagged with the correct output / answer
Supervised learning [2]
  • The model is trained on labelled data (inputs with known correct outputs). [1]
  • Learns to map inputs to outputs to predict results for new data. [1]
labelled data, map inputs to outputs, predict
Classification [1]
  • Supervised task where the output is a category / class (e.g. spam or not spam). [1]
category / class
Regression [1]
  • Supervised task where the output is a continuous numerical value (e.g. a house price). [1]
continuous numerical value
Unsupervised learning [2]
  • The model is trained on unlabelled data. [1]
  • And finds hidden patterns, structure or groups by itself. [1]
unlabelled data, hidden patterns, structure or groups
Clustering [1]
  • Unsupervised method that groups similar data points together (e.g. customer segments). [1]
groups similar data points together
Market basket analysis [1]
  • Finding items frequently bought together (association rules: if X then Y), used for recommendations. [1]
items frequently bought together, if X then Y
Reinforcement learning [2]
  • An agent learns by trial and error by interacting with an environment. [1]
  • Receiving rewards or penalties and aiming to maximise cumulative reward. [1]
agent, trial and error, interacting with an environment, rewards or penalties, maximise cumulative reward
Exploration vs exploitation [2]
  • Exploration: trying new actions to find better rewards. [1]
  • Exploitation: using actions already known to give rewards. [1]
Exploration, new actions, Exploitation, already known to give rewards
Deep learning [2]
  • A subset of ML that uses artificial neural networks with many layers. [1]
  • Each layer learns increasingly abstract features from raw data. [1]
artificial neural networks with many layers, increasingly abstract features
Neural network [1]
  • A model inspired by the brain made of layers of interconnected nodes (neurons) that learn patterns from data. [1]
brain, layers of interconnected nodes (neurons)
CNN (Convolutional Neural Network) [1]
  • Deep learning architecture for image data that detects spatial patterns (edges → shapes → objects). [1]
image data, spatial patterns
RNN (Recurrent Neural Network) [1]
  • Deep learning architecture for sequential data (text, audio) that remembers previous inputs. LSTM handles long sequences. [1]
sequential data, remembers previous inputs, LSTM
Transformer [1]
  • Architecture that uses self-attention to weigh all parts of the input at once. Basis of GPT and BERT. [1]
self-attention, all parts of the input at once, GPT and BERT
Transfer learning [2]
  • Reusing a model pre-trained on one task as the starting point for a related task. [1]
  • Then fine-tuning, so less labelled data and training time is needed. [1]
Reusing a model pre-trained on one task, related task, fine-tuning, less labelled data
Tensor [1]
  • A multi-dimensional array of numbers used to represent data in deep learning (0D number, 1D list, 2D table...). [1]
multi-dimensional array
Natural Language Processing (NLP) [1]
  • ML that processes and understands human language (translation, chatbots, sentiment analysis). [1]
processes and understands human language
Sentiment analysis [1]
  • Deciding whether text expresses positive, negative or neutral opinion. [1]
positive, negative or neutral
Object detection [1]
  • Identifying and locating objects in an image, marking each with a bounding box. [1]
Identifying and locating, bounding box
TPU (Tensor Processing Unit) [1]
  • Google's custom chip built specifically for tensor / neural network operations (TensorFlow). [1]
Google's custom chip, tensor / neural network operations
ASIC [1]
  • Application-Specific Integrated Circuit: a chip designed for one task only, very fast and low power but cannot be reprogrammed. [1]
Application-Specific Integrated Circuit, designed for one task only, low power, cannot be reprogrammed
FPGA [1]
  • Field-Programmable Gate Array: a chip that can be reprogrammed after manufacture for different tasks. [1]
Field-Programmable Gate Array, can be reprogrammed after manufacture
Edge device [1]
  • Hardware that runs ML models locally, near the data source, giving low latency without the cloud. [1]
runs ML models locally, near the data source, low latency
Agent [1]
  • In reinforcement learning, the learner / decision maker that takes actions in an environment to earn rewards. [1]
learner / decision maker, takes actions in an environment
Association rule [1]
  • A rule of the form if X then Y found in transaction data (e.g. bread → butter). Used in market basket analysis. [1]
if X then Y, market basket analysis
Self-attention [1]
  • The mechanism in transformers that weighs how relevant every part of the input is to every other part, all at once. [1]
weighs how relevant every part of the input is, all at once
LSTM [1]
  • Long Short-Term Memory: a type of RNN that can remember information over long sequences. [1]
Long Short-Term Memory, RNN, long sequences
Bounding box [1]
  • A rectangle drawn around an object in an image to show where it is. [1]
rectangle drawn around an object, where it is
Inference [1]
  • Using a trained model to make predictions on new data (as opposed to training it). [1]
trained model to make predictions
Cloud-based ML platform [1]
  • On-demand, scalable virtual hardware (CPUs, GPUs, TPUs) rented over the internet, with no physical infrastructure needed. [1]
On-demand, scalable virtual hardware, no physical infrastructure

A4.4 Ethical Considerations

21 terms, 24 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Ethical implication [2]
  • A possible positive or negative effect of a decision or technology. [1]
  • On well-being, fairness, justice, rights or freedom. [1]
possible positive or negative effect, well-being, fairness, justice, rights or freedom
Bias (in ML) [2]
  • Systematic unfairness in a model's output. [1]
  • Caused by unrepresentative or prejudiced training data, which the model learns and amplifies. [1]
Systematic unfairness, unrepresentative or prejudiced training data, learns and amplifies
Algorithmic fairness [1]
  • AI decisions should not discriminate against individuals or groups. [1]
not discriminate
Accountability [1]
  • Being clear who is responsible / liable when an AI system causes harm. [1]
who is responsible / liable
Transparency [1]
  • AI decisions can be explained and understood by people, building trust. [1]
AI decisions can be explained and understood, trust
Black box model [1]
  • A model whose internal decision process cannot be easily explained, reducing trust. [1]
internal decision process cannot be easily explained
Consent [1]
  • Personal data should only be used with the informed permission of the person, and anonymised. [1]
informed permission, anonymised
Privacy [1]
  • A person's right to control how their personal data is collected, used and shared (e.g. GDPR). [1]
right to control how their personal data is collected, used and shared, GDPR
Misinformation [1]
  • False information spread without intent to deceive. [1]
without intent to deceive
Disinformation [1]
  • False information spread deliberately to deceive or manipulate. [1]
deliberately to deceive or manipulate
Deepfake [1]
  • ML-generated fake media showing people saying or doing things they never did. [1]
ML-generated fake media, saying or doing things they never did
Quantum computing [2]
  • Computing that uses qubits and quantum effects (superposition) to solve certain problems far faster. [1]
  • Could break current encryption (RSA, ECC). [1]
qubits, far faster, break current encryption
Augmented Reality (AR) [1]
  • Overlays digital information onto the real world through a phone, tablet or glasses. [1]
Overlays digital information onto the real world
Virtual Reality (VR) [1]
  • Places the user in a fully immersive, computer-generated environment using a headset. [1]
fully immersive, computer-generated environment
Pervasive AI [1]
  • AI built into everyday devices and environments, often working in the background. [1]
AI built into everyday devices and environments, in the background
Anonymity [1]
  • Users cannot be identified. Protects free speech but can enable cyberbullying and trolling. [1]
cannot be identified, free speech, cyberbullying and trolling
Environmental impact [1]
  • Training and running AI uses large amounts of energy, increasing carbon emissions. [1]
large amounts of energy, carbon emissions
Societal impact [1]
  • AI can displace jobs and change society, so its benefits should be shared fairly. [1]
displace jobs, benefits should be shared fairly
Harassment bot [1]
  • An automated program that sends abuse at scale. [1]
sends abuse at scale
Proactive regulation [1]
  • Creating laws and ethical frameworks before harm happens, not after. [1]
laws and ethical frameworks before harm happens
Qubit [1]
  • The basic unit of a quantum computer: it can be in a superposition of 0 and 1 at the same time. [1]
quantum computer, superposition of 0 and 1

B1 Computational Thinking

21 terms, 26 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Computational thinking [2]
  • A problem solving approach that expresses a solution as steps a computer could carry out. [1]
  • Using decomposition, abstraction, pattern recognition and algorithmic design. [1]
problem solving approach, steps a computer could carry out, decomposition, abstraction, pattern recognition and algorithmic design
Decomposition [2]
  • Breaking a complex problem into smaller, more manageable sub-problems. [1]
  • That can be solved separately. [1]
Breaking a complex problem into smaller, more manageable sub-problems, solved separately
Abstraction [2]
  • Removing / ignoring unnecessary detail. [1]
  • To focus on the essential features of a problem. [1]
Removing / ignoring unnecessary detail, focus on the essential features
Pattern recognition [2]
  • Identifying similarities / repeated parts within or between problems. [1]
  • So existing solutions can be reused. [1]
Identifying similarities / repeated parts, existing solutions can be reused
Algorithmic design [1]
  • Creating a clear, ordered set of step by step instructions to solve a problem. [1]
clear, ordered set of step by step instructions
Algorithm [1]
  • A finite sequence of well-defined steps that solves a problem. [1]
finite sequence of well-defined steps, solves a problem
Problem specification [1]
  • A document defining a problem through its problem statement, constraints, objectives and goals, inputs, outputs and evaluation criteria. [1]
problem statement, constraints, objectives and goals, inputs, outputs and evaluation criteria
Problem statement [1]
  • Describes what the problem is and why it matters. [1]
what the problem is, why it matters
Constraint [1]
  • A limit / boundary on the solution (e.g. budget, time, hardware, rules). [1]
limit / boundary on the solution
Objectives and goals [1]
  • The objective is the broad aim; the goals are specific, measurable targets that achieve it. [1]
objective, broad aim, goals, specific, measurable targets
Input / output specification [1]
  • The format and type of data going in and the format and content of results coming out. [1]
format and type of data going in, format and content of results coming out
Evaluation criteria [1]
  • The measures used to judge whether the solution succeeded. [1]
measures used to judge whether the solution succeeded
Flowchart [1]
  • A diagram showing the steps of an algorithm using standard shapes (terminator, process, decision, input/output) joined by arrows. [1]
diagram showing the steps of an algorithm, standard shapes, joined by arrows
Trace table [2]
  • A table recording the values of variables at each step of an algorithm. [1]
  • Used to test / find logic errors by hand. [1]
values of variables at each step, test / find logic errors
Single responsibility principle (SRP) [1]
  • Each part (module, function, class) should do one clear job. [1]
Each part (module, function, class) should do one clear job
Pseudocode [1]
  • A structured, language-independent way of writing an algorithm in plain steps, not real code. [1]
structured, language-independent, not real code
Terminal (flowchart) [1]
  • A rounded rectangle that marks the start or end of a flowchart. [1]
rounded rectangle, start or end
Process (flowchart) [1]
  • A rectangle showing a calculation or assignment that changes data. [1]
rectangle, calculation or assignment
Input / output (flowchart) [1]
  • A parallelogram showing data being read in or printed out. [1]
parallelogram, read in or printed out
Decision (flowchart) [1]
  • A diamond containing a yes/no question, with exactly two exits. [1]
diamond, yes/no question, exactly two exits
Connector (flowchart) [1]
  • A small circle with a label that joins two parts of a flowchart without a long line. [1]
small circle with a label, without a long line

B2.1 Programming Fundamentals

30 terms, 38 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Variable [1]
  • A named location in memory that stores a value which can change while the program runs. [1]
named location in memory, stores a value which can change
Constant [1]
  • A named value that does not change while the program runs. [1]
does not change
Data type [2]
  • Defines the kind of value a variable holds (integer, float, string, Boolean). [1]
  • And so what operations can be done on it and how much memory it uses. [1]
kind of value, what operations, how much memory
Integer [1]
  • A whole number with no decimal part. [1]
whole number
Float (real) [1]
  • A number with a decimal / fractional part. [1]
with a decimal / fractional part
String [1]
  • A sequence of characters. [1]
sequence of characters
Boolean [1]
  • A data type with only two values: True or False. [1]
two values: True or False
Casting [1]
  • Converting a value from one data type to another (e.g. int("5")). [1]
Converting a value from one data type to another
Global variable [2]
  • Declared outside any function / subroutine. [1]
  • Can be accessed anywhere in the program. [1]
outside any function / subroutine, accessed anywhere in the program
Local variable [2]
  • Declared inside a function / subroutine. [1]
  • Only exists and can be used within that function while it runs. [1]
inside a function / subroutine, exists and can be used within that function
Scope [1]
  • The part of the program where a variable can be accessed. [1]
part of the program where a variable can be accessed
Index [1]
  • The position of an item in a string or list, starting at 0. [1]
position of an item, starting at 0
Substring [1]
  • A sequence of characters taken from within a larger string. [1]
sequence of characters taken from within a larger string
Immutable [1]
  • Cannot be changed after it is created. Python strings are immutable, methods return a new string. [1]
Cannot be changed after it is created, return a new string
Exception [2]
  • An unexpected event / error that occurs during program execution. [1]
  • That disrupts normal flow and crashes the program if not handled. [1]
unexpected event / error, during program execution, disrupts normal flow, crashes the program if not handled
Exception handling [2]
  • Code that detects and responds to runtime errors. [1]
  • So the program does not crash and can continue or end safely (try, except, finally). [1]
detects and responds to runtime errors, does not crash, continue or end safely
try / except / finally [2]
  • try holds the risky code, except runs if an error occurs. [1]
  • finally always runs, error or not (used for cleanup). [1]
try, except, finally, always runs
Validation [1]
  • Checking that input is sensible / reasonable before it is used (range check, type check, presence check, format check). [1]
Checking that input is sensible / reasonable
Logic error [1]
  • The program runs without crashing but gives the wrong result, because the algorithm is wrong. [1]
runs without crashing, gives the wrong result
Syntax error [1]
  • Code that breaks the rules of the language, so it cannot be run / translated. [1]
breaks the rules of the language, cannot be run / translated
Debugging [1]
  • The process of finding and fixing errors (bugs) in a program. [1]
finding and fixing errors (bugs)
Breakpoint [2]
  • A marker that pauses the program at a chosen line. [1]
  • So the values of variables can be inspected at that point. [1]
pauses the program at a chosen line, values of variables can be inspected
Step into / over / out [2]
  • Step into runs inside a called function line by line; step over runs the whole call as one step. [1]
  • Step out finishes the current function and returns to the caller. [1]
Step into, inside, step over, whole call as one step, Step out, finishes the current function
Type hint [1]
  • A note in Python showing the intended data type of a variable (e.g. age: int). Not enforced. [1]
intended data type, Not enforced
Character (char) [1]
  • A single letter, digit or symbol. Python has no char type: it uses a string of length 1. [1]
single letter, digit or symbol, string of length 1
Negative index [1]
  • Counts from the end of a string or list: -1 is the last element. [1]
from the end, last
Slicing [1]
  • Taking part of a string or list with [start:end]; the end index is not included. [1]
end index is not included
Runtime error [1]
  • An error that happens while the program is running (e.g. dividing by zero), which crashes it if not handled. [1]
while the program is running, crashes it
Garbage in, garbage out (GIGO) [1]
  • Bad input data produces bad output, however good the program is. [1]
Bad input data produces bad output
Print debugging [1]
  • Adding print statements at key points to show variable values and find where the code goes wrong. [1]
print statements, show variable values

B2.2 Data Structures

17 terms, 23 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Data structure [1]
  • A way of organising data in memory so it can be accessed and used efficiently. [1]
organising data in memory, accessed and used efficiently
Static data structure [1]
  • Its size is fixed when it is declared (at compile time) and cannot change while the program runs. [1]
size is fixed, compile time, cannot change
Dynamic data structure [2]
  • Can grow and shrink while the program runs (at runtime). [1]
  • Memory is allocated as items are added and freed when they are removed. [1]
grow and shrink, runtime, Memory is allocated, freed
Compile time vs runtime [2]
  • Compile time: before the program runs, when code is translated into machine code. [1]
  • Runtime: while the program is running in memory. [1]
Compile time:, translated into machine code, Runtime:, running in memory
Element [1]
  • One value stored in a list or array. [1]
One value
Traversal [1]
  • Visiting every element of a data structure in order. [1]
Visiting every element, in order
2D list [1]
  • A list of lists, like a table. An element is reached with [row][column]. [1]
list of lists, [row][column]
Tuple [1]
  • A Python sequence that cannot be changed after it is created (immutable, fixed size). [1]
cannot be changed after it is created
Stack [2]
  • A data structure where items are added and removed only at the top. [1]
  • LIFO: last in, first out. [1]
added and removed only at the top, LIFO: last in, first out
LIFO [1]
  • Last in, first out: the most recently added item is the first removed. [1]
Last in, first out, most recently added, first removed
push / pop / peek [2]
  • push adds an item to the top; pop removes and returns the top item. [1]
  • peek returns the top item without removing it. [1]
push, top, pop, removes and returns, peek, returns the top item without removing
Stack overflow [1]
  • Trying to push onto a full stack, e.g. when recursion goes too deep and fills the call stack. [1]
push onto a full stack, recursion goes too deep
Stack underflow [1]
  • Trying to pop or peek an empty stack. [1]
pop or peek an empty stack
Queue [2]
  • A data structure where items join at the back and leave from the front. [1]
  • FIFO: first in, first out. [1]
join at the back, leave from the front, FIFO: first in, first out
FIFO [1]
  • First in, first out: the first item added is the first removed. [1]
First in, first out, first item added, first removed
enqueue / dequeue / front [2]
  • enqueue adds an item to the back; dequeue removes and returns the front item. [1]
  • front returns the front item without removing it. [1]
enqueue, back, dequeue, removes and returns, front, returns the front item without removing
isEmpty [1]
  • Returns True if the stack or queue contains no items. Checked before pop or dequeue. [1]
True if the stack or queue contains no items, before pop or dequeue

B2.3 Programming Constructs

15 terms, 18 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Sequence [1]
  • Instructions are executed one after another in the order they are written. [1]
executed one after another in the order they are written
Selection [1]
  • A condition is tested and the program takes a different path depending on whether it is True or False (if / elif / else). [1]
condition is tested, takes a different path
Iteration (repetition) [1]
  • Repeating a block of code, using a for or while loop. [1]
Repeating a block of code, for, while
Infinite loop [1]
  • A loop whose end condition is never met, so it never stops (e.g. the counter is never updated). [1]
end condition is never met, never stops
Comparison operator [1]
  • An operator that compares two values and gives True or False: == != < > <= >=. [1]
compares two values, == != < > <= >=
Logical operators (and / or / not) [2]
  • and: True only if both conditions are True; or: True if at least one is True. [1]
  • not: reverses a condition. [1]
and:, both, or:, at least one, not:, reverses
Case statement (match / switch) [1]
  • Compares one value against several possible options and runs the matching branch. [1]
one value against several possible options
Count-controlled loop (for) [1]
  • Repeats a known number of times, or once for each item in a list. [1]
known number of times, each item in a list
Condition-controlled loop (while) [1]
  • Repeats while a condition is True; used when the number of repeats is unknown. May run zero times. [1]
while a condition is True, number of repeats is unknown
Nested loop [1]
  • A loop inside another loop: the inner loop runs fully for each pass of the outer loop. [1]
loop inside another loop, runs fully for each pass
Function [1]
  • A named block of code that performs a task and can be called whenever needed, often returning a value. [1]
named block of code that performs a task, called, returning a value
Modularization [2]
  • Splitting a program into separate functions or modules, each doing one task. [1]
  • Makes code easier to read, test, reuse and update. [1]
Splitting a program into separate functions or modules, one task, read, test, reuse and update
Parameter vs argument [2]
  • A parameter is the placeholder in the function definition. [1]
  • An argument is the actual value passed in when the function is called. [1]
parameter, placeholder in the function definition, argument, actual value passed in
Return value [1]
  • The value a function sends back to the code that called it. [1]
value a function sends back
Library [1]
  • A collection of pre-written, pre-tested code that can be imported, saving development time. [1]
pre-written, pre-tested code, imported

B2.4 Programming Algorithms

13 terms, 19 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Big O notation [2]
  • Describes how the time (or memory) an algorithm needs grows as the input size n grows. [1]
  • Gives the upper bound / worst case; used to compare scalability. [1]
time (or memory) an algorithm needs grows, input size n, upper bound / worst case, scalability
O(1) constant [1]
  • The number of operations stays the same whatever the input size (e.g. access by index). [1]
stays the same whatever the input size
O(log n) logarithmic [1]
  • The problem halves each step (e.g. binary search). [1]
halves each step, binary search
O(n) linear [1]
  • Operations grow in direct proportion to n (e.g. one loop, linear search). [1]
in direct proportion, one loop
O(n²) quadratic [1]
  • Operations grow with n squared, usually from nested loops (e.g. bubble and selection sort). [1]
n squared, nested loops, bubble and selection sort
O(2n) exponential [1]
  • Operations double every time n increases by 1 (e.g. brute forcing every combination). [1]
double every time n increases by 1
Time vs space complexity [2]
  • Time complexity: how the number of operations grows with n. [1]
  • Space complexity: how much extra memory is needed as n grows. [1]
Time complexity:, number of operations, Space complexity:, extra memory
Linear search [2]
  • Checks each element in turn from the start until the target is found or the list ends. [1]
  • Works on unsorted data. O(n). [1]
each element in turn, found or the list ends, unsorted, O(n)
Binary search [2]
  • On sorted data: check the middle element and discard the half that cannot contain the target. [1]
  • Repeat until found or no data is left. O(log n). [1]
sorted, middle, discard the half, O(log n)
Bubble sort [2]
  • Repeatedly compares adjacent pairs and swaps them if they are in the wrong order. [1]
  • After each pass the largest value is in place at the end. O(n²), O(1) space. [1]
compares adjacent pairs and swaps, largest value is in place, O(n²)
Selection sort [2]
  • Each pass finds the smallest value in the unsorted part [1]
  • And swaps it into the first unsorted position. O(n²), O(1) space, at most n − 1 swaps. [1]
finds the smallest value, swaps it into the first unsorted position, O(n²), n − 1 swaps
Sorting in place [1]
  • Sorting by swapping elements within the same list, so no extra memory is needed (O(1) space). [1]
swapping elements within the same list, no extra memory
Pass [1]
  • One complete run through the list by the inner loop of a sort. [1]
One complete run through the list

B2.5 File Processing

7 terms, 8 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
File [1]
  • Data saved in secondary storage that persists after the program ends. [1]
saved in secondary storage, persists after the program ends
Sequential file [2]
  • A file whose records are stored one after another [1]
  • And can only be read in order from the start. [1]
records are stored one after another, read in order from the start
Record [1]
  • One complete item of data in a file (e.g. one line). [1]
One complete item
Write mode ("w") [1]
  • Opens a file for writing and overwrites everything already in it; creates the file if it does not exist. [1]
overwrites everything, creates the file
Append mode ("a") [1]
  • Opens a file and adds new data to the end, keeping the existing data. [1]
adds new data to the end, keeping the existing data
Read mode ("r") [1]
  • Opens a file for reading only. Raises FileNotFoundError if the file does not exist. [1]
for reading only, FileNotFoundError
Closing a file [1]
  • Releases the file so data is saved and not corrupted. Python's with open() closes it automatically. [1]
saved and not corrupted, closes it automatically

B3.1 Fundamentals of OOP

17 terms, 22 marks  |  Read the article →  |  ↑ Top

TermMarksModel answer (one mark per point)Key words
Class [1]
  • A blueprint / template that defines the attributes (instance variables) and behaviours (methods) of an object. [1]
blueprint / template, attributes (instance variables), behaviours (methods)
Object [1]
  • An instance of a class that exists in memory with its own values for the instance variables. [1]
instance of a class, exists in memory
Instantiation [2]
  • Creating an object by calling the constructor with starting values [1]
  • So it is allocated memory and given an identifier. [1]
Creating an object, calling the constructor, allocated memory, identifier
Constructor [1]
  • A special method that creates an object and sets its starting values (Python: __init__). [1]
creates an object, sets its starting values
Instance variable (attribute) [1]
  • Data stored about each object; every object has its own copy. [1]
about each object, every object has its own copy
Method (behaviour) [1]
  • A function inside a class that defines what an object can do. [1]
function inside a class, what an object can do
Accessor (getter) [1]
  • A public method that returns the value of a private attribute. [1]
public method that returns, private
Mutator (setter) [1]
  • A public method that changes a private attribute, often validating the new value first. [1]
public method that changes, private, validating
Static variable [2]
  • A variable that belongs to the class, not the object [1]
  • One copy shared by all objects, accessed through the class name. [1]
belongs to the class, not the object, One copy shared by all objects, class name
Static method [1]
  • A method that belongs to the class, called without an object; can only use static variables directly. [1]
belongs to the class, without an object, static variables
UML class diagram [2]
  • A standard diagram of a class in three boxes: name, attributes, methods [1]
  • With - private, + public, # protected, and underline for static. [1]
standard diagram of a class, name, attributes, methods, - private, + public, # protected, underline for static
Encapsulation (OOP) [2]
  • Bundling data and methods inside one class [1]
  • With the data hidden (private) and accessed only through public methods. [1]
Bundling data and methods inside one class, hidden (private), only through public methods
Information hiding [1]
  • Internal data and details are hidden so other code cannot see or change them directly. [1]
Internal data and details are hidden, cannot see or change them directly
Access modifiers [2]
  • Private: only inside the class; protected: class, subclasses and package. [1]
  • Public: accessible from anywhere. [1]
Private:, protected:, Public:, anywhere
Dot notation [1]
  • Using a dot to call a method or reach data on a specific object: object.method(). [1]
on a specific object
Inheritance [1]
  • A subclass takes the attributes and methods of a superclass and adds its own, so common code is written once. [1]
subclass takes the attributes and methods of a superclass, adds its own
Polymorphism [1]
  • "Many forms": the same method name behaves differently depending on the object or parameters. [1]
"Many forms", same method name behaves differently
Ninja Notes:

I hope you like my work. Please let me know what you think of these notes. Any feedback and suggestions are very welcome. There is a Let us know button in the navigation bar. Send us an email!