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
Algorithms
Implementing abstract data types in code — linked lists, binary trees and hash tables (with collision handling) — plus insertion sort, binary search and algorithm tracing.
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.
File Processing and Exception Handling
Reading, writing and updating records in random files from code, and writing robust programs with structured exception handling — throwing, catching and recovering from errors.