Chapter 13
Data Representation
User-Defined Data Types
Choosing and designing data types to fit a problem — enumerated types, sets, pointers and composite record types, and why user-defined types make programs clearer and safer.
File Organisation and Access
Serial, sequential and random (direct) file organisation — storing, updating and accessing records, including hashing a key to a file address.
Floating-Point Numbers
Real number representation — mantissa and exponent, normalised form, the precision–range trade-off, rounding errors and how many values can be represented.
Chapter 14
Communication and Internet Technologies
Protocols
The TCP/IP protocol suite — application, transport, internet and link layers, what each layer's protocols do, and why layering makes communication robust.
Circuit Switching, Packet Switching
How circuit-switched and packet-switched networks transmit data — dedicated paths vs routed packets, and the practical differences between the two approaches.
Chapter 15
Hardware and Virtual Machines
Processors, Parallel Processing and Virtual Machines
RISC design and pipelining, parallel processing with Flynn's classifications (SISD, SIMD, MISD, MIMD), massively parallel computers, and how virtual machines run intermediate code.
Boolean Algebra and Logic Circuits
Boolean algebra laws and simplification, Karnaugh maps, building and simplifying logic circuits, and sequential elements — SR and JK flip-flops.
Chapter 16
System Software
Purposes of an Operating System (OS)
How the OS manages the processor, memory, input/output and backing store — process scheduling, paging, segmentation, virtual memory, interrupts and the hardware support behind it all.
Translation Software
Assemblers, compilers and interpreters in depth — lexical, syntax and semantic analysis, code generation and optimisation, plus BNF, syntax diagrams and library routines.
Chapter 17
Security
Chapter 18
Artificial Intelligence (AI)
Chapter 19
Computational Thinking and Problem-Solving
Searching Algorithms
Linear and binary search in depth — implementing, tracing and comparing search algorithms, and matching the right search to the right data structure.
Sorting Algorithms
Insertion sort and bubble sort in depth — tracing passes, counting comparisons and swaps, and reasoning about relative efficiency.
Abstract Data Types (ADT)
Linked lists, binary trees and hash tables as ADTs — how each is structured, traversed and implemented, including collision handling for hash tables.
Algorithm Complexity
Big-O reasoning — comparing time and space complexity, best and worst cases, and how algorithm efficiency scales with input size.
Recursion
Understanding base and general cases — writing, tracing and evaluating recursive algorithms, using the call stack, and knowing when recursion beats iteration.
Chapter 20
Further Programming
Programming Paradigms
Choosing the right paradigm — procedural, object-oriented (classes, inheritance, polymorphism, containment, class diagrams), low-level (addressing modes, assembly) and declarative programming.
ADT — Binary Tree
Binary trees as an ADT — insertion, the three traversals (in-order, pre-order, post-order) and how tree shape affects search performance.
P4 ADT — Linked List
Linked lists for Paper 4 — building, traversing, inserting into and deleting from linked lists in code, with next pointers and empty-list handling.
P4 ADT — Queue
Queues for Paper 4 — circular queue implementation, enqueue and dequeue operations, full/empty tests and exam-style traces.
P4 ADT — Stack
Stacks for Paper 4 — push and pop operations, overflow and underflow checks, and classic stack uses such as reversal and backtracking.
File Handling
Reading, writing and updating records in random files from code — paper-focused file operations with worked examples.
Exception Handling
Writing robust programs with structured exception handling — throwing, catching and recovering from errors so programs fail gracefully.