Number bases (binary, denary, hexadecimal, BCD), two's complement, character sets, bitmap and vector images, and the representation of sound.
Lossless and lossy compression, run-length encoding, symmetric and asymmetric (public-key) encryption, and digital certificates and signatures.
LANs and WANs, network topologies, hardware, the internet and the cloud, IP/MAC addressing, and the protocol stack.
The von Neumann architecture, registers, the system buses, the fetch–execute cycle, factors affecting performance, interrupts and assembly language.
The logic gates, truth tables, Boolean expressions and identities, logic circuits, and simplification with Karnaugh maps.
The operating system and its functions, utility software, library files, and compilers, interpreters and assemblers.
Threats to data, malware, protection measures, data privacy, and validation and verification for data integrity.
Computing ethics and professional conduct, copyright and intellectual property, software licensing, and the impact of computing on society.
The limitations of flat files, relational databases, keys, normalisation to 3NF, the DBMS, and SQL.
Decomposition and abstraction, structured pseudocode, control structures, flowcharts, and measuring algorithm efficiency with Big-O.
Arrays, records, the abstract data types stack, queue and linked list, and binary trees with traversals.
Linear and binary search, bubble, insertion and merge sort, their pseudocode and time complexities, and when to use each.
Procedural programming, the principles of object-oriented programming (classes, objects, encapsulation, inheritance, polymorphism), and comparing paradigms.
The stages of the software development life cycle, development models, program design tools, testing strategies and types of maintenance.
Binary fractions, fixed-point representation, normalised floating-point numbers (mantissa and exponent in two's complement), conversion, rounding and underflow/overflow, and the precision/range trade-off.
Pipelining and parallel processing, interrupt handling in depth, the interrupt service routine, virtual memory and paging, page faults, and thrashing.
Resource management and the user/hardware interface, process states, the role of the scheduler, and scheduling algorithms (FCFS, round robin, SJF, shortest remaining time, priority).
Defining recursion, base and general cases, the call stack, tracing recursive calls, comparing recursion with iteration, and worked recursive algorithms.
Hash tables and hashing functions, collisions and resolution, graphs (directed/undirected, weighted), adjacency matrix and adjacency list, and graph traversals.
Serial, sequential, random and indexed-sequential file organisation, file access methods, hashing for direct access, and reading from and writing to text and record files in pseudocode.
Circuit vs packet switching, the role of protocols, the SSL/TLS handshake and HTTPS, transmission media and modes, error detection (parity, checksum, echo), and bit streaming.
What AI is, expert systems, machine learning (supervised, unsupervised, reinforcement), artificial neural networks, deep learning, and the benefits and risks of AI.
Imperative vs declarative paradigms, logic programming (facts, rules and queries in Prolog style), and low-level programming with assembly instructions, opcodes/operands and machine code.