Full Definitions and Terms
Every definition from every csNINJA article, written the way the examiner wants to see it. 532 terms, 721 marks.
- [2] is how many marks the definition is worth. Each bullet is one mark point.
- Bold words are the key words. Leave one out and you usually lose that mark.
- Quiz mode hides the answers. Say the definition out loud, then click the row to check.
Chapters
A1.1 Computer Hardware and Operation
67 terms, 106 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| CPU (Central Processing Unit) | [2] |
|
processing, fetches, decodes and executes, ALU, CU, registers |
| ALU (Arithmetic Logic Unit) | [2] |
|
arithmetic, logical, comparisons |
| CU (Control Unit) | [2] |
|
directs and coordinates, Decodes, control signals |
| Register | [2] |
|
fast storage location inside the CPU, currently working on |
| Program Counter (PC) | [1] |
|
memory address, next instruction |
| Instruction Register (IR) | [1] |
|
current instruction |
| Memory Address Register (MAR) | [1] |
|
address, read from or written to |
| Memory Data Register (MDR) | [1] |
|
data or instruction, read from memory, written to memory |
| Accumulator (AC) | [1] |
|
intermediate results, ALU |
| Bus | [2] |
|
parallel wires / communication pathway, CPU, memory and I/O |
| Address bus | [2] |
|
memory addresses, unidirectional |
| Data bus | [2] |
|
data and instructions, bidirectional |
| Control bus | [1] |
|
control signals |
| GPU (Graphics Processing Unit) | [2] |
|
thousands of simple cores, parallel processing, graphics rendering, machine learning |
| Integrated GPU | [2] |
|
built into the same chip as the CPU, Shares system RAM |
| Discrete GPU | [2] |
|
separate graphics card, VRAM |
| VRAM | [1] |
|
Dedicated video memory |
| Parallel processing | [2] |
|
Many calculations carried out at the same time, multiple cores / processors |
| Volatile memory | [1] |
|
loses its contents, power is switched off |
| Non-volatile memory | [1] |
|
keeps its contents, power is switched off |
| RAM (Random Access Memory) | [2] |
|
Volatile, programs and data currently in use |
| ROM (Read Only Memory) | [2] |
|
Non-volatile, read only, boot instructions / firmware |
| Cache memory | [2] |
|
very fast memory, L1, L2, L3, frequently used |
| L1 / L2 / L3 cache | [2] |
|
L1, inside each core, L2, L3, shared between cores |
| Memory hierarchy | [2] |
|
speed, size and cost, faster is smaller and more expensive |
| Latency | [1] |
|
delay / time taken |
| Throughput | [1] |
|
amount of data, per unit of time |
| Cache hit | [1] |
|
is found in the cache |
| Cache miss | [2] |
|
is not in the cache, slower RAM |
| Prefetching | [2] |
|
Loading data into the cache before it is requested, prediction |
| LRU (Least Recently Used) | [1] |
|
removes the item that has not been used for the longest time |
| FIFO (First In First Out) | [1] |
|
removes the item that was loaded first |
| Virtual memory | [2] |
|
secondary storage as if it were RAM, RAM is full |
| MMU (Memory Management Unit) | [1] |
|
translates virtual addresses into physical addresses |
| Paging | [2] |
|
fixed-size blocks called pages, swapped between RAM and secondary storage |
| Page table | [1] |
|
maps each virtual page to its physical location |
| Swap file | [1] |
|
secondary storage, moved out of RAM |
| Process isolation | [2] |
|
own virtual address space, cannot read or change another process's memory |
| Fetch-decode-execute cycle | [2] |
|
continuous cycle, Fetch, decode, execute |
| Fetch (stage) | [2] |
|
PC address is copied to the MAR, MDR, IR, PC is incremented |
| Decode (stage) | [2] |
|
CU interprets, opcode, operand |
| Execute (stage) | [1] |
|
carried out |
| Clock speed | [2] |
|
number of cycles per second, hertz (GHz) |
| Opcode | [1] |
|
which operation |
| Operand | [1] |
|
data or the address of the data |
| Secondary storage | [2] |
|
Non-volatile, permanently, slower but larger |
| HDD (Hard Disk Drive) | [2] |
|
Magnetic, spinning platters, slower, moving parts |
| SSD (Solid State Drive) | [2] |
|
flash memory, no moving parts, Faster |
| eMMC | [1] |
|
Embedded flash storage soldered onto the motherboard |
| Optical storage | [1] |
|
laser |
| NAS (Network Attached Storage) | [2] |
|
connected to a network, multiple users and devices |
| Compression | [2] |
|
Reducing the size of a file, save storage, reduce transmission time / bandwidth |
| Lossless compression | [2] |
|
no data is lost, original file can be perfectly reconstructed |
| Lossy compression | [2] |
|
permanently removes data, smaller files, cannot be restored |
| Run-Length Encoding (RLE) | [2] |
|
runs of repeated values, one copy of the value and a count |
| Transform coding | [2] |
|
converts data into another form, discards the parts that matter least |
| Cloud computing | [2] |
|
storage, processing, software, over the internet, remote servers, on demand / pay as you go |
| SaaS (Software as a Service) | [1] |
|
complete applications, through a browser |
| PaaS (Platform as a Service) | [1] |
|
platform / environment, developers to build and deploy |
| IaaS (Infrastructure as a Service) | [2] |
|
virtual hardware, user manages the OS and software |
| Clock cycle | [1] |
|
One tick of the CPU clock |
| Addressing mode | [2] |
|
how to find its operand, memory address |
| LOAD / STORE / JUMP | [2] |
|
LOAD, from memory into a register, STORE, from a register into memory, JUMP, PC, different instruction |
| Virtual vs physical address | [2] |
|
virtual address, program uses, MMU translates, physical address |
| Cache replacement policy | [1] |
|
which item to remove from a full cache, LRU, FIFO |
| Flash drive (USB) | [1] |
|
Portable, flash memory, USB |
| Memory card | [1] |
|
flash memory, SD, microSD |
A1.2 Data Representation and Computer Logic
45 terms, 57 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Binary | [1] |
|
base 2, 0 and 1 |
| Bit | [1] |
|
single binary digit, smallest unit |
| Nibble | [1] |
|
4 bits, one hexadecimal digit |
| Byte | [1] |
|
8 bits |
| Kilobyte / Megabyte / Gigabyte | [1] |
|
1 KB = 1024 bytes, 1024 times |
| Hexadecimal | [2] |
|
base 16, 0 to 9 and A to F, shorter and easier for humans to read |
| Place value | [1] |
|
value of a digit depends on its position, power of 2 |
| Unsigned integer | [2] |
|
all bits for the magnitude, zero and positive, 0 to 2n − 1 |
| Two's complement | [2] |
|
signed (negative and positive) integers, MSB has a negative place value, flip all bits and add 1 |
| Most Significant Bit (MSB) | [1] |
|
leftmost bit, highest place value, sign bit |
| ASCII | [2] |
|
7 bits, 128 characters |
| Unicode | [2] |
|
all languages, UTF-8, 1 to 4 bytes, backward compatible with ASCII |
| Pixel | [1] |
|
smallest element of a digital image |
| RGB colour model | [2] |
|
red, green and blue, 24-bit colour, 1 byte (0 to 255) |
| Colour depth | [1] |
|
number of bits used to store the colour of one pixel, more possible colours |
| Sampling | [1] |
|
amplitude, at regular intervals |
| Sample rate | [2] |
|
number of samples taken per second, Hz, better quality, larger file |
| Bit depth (audio) | [2] |
|
number of bits used to store each sample, more possible amplitude values |
| Quantization | [1] |
|
Rounding each sampled amplitude to the nearest available value |
| Frame (video) | [1] |
|
single still image, motion |
| Multiplexing (video) | [1] |
|
Interleaving audio and video data, synchronised |
| Logic gate | [2] |
|
transistors, binary inputs, one binary output, Boolean function |
| AND gate | [1] |
|
only when all inputs are 1 |
| OR gate | [1] |
|
at least one input is 1 |
| NOT gate | [1] |
|
one input, inverts |
| NAND gate | [1] |
|
NOT AND, only when all inputs are 1 |
| NOR gate | [1] |
|
NOT OR, only when all inputs are 0 |
| XOR gate | [1] |
|
inputs are different |
| XNOR gate | [1] |
|
inputs are the same |
| Truth table | [2] |
|
every possible combination of inputs, resulting output, 2n rows |
| Boolean expression | [1] |
|
Boolean variables, logical operators, true or false |
| Logic diagram | [1] |
|
connected logic gates, inputs are processed to give an output (Q) |
| Flip-flop | [1] |
|
stores one bit, stable state |
| Karnaugh map (K-map) | [2] |
|
grid method, simplifying Boolean expressions, grouping adjacent 1s |
| Gray code | [1] |
|
00, 01, 11, 10, adjacent cells differ by only one bit |
| Fixed-width binary | [1] |
|
same number of bits, leading zeros |
| Leading zeros | [1] |
|
Zeros added to the left, fixed width |
| Variable-width encoding | [1] |
|
different number of bytes, UTF-8 |
| Colour channel | [1] |
|
red, green or blue, 1 byte (0 to 255) |
| Stereo audio | [1] |
|
two channels (left and right), doubles the file size |
| Video codec | [1] |
|
compresses and decompresses, H.264, H.265 |
| Transistor | [1] |
|
electronic switch, Logic gates are built from transistors |
| Intermediate column | [1] |
|
one part of the expression |
| K-map group | [2] |
|
adjacent 1s, 1, 2, 4 or 8, wrap around, stay the same, kept, dropped |
| Minterm | [1] |
|
output is 1, one cell |
A1.3 Operating Systems and Control Systems
44 terms, 68 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Operating system (OS) | [2] |
|
manages the hardware and software resources, interface between the user, applications and hardware |
| Abstraction (OS) | [2] |
|
hides the complex details of the hardware, simpler interface |
| Memory management | [2] |
|
allocates and deallocates RAM, keeps processes apart, virtual memory / paging |
| File system management | [2] |
|
stored, named, retrieved and organised, access permissions |
| Device management | [2] |
|
peripheral devices, device drivers, interrupts |
| Device driver | [1] |
|
translates OS commands into signals a specific hardware device understands |
| Scheduling | [2] |
|
which process gets the CPU, For how long, in what order |
| Accounting (OS) | [2] |
|
use of resources, monitoring performance, billing |
| Virtualisation | [2] |
|
several virtual machines on one physical machine, isolated |
| Process | [1] |
|
program that is currently running / being executed |
| Thread | [2] |
|
smallest unit of execution within a process, share the same memory |
| Sandboxing | [2] |
|
Isolating a process, resources it strictly needs, damage |
| User mode vs kernel mode | [2] |
|
user mode, no direct hardware access, kernel mode, full hardware access |
| Time slice (quantum) | [1] |
|
fixed amount of CPU time, each turn |
| Pre-emption | [1] |
|
interrupting a running process, another process |
| Non-pre-emptive scheduling | [1] |
|
keeps the CPU until it finishes |
| Starvation | [2] |
|
waits indefinitely, higher priority processes |
| Ageing | [2] |
|
Gradually increasing the priority, prevent starvation |
| First Come First Served (FCFS) | [2] |
|
in the order they arrive, to completion |
| Convoy effect | [1] |
|
Short processes stuck waiting behind a long process |
| Round Robin | [2] |
|
equal time slice, back of the queue |
| Priority scheduling | [2] |
|
highest priority, pre-emptive or non-pre-emptive |
| Multilevel queue scheduling | [2] |
|
split into several queues, Each queue has its own scheduling algorithm |
| Polling | [2] |
|
repeatedly checks, at regular intervals, needs attention |
| Interrupt | [2] |
|
signal, event needs attention, saves its current state, ISR, resumes |
| Interrupt Service Routine (ISR) | [1] |
|
specific code that runs to handle a particular interrupt |
| Multitasking | [2] |
|
several processes apparently at the same time, rapidly switching |
| Multithreading | [1] |
|
Several threads of one process running concurrently |
| Context switch | [2] |
|
Saving the state, loading the saved state |
| Context switching overhead | [1] |
|
CPU time wasted saving and loading states |
| Resource allocation | [1] |
|
sharing limited resources, between competing processes |
| Deadlock | [2] |
|
each waiting for a resource held by the other, none of them can continue |
| System integrity | [2] |
|
performs its intended functions correctly and reliably, Without unauthorised or accidental changes |
| I/O management | [1] |
|
controls data flow, drivers, interrupts |
| Power management | [1] |
|
controls the power used, sleep modes |
| Network management (OS) | [1] |
|
network stack, protocols, connections and bandwidth, NIC |
| User interface (GUI / CLI) | [1] |
|
interacts with the OS, GUI, CLI |
| Fairness (scheduling) | [1] |
|
reasonable share of CPU time |
| Turnaround time | [1] |
|
total time, arriving to finishing |
| Waiting time | [1] |
|
in the ready queue waiting |
| Interrupt overhead | [1] |
|
save and restore the current state |
| Real-time system | [1] |
|
respond to events within a strict time limit, interrupts |
| Deadlock prevention / recovery | [2] |
|
Prevention:, circular wait, Recovery:, terminate a process or take back a resource |
| Resilience | [1] |
|
keeps working correctly, after a failure |
A2.1 Network Fundamentals
38 terms, 57 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Network | [1] |
|
devices connected together, share data and resources |
| LAN (Local Area Network) | [2] |
|
small geographical area, owned and managed by one organisation |
| WAN (Wide Area Network) | [2] |
|
large geographical area, Connects LANs together, third party infrastructure |
| PAN (Personal Area Network) | [1] |
|
10 m, around one person |
| Leased line | [2] |
|
dedicated, fixed capacity connection, Rented from a telecoms provider |
| VPN (Virtual Private Network) | [2] |
|
encrypted connection, over a public network, private network securely |
| Digital infrastructure | [1] |
|
physical and virtual components, digital data flow |
| The Internet | [2] |
|
global network of interconnected networks, standard protocols |
| World Wide Web (WWW) | [1] |
|
service that runs on the internet, web pages linked by hyperlinks, HTTP/HTTPS |
| Distributed system | [2] |
|
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, reduce latency |
| Mobile network | [1] |
|
wireless telecommunications network, connectivity over large distances |
| Gateway | [2] |
|
connects two networks that use different protocols, translating |
| Modem | [2] |
|
digital signals into analogue, telephone / broadband lines |
| NIC (Network Interface Card) | [2] |
|
connects a device to a network, MAC address |
| Router | [2] |
|
packets between different networks, IP addresses, routing table |
| Switch | [2] |
|
within a LAN, frames only to the intended device, MAC addresses |
| WAP (Wireless Access Point) | [1] |
|
wireless devices connect to a wired network, radio signals |
| Protocol | [2] |
|
set of rules, formatted, transmitted and received, different devices can communicate |
| Stateless protocol | [1] |
|
treated independently, keeps no memory |
| Stateful protocol | [1] |
|
keeps track of the session |
| TCP (Transmission Control Protocol) | [2] |
|
connection-oriented, three-way handshake, Reliable, acknowledged, error checked, resent if lost, put back in order |
| UDP (User Datagram Protocol) | [2] |
|
connectionless, no guarantee of delivery, Faster, streaming, gaming, VoIP |
| Three-way handshake | [1] |
|
SYN, SYN-ACK, ACK, before data is sent |
| HTTP | [2] |
|
transferring web pages, server and a browser, request / response, stateless |
| HTTPS | [2] |
|
secured with TLS encryption, eavesdropping and tampering, authenticates the server |
| TLS (Transport Layer Security) | [1] |
|
encrypts data sent between client and server |
| Cookie | [2] |
|
small file stored on the client, remember state |
| DHCP (Dynamic Host Configuration Protocol) | [2] |
|
automatically assigns IP addresses, subnet mask, default gateway, DNS |
| DHCP scope | [1] |
|
range of IP addresses |
| DHCP lease | [1] |
|
limited time, before it expires |
| Tunnel (VPN) | [1] |
|
encrypted logical connection, cannot read it |
| Satellite link | [1] |
|
satellite, remote areas, High latency |
| Hardware firewall | [1] |
|
standalone physical device, filters all traffic centrally |
| Software firewall | [1] |
|
application installed on one device, that device's traffic |
| Flow control | [1] |
|
regulates the rate, not overwhelmed |
| Acknowledgement (ACK) | [1] |
|
confirming a packet arrived, not acknowledged are resent |
| Site-to-site VPN | [1] |
|
permanently links two or more offices, leased lines |
A2.2 Network Architecture
31 terms, 43 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Network topology | [2] |
|
arrangement of nodes and the links, physical, logical |
| Node | [1] |
|
device connected to a network |
| Star topology | [2] |
|
connected directly to one central device, central device is a single point of failure |
| Mesh topology | [2] |
|
many (partial mesh) or all (full mesh) other nodes, multiple routes, rerouted |
| Hybrid topology | [1] |
|
combines two or more topologies |
| Hop | [1] |
|
One step of a packet's journey |
| Single point of failure | [1] |
|
One component whose failure stops the whole network / system |
| Client-server model | [2] |
|
central server provides resources / services, Clients request, responds |
| Server | [1] |
|
provides resources or services to other computers (clients) |
| Client | [1] |
|
requests resources or services from a server |
| Peer-to-peer (P2P) model | [2] |
|
decentralised, no central server, peer is equal, both client and server |
| Blockchain ledger | [1] |
|
decentralised record of transactions, copy stored on every node |
| Network segmentation | [2] |
|
Dividing a network into smaller separate segments, security, performance |
| Subnetting | [2] |
|
Dividing one IP network into smaller logical networks, subnet mask |
| Subnet mask | [2] |
|
which part of an IP address is the network, which part is the host |
| Network address | [1] |
|
bitwise AND of the IP address and the subnet mask |
| ACL (Access Control List) | [2] |
|
list of rules, which users or processes (subjects), which operations, on which objects |
| VLAN (Virtual LAN) | [2] |
|
logical network, regardless of their physical location / switch, reduces the broadcast domain |
| Broadcast domain | [1] |
|
broadcast message reaches |
| CIDR | [2] |
|
Classless Inter-Domain Routing, slash and prefix length, how many bits are the network part |
| VLSM | [1] |
|
Variable Length Subnet Masking, different sizes, not wasted |
| Full mesh | [1] |
|
Every node is connected to every other node |
| Partial mesh | [1] |
|
Some nodes, not all to all |
| Scalability | [1] |
|
grow, without losing performance |
| Collision | [1] |
|
two transmissions clash, resent |
| Peer | [1] |
|
equal participant, requests and provides |
| Centralised vs decentralised | [2] |
|
Centralised:, one place, Decentralised:, spread across all participants |
| Subnet | [1] |
|
smaller logical network |
| Network portion / host portion | [1] |
|
network portion, network, host portion, device |
| Bitwise AND | [1] |
|
bit by bit, only when both bits are 1, network address |
| Inter-VLAN routing | [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
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| IP (Internet Protocol) | [1] |
|
addressing and routing packets |
| IP address | [1] |
|
unique numerical address, identifies a device on a network |
| IPv4 | [2] |
|
32-bit, four decimal numbers, 4.3 billion, run out |
| IPv6 | [2] |
|
128-bit, eight groups of hexadecimal, vastly larger address space |
| Public IP address | [1] |
|
globally unique, reachable from the internet, IANA |
| Private IP address | [2] |
|
only inside a local network, not routable on the internet, NAT |
| Loopback address | [1] |
|
127.0.0.1, sends traffic back to the same device, testing |
| Static IP address | [1] |
|
fixed IP address, does not change, servers and printers |
| Dynamic IP address | [1] |
|
assigned automatically by DHCP, can change |
| NAT (Network Address Translation) | [2] |
|
translates private IP addresses into one public IP address, many devices share one public address, hiding internal addresses |
| Fibre optic cable | [2] |
|
pulses of light, glass / plastic strands, Very high bandwidth, immune to electromagnetic interference |
| Twisted pair cable | [2] |
|
Copper wires twisted in pairs, electrical signals, reduces interference, shorter range |
| Wireless transmission | [1] |
|
electromagnetic waves, without cables |
| Bandwidth | [1] |
|
maximum amount of data, per second |
| Attenuation | [1] |
|
loss of signal strength, over distance |
| Electromagnetic interference (EMI) | [1] |
|
Disruption of a signal, external electromagnetic fields |
| Packet | [2] |
|
small unit of data, header, payload |
| Payload | [1] |
|
actual data |
| Header | [1] |
|
control information, source and destination IP, sequence number, error detection code |
| Packet switching | [2] |
|
split into packets, sent independently, different routes, reassembled in order, sequence numbers |
| Encapsulation | [1] |
|
Adding headers / protocol information, before it is sent |
| Decapsulation | [1] |
|
Removing the headers, on arrival |
| Routing table | [1] |
|
destinations and the best next hop |
| MAC address | [2] |
|
unique hardware address, NIC, switches, within a LAN |
| IANA | [1] |
|
Internet Assigned Numbers Authority, manages and allocates public IP addresses |
| NAT table | [1] |
|
which private device, replies are forwarded |
| UTP / STP | [2] |
|
UTP, STP, extra shielding against interference |
| Repeater | [1] |
|
regenerates / boosts a signal, attenuation |
| Sequence number | [1] |
|
put packets back in the correct order |
| Error detection code (checksum) | [1] |
|
check whether the packet data was damaged |
| Next hop | [1] |
|
next router |
| Routing | [1] |
|
path, destination IP, routing table |
A2.4 Network Security
26 terms, 34 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Firewall | [2] |
|
monitors and filters incoming and outgoing traffic, rules |
| Next-generation firewall | [1] |
|
inspects packet contents, layer 7 |
| Whitelist | [1] |
|
approved, Only these are allowed |
| Blacklist | [1] |
|
banned, These are blocked |
| Deep packet inspection (DPI) | [1] |
|
Examining the contents (payload) of packets, Adds latency |
| IP masquerading | [1] |
|
many internal devices share one public IP, hiding their private addresses |
| MAC filtering | [2] |
|
based on their MAC address, spoofed |
| MAC spoofing | [1] |
|
Faking a MAC address |
| Encryption | [2] |
|
plaintext into ciphertext, algorithm and a key, only someone with the correct key can read it |
| Plaintext / ciphertext | [1] |
|
Plaintext, before encryption, ciphertext, after encryption |
| Symmetric encryption | [2] |
|
same secret key, encrypt and decrypt, Fast, shared securely |
| Asymmetric (public key) encryption | [2] |
|
pair of mathematically linked keys, public key, private key |
| Public key | [1] |
|
shared openly, encrypt, verify a signature |
| Private key | [1] |
|
kept secret by its owner, decrypt, create a signature |
| Hash function | [2] |
|
one-way function, fixed-size output (digest), tiny change in input gives a completely different hash |
| Digital signature | [2] |
|
hash of a document encrypted with the sender's private key, who sent it (authentication), has not been changed (integrity) |
| Digital certificate | [2] |
|
binds a public key to an identity, Signed by a trusted Certificate Authority |
| Certificate Authority (CA) | [1] |
|
trusted organisation, verifies identities, issues digital certificates |
| SSH | [1] |
|
secure remote login / command line access, public and private keys |
| Key management | [1] |
|
securely generating, storing, distributing, backing up and replacing |
| Firewall rule | [1] |
|
allow or block, source/destination IP, port and protocol, in order |
| Intrusion prevention system (IPS) | [1] |
|
monitors traffic for attacks, automatically blocks |
| APT (advanced persistent threat) | [1] |
|
long-term, targeted attack, getting past firewalls |
| Digest | [1] |
|
fixed-size output |
| CSR (certificate signing request) | [1] |
|
CA, public key and identity details, digital certificate |
| Code signing | [1] |
|
sign software with their private key, genuine and unaltered |
A3.1 Database Fundamentals
25 terms, 30 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Database | [1] |
|
organised, structured collection of data, easily accessed, managed and updated |
| Flat file database | [2] |
|
one single table, data redundancy, inconsistency |
| Relational database | [2] |
|
multiple tables (entities), Linked by relationships, primary and foreign keys |
| Data redundancy | [1] |
|
same data stored more than once |
| Anomaly | [1] |
|
problem / error caused by incorrect handling of data, redundancy |
| Insert anomaly | [1] |
|
Data cannot be added, adding other unrelated data |
| Delete anomaly | [1] |
|
Deleting one record, removes other data that is still needed |
| Update anomaly | [1] |
|
changed in some places but not others, inconsistent |
| Entity | [1] |
|
thing / object about which data is stored, table |
| Attribute | [1] |
|
property / characteristic of an entity, column / field |
| Record (tuple) | [1] |
|
One row, one instance |
| Primary key | [2] |
|
uniquely identifies each record, Cannot be null, cannot repeat |
| Foreign key | [2] |
|
primary key of another table, create a relationship / link |
| Composite key | [1] |
|
two or more whole attributes, together uniquely identify |
| Concatenated key | [1] |
|
joining parts of attributes into one value |
| Relationship | [1] |
|
link between two entities, foreign key |
| Cardinality | [1] |
|
How many, 1:1, 1:N, M:N |
| Modality | [1] |
|
optional (0) or mandatory (1), must |
| Data integrity | [1] |
|
accuracy, consistency and reliability |
| Data consistency | [1] |
|
same data has the same value everywhere |
| ACID | [1] |
|
Atomicity, Consistency, Isolation, Durability |
| Normalization | [2] |
|
Organising data into multiple related tables, reduce redundancy, remove anomalies |
| Concurrency control | [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 |
| Rigid schema | [1] |
|
defined in advance, hard to change |
A3.2 Database Design
22 terms, 28 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Schema | [2] |
|
blueprint / structure of a database, no actual data |
| Conceptual schema | [1] |
|
least detailed, entities and relationships only |
| Logical schema | [1] |
|
attributes, primary keys and foreign keys |
| Physical schema | [1] |
|
most detailed, data types, indexes, files and storage |
| ERD (Entity Relationship Diagram) | [1] |
|
diagram showing the entities, attributes, relationships |
| Link (associative) entity | [2] |
|
between two entities in an M:N relationship, two 1:N relationships |
| Data type | [1] |
|
kind of data a field can hold, operations |
| Referential integrity | [1] |
|
foreign key value must match an existing primary key |
| Cascade delete | [1] |
|
deleted, linked to it by a foreign key are deleted too |
| Cascade update | [1] |
|
primary key changes, matching foreign keys update automatically |
| Functional dependency | [1] |
|
depends on, if you know A you can find exactly one B |
| Partial dependency | [1] |
|
depends on only part of a composite primary key |
| Transitive dependency | [1] |
|
depends on another non-key attribute |
| Repeating group | [1] |
|
set of attributes that occurs many times |
| Atomic value | [1] |
|
cannot be divided further, one value per cell |
| First normal form (1NF) | [2] |
|
atomic, no repeating groups, primary key |
| Second normal form (2NF) | [2] |
|
1NF, no partial dependencies |
| Third normal form (3NF) | [2] |
|
2NF, no transitive dependencies, the key, the whole key and nothing but the key |
| Denormalization | [2] |
|
Deliberately adding redundancy back, speed up queries / reads |
| Unnormalized form (UNF) | [1] |
|
not normalized, repeating groups |
| Crow's foot notation | [1] |
|
cardinality and modality, crow's foot = many |
| fsp | [1] |
|
Fractional seconds precision, 6 decimal places |
A3.3 Database Programming
29 terms, 39 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| SQL | [1] |
|
Structured Query Language, create, query and change |
| DBMS | [1] |
|
Database management system, software that creates, manages and controls access |
| DDL (Data Definition Language) | [2] |
|
define and change the structure, CREATE, ALTER, DROP, TRUNCATE |
| DML (Data Manipulation Language) | [2] |
|
read and change the data, SELECT, INSERT, UPDATE, DELETE |
| DCL (Data Control Language) | [1] |
|
control access / permissions, GRANT, REVOKE |
| TCL (Transaction Control Language) | [1] |
|
manage transactions, COMMIT, ROLLBACK |
| Query | [1] |
|
SQL instruction that extracts information |
| Constraint (SQL) | [1] |
|
rule the DBMS enforces, PRIMARY KEY, NOT NULL, UNIQUE, FOREIGN KEY |
| NULL | [1] |
|
no value, IS NULL |
| Wildcard | [1] |
|
LIKE, %, _ |
| Alias | [1] |
|
temporary name, AS |
| Join | [2] |
|
two or more tables, foreign key matches the primary key |
| Inner join | [1] |
|
only rows that have a match in both tables |
| Left / right join | [2] |
|
LEFT JOIN, all rows from the left table, RIGHT JOIN, all rows from the right table |
| Cross join | [1] |
|
no join condition, every row is paired with every row |
| DELETE vs TRUNCATE vs DROP | [2] |
|
DELETE, chosen rows, TRUNCATE, all rows, DROP, whole table |
| Index (database) | [2] |
|
separate sorted lookup structure, searches are faster, INSERT, UPDATE and DELETE must also update the index |
| Aggregate function | [1] |
|
takes many rows and returns one value, COUNT, SUM, AVG, MIN, MAX |
| GROUP BY | [1] |
|
Groups rows that share a value, once per group |
| HAVING vs WHERE | [2] |
|
WHERE, individual rows before, HAVING, groups after, aggregate functions |
| Calculated field | [1] |
|
worked out in the query, not stored |
| View | [2] |
|
virtual table, saved SELECT query, current data, security and simplicity |
| Materialized view | [1] |
|
result is physically stored, fast to read, refreshed |
| Transaction | [2] |
|
group of operations treated as one single unit, completes fully or not at all |
| COMMIT / ROLLBACK | [2] |
|
COMMIT, permanent, ROLLBACK, undoes, last committed state |
| Atomicity | [1] |
|
all or nothing |
| Consistency (ACID) | [1] |
|
from one valid state to another |
| Isolation | [1] |
|
at the same time do not see each other's unfinished changes |
| Durability | [1] |
|
permanent even after a crash or power cut |
A4.1 Machine Learning Fundamentals
32 terms, 39 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Machine learning (ML) | [2] |
|
AI, learn from data, improve / make predictions without being explicitly programmed |
| Training | [1] |
|
Feeding data to a model, adjusting its parameters |
| Labelled data | [1] |
|
each example is tagged with the correct output / answer |
| Supervised learning | [2] |
|
labelled data, map inputs to outputs, predict |
| Classification | [1] |
|
category / class |
| Regression | [1] |
|
continuous numerical value |
| Unsupervised learning | [2] |
|
unlabelled data, hidden patterns, structure or groups |
| Clustering | [1] |
|
groups similar data points together |
| Market basket analysis | [1] |
|
items frequently bought together, if X then Y |
| Reinforcement learning | [2] |
|
agent, trial and error, interacting with an environment, rewards or penalties, maximise cumulative reward |
| Exploration vs exploitation | [2] |
|
Exploration, new actions, Exploitation, already known to give rewards |
| Deep learning | [2] |
|
artificial neural networks with many layers, increasingly abstract features |
| Neural network | [1] |
|
brain, layers of interconnected nodes (neurons) |
| CNN (Convolutional Neural Network) | [1] |
|
image data, spatial patterns |
| RNN (Recurrent Neural Network) | [1] |
|
sequential data, remembers previous inputs, LSTM |
| Transformer | [1] |
|
self-attention, all parts of the input at once, GPT and BERT |
| Transfer learning | [2] |
|
Reusing a model pre-trained on one task, related task, fine-tuning, less labelled data |
| Tensor | [1] |
|
multi-dimensional array |
| Natural Language Processing (NLP) | [1] |
|
processes and understands human language |
| Sentiment analysis | [1] |
|
positive, negative or neutral |
| Object detection | [1] |
|
Identifying and locating, bounding box |
| TPU (Tensor Processing Unit) | [1] |
|
Google's custom chip, tensor / neural network operations |
| ASIC | [1] |
|
Application-Specific Integrated Circuit, designed for one task only, low power, cannot be reprogrammed |
| FPGA | [1] |
|
Field-Programmable Gate Array, can be reprogrammed after manufacture |
| Edge device | [1] |
|
runs ML models locally, near the data source, low latency |
| Agent | [1] |
|
learner / decision maker, takes actions in an environment |
| Association rule | [1] |
|
if X then Y, market basket analysis |
| Self-attention | [1] |
|
weighs how relevant every part of the input is, all at once |
| LSTM | [1] |
|
Long Short-Term Memory, RNN, long sequences |
| Bounding box | [1] |
|
rectangle drawn around an object, where it is |
| Inference | [1] |
|
trained model to make predictions |
| Cloud-based ML platform | [1] |
|
On-demand, scalable virtual hardware, no physical infrastructure |
A4.4 Ethical Considerations
21 terms, 24 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Ethical implication | [2] |
|
possible positive or negative effect, well-being, fairness, justice, rights or freedom |
| Bias (in ML) | [2] |
|
Systematic unfairness, unrepresentative or prejudiced training data, learns and amplifies |
| Algorithmic fairness | [1] |
|
not discriminate |
| Accountability | [1] |
|
who is responsible / liable |
| Transparency | [1] |
|
AI decisions can be explained and understood, trust |
| Black box model | [1] |
|
internal decision process cannot be easily explained |
| Consent | [1] |
|
informed permission, anonymised |
| Privacy | [1] |
|
right to control how their personal data is collected, used and shared, GDPR |
| Misinformation | [1] |
|
without intent to deceive |
| Disinformation | [1] |
|
deliberately to deceive or manipulate |
| Deepfake | [1] |
|
ML-generated fake media, saying or doing things they never did |
| Quantum computing | [2] |
|
qubits, far faster, break current encryption |
| Augmented Reality (AR) | [1] |
|
Overlays digital information onto the real world |
| Virtual Reality (VR) | [1] |
|
fully immersive, computer-generated environment |
| Pervasive AI | [1] |
|
AI built into everyday devices and environments, in the background |
| Anonymity | [1] |
|
cannot be identified, free speech, cyberbullying and trolling |
| Environmental impact | [1] |
|
large amounts of energy, carbon emissions |
| Societal impact | [1] |
|
displace jobs, benefits should be shared fairly |
| Harassment bot | [1] |
|
sends abuse at scale |
| Proactive regulation | [1] |
|
laws and ethical frameworks before harm happens |
| Qubit | [1] |
|
quantum computer, superposition of 0 and 1 |
B1 Computational Thinking
21 terms, 26 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Computational thinking | [2] |
|
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, solved separately |
| Abstraction | [2] |
|
Removing / ignoring unnecessary detail, focus on the essential features |
| Pattern recognition | [2] |
|
Identifying similarities / repeated parts, existing solutions can be reused |
| Algorithmic design | [1] |
|
clear, ordered set of step by step instructions |
| Algorithm | [1] |
|
finite sequence of well-defined steps, solves a problem |
| Problem specification | [1] |
|
problem statement, constraints, objectives and goals, inputs, outputs and evaluation criteria |
| Problem statement | [1] |
|
what the problem is, why it matters |
| Constraint | [1] |
|
limit / boundary on the solution |
| Objectives and goals | [1] |
|
objective, broad aim, goals, specific, measurable targets |
| Input / output specification | [1] |
|
format and type of data going in, format and content of results coming out |
| Evaluation criteria | [1] |
|
measures used to judge whether the solution succeeded |
| Flowchart | [1] |
|
diagram showing the steps of an algorithm, standard shapes, joined by arrows |
| Trace table | [2] |
|
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 |
| Pseudocode | [1] |
|
structured, language-independent, not real code |
| Terminal (flowchart) | [1] |
|
rounded rectangle, start or end |
| Process (flowchart) | [1] |
|
rectangle, calculation or assignment |
| Input / output (flowchart) | [1] |
|
parallelogram, read in or printed out |
| Decision (flowchart) | [1] |
|
diamond, yes/no question, exactly two exits |
| Connector (flowchart) | [1] |
|
small circle with a label, without a long line |
B2.1 Programming Fundamentals
30 terms, 38 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Variable | [1] |
|
named location in memory, stores a value which can change |
| Constant | [1] |
|
does not change |
| Data type | [2] |
|
kind of value, what operations, how much memory |
| Integer | [1] |
|
whole number |
| Float (real) | [1] |
|
with a decimal / fractional part |
| String | [1] |
|
sequence of characters |
| Boolean | [1] |
|
two values: True or False |
| Casting | [1] |
|
Converting a value from one data type to another |
| Global variable | [2] |
|
outside any function / subroutine, accessed anywhere in the program |
| Local variable | [2] |
|
inside a function / subroutine, exists and can be used within that function |
| Scope | [1] |
|
part of the program where a variable can be accessed |
| Index | [1] |
|
position of an item, starting at 0 |
| Substring | [1] |
|
sequence of characters taken from within a larger string |
| Immutable | [1] |
|
Cannot be changed after it is created, return a new string |
| Exception | [2] |
|
unexpected event / error, during program execution, disrupts normal flow, crashes the program if not handled |
| Exception handling | [2] |
|
detects and responds to runtime errors, does not crash, continue or end safely |
| try / except / finally | [2] |
|
try, except, finally, always runs |
| Validation | [1] |
|
Checking that input is sensible / reasonable |
| Logic error | [1] |
|
runs without crashing, gives the wrong result |
| Syntax error | [1] |
|
breaks the rules of the language, cannot be run / translated |
| Debugging | [1] |
|
finding and fixing errors (bugs) |
| Breakpoint | [2] |
|
pauses the program at a chosen line, values of variables can be inspected |
| Step into / over / out | [2] |
|
Step into, inside, step over, whole call as one step, Step out, finishes the current function |
| Type hint | [1] |
|
intended data type, Not enforced |
| Character (char) | [1] |
|
single letter, digit or symbol, string of length 1 |
| Negative index | [1] |
|
from the end, last |
| Slicing | [1] |
|
end index is not included |
| Runtime error | [1] |
|
while the program is running, crashes it |
| Garbage in, garbage out (GIGO) | [1] |
|
Bad input data produces bad output |
| Print debugging | [1] |
|
print statements, show variable values |
B2.2 Data Structures
17 terms, 23 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Data structure | [1] |
|
organising data in memory, accessed and used efficiently |
| Static data structure | [1] |
|
size is fixed, compile time, cannot change |
| Dynamic data structure | [2] |
|
grow and shrink, runtime, Memory is allocated, freed |
| Compile time vs runtime | [2] |
|
Compile time:, translated into machine code, Runtime:, running in memory |
| Element | [1] |
|
One value |
| Traversal | [1] |
|
Visiting every element, in order |
| 2D list | [1] |
|
list of lists, [row][column] |
| Tuple | [1] |
|
cannot be changed after it is created |
| Stack | [2] |
|
added and removed only at the top, LIFO: last in, first out |
| LIFO | [1] |
|
Last in, first out, most recently added, first removed |
| push / pop / peek | [2] |
|
push, top, pop, removes and returns, peek, returns the top item without removing |
| Stack overflow | [1] |
|
push onto a full stack, recursion goes too deep |
| Stack underflow | [1] |
|
pop or peek an empty stack |
| Queue | [2] |
|
join at the back, leave from the front, FIFO: first in, first out |
| FIFO | [1] |
|
First in, first out, first item added, first removed |
| enqueue / dequeue / front | [2] |
|
enqueue, back, dequeue, removes and returns, front, returns the front item without removing |
| isEmpty | [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
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Sequence | [1] |
|
executed one after another in the order they are written |
| Selection | [1] |
|
condition is tested, takes a different path |
| Iteration (repetition) | [1] |
|
Repeating a block of code, for, while |
| Infinite loop | [1] |
|
end condition is never met, never stops |
| Comparison operator | [1] |
|
compares two values, == != < > <= >= |
| Logical operators (and / or / not) | [2] |
|
and:, both, or:, at least one, not:, reverses |
| Case statement (match / switch) | [1] |
|
one value against several possible options |
| Count-controlled loop (for) | [1] |
|
known number of times, each item in a list |
| Condition-controlled loop (while) | [1] |
|
while a condition is True, number of repeats is unknown |
| Nested loop | [1] |
|
loop inside another loop, runs fully for each pass |
| Function | [1] |
|
named block of code that performs a task, called, returning a value |
| Modularization | [2] |
|
Splitting a program into separate functions or modules, one task, read, test, reuse and update |
| Parameter vs argument | [2] |
|
parameter, placeholder in the function definition, argument, actual value passed in |
| Return value | [1] |
|
value a function sends back |
| Library | [1] |
|
pre-written, pre-tested code, imported |
B2.4 Programming Algorithms
13 terms, 19 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Big O notation | [2] |
|
time (or memory) an algorithm needs grows, input size n, upper bound / worst case, scalability |
| O(1) constant | [1] |
|
stays the same whatever the input size |
| O(log n) logarithmic | [1] |
|
halves each step, binary search |
| O(n) linear | [1] |
|
in direct proportion, one loop |
| O(n²) quadratic | [1] |
|
n squared, nested loops, bubble and selection sort |
| O(2n) exponential | [1] |
|
double every time n increases by 1 |
| Time vs space complexity | [2] |
|
Time complexity:, number of operations, Space complexity:, extra memory |
| Linear search | [2] |
|
each element in turn, found or the list ends, unsorted, O(n) |
| Binary search | [2] |
|
sorted, middle, discard the half, O(log n) |
| Bubble sort | [2] |
|
compares adjacent pairs and swaps, largest value is in place, O(n²) |
| Selection sort | [2] |
|
finds the smallest value, swaps it into the first unsorted position, O(n²), n − 1 swaps |
| Sorting in place | [1] |
|
swapping elements within the same list, no extra memory |
| Pass | [1] |
|
One complete run through the list |
B2.5 File Processing
7 terms, 8 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| File | [1] |
|
saved in secondary storage, persists after the program ends |
| Sequential file | [2] |
|
records are stored one after another, read in order from the start |
| Record | [1] |
|
One complete item |
| Write mode ("w") | [1] |
|
overwrites everything, creates the file |
| Append mode ("a") | [1] |
|
adds new data to the end, keeping the existing data |
| Read mode ("r") | [1] |
|
for reading only, FileNotFoundError |
| Closing a file | [1] |
|
saved and not corrupted, closes it automatically |
B3.1 Fundamentals of OOP
17 terms, 22 marks | Read the article → | ↑ Top
| Term | Marks | Model answer (one mark per point) | Key words |
|---|---|---|---|
| Class | [1] |
|
blueprint / template, attributes (instance variables), behaviours (methods) |
| Object | [1] |
|
instance of a class, exists in memory |
| Instantiation | [2] |
|
Creating an object, calling the constructor, allocated memory, identifier |
| Constructor | [1] |
|
creates an object, sets its starting values |
| Instance variable (attribute) | [1] |
|
about each object, every object has its own copy |
| Method (behaviour) | [1] |
|
function inside a class, what an object can do |
| Accessor (getter) | [1] |
|
public method that returns, private |
| Mutator (setter) | [1] |
|
public method that changes, private, validating |
| Static variable | [2] |
|
belongs to the class, not the object, One copy shared by all objects, class name |
| Static method | [1] |
|
belongs to the class, without an object, static variables |
| UML class diagram | [2] |
|
standard diagram of a class, name, attributes, methods, - private, + public, # protected, underline for static |
| Encapsulation (OOP) | [2] |
|
Bundling data and methods inside one class, hidden (private), only through public methods |
| Information hiding | [1] |
|
Internal data and details are hidden, cannot see or change them directly |
| Access modifiers | [2] |
|
Private:, protected:, Public:, anywhere |
| Dot notation | [1] |
|
on a specific object |
| Inheritance | [1] |
|
subclass takes the attributes and methods of a superclass, adds its own |
| Polymorphism | [1] |
|
"Many forms", same method name behaves differently |
- Define means give the precise meaning. Usually [1] or [2]. Do not explain or give examples unless asked.
- Outline or describe means more points. Count the marks and write one clear point per mark.
- For a [2] definition, write what it is plus what it does or why.
- Never define a word using the same word. "Encryption is encrypting data" scores zero.
- Learn pairs together: lossy and lossless, TCP and UDP, symmetric and asymmetric, static and dynamic IP, polling and interrupts, misinformation and disinformation.
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!