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.