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 & Low-Level Programming
Choosing the right paradigm and working close to the machine — procedural vs low-level programming, addressing modes, assembly language instructions and bit manipulation.
Object-Oriented Programming (OOP)
Classes and objects in depth — encapsulation, inheritance, polymorphism and containment, reading class diagrams and writing object-oriented programs.
Declarative Programming
Solving problems by declaring what is true — facts, rules and queries in a declarative language, and tracing how goals are satisfied.
File Handling in Python
Working with files from code — opening, reading, writing and updating records, including random-file organisation and searching for data.
Exception Handling
Writing robust programs — throwing and catching exceptions, structured exception handlers and recovering gracefully from runtime errors.