| 1.1.1 | Architecture of the CPU | F9.3 Hardware, software and von Neumann, F9.4 The CPU and fetch-execute |
| 1.1.2 | CPU performance | F9.5 CPU performance |
| 1.1.3 | Embedded systems | F9.8 Embedded systems: inside BugBot |
| 1.2.1 | Primary storage (memory) | F9.6 Memory |
| 1.2.2 | Secondary storage | F9.7 Secondary storage |
| 1.2.3 | Units | F8.1 Bits, bytes and units |
| 1.2.4 | Data storage | F8.2 Binary and denary, F8.3 Hexadecimal, F8.4 Binary addition, overflow and shifts, F8.6 Characters: ASCII and Unicode, F8.7 Images, F8.8 Sound, F13.5 Number and data questions |
| 1.2.5 | Compression | F8.9 Compression |
| 1.3.1 | Networks and topologies | F10.1 What is a network?, F10.2 Network hardware and connections, F10.3 Network performance, F10.4 Network topologies, F10.6 The internet, DNS and the cloud |
| 1.3.2 | Wired and wireless networks, protocols and layers | F10.5 Addresses and packets, F10.7 Protocols, F10.8 Layers, F10.9 Project: reliable delivery |
| 1.4.1 | Threats to computer systems and networks | F11.1 Why cyber security, F11.2 Malware, F11.3 Social engineering, F11.4 Network attacks |
| 1.4.2 | Identifying and preventing vulnerabilities | F11.5 Passwords and authentication, F11.6 Encryption, F11.7 Defending a network, F11.8 Writing secure programs, F11.9 Project: secure the robot |
| 1.5.1 | Operating systems | F9.9 Operating systems and utilities |
| 1.5.2 | Utility software | F9.9 Operating systems and utilities |
| 1.6.1 | Ethical, legal, cultural and environmental impact | F12.1 Impacts of technology, F12.2 Personal data and privacy, F12.3 Computer misuse and the law, F12.4 Copyright and licences, F12.5 Technology and the environment, F12.6 The digital divide and accessibility, F12.7 AI, robots and bias, F12.8 Technology, jobs and daily life, F12.9 Project: an impact report, F13.6 Long answer questions |
| 2.1.1 | Computational thinking | F4.4 Decomposition and abstraction |
| 2.1.2 | Designing, creating and refining algorithms | F5.1 What an algorithm is, F5.2 Flowcharts, F5.3 Pseudocode and the exam reference language, F5.4 Trace tables |
| 2.1.3 | Searching and sorting algorithms | F5.5 Linear search, F5.6 Binary search, F5.7 Bubble sort, F5.8 Insertion sort, F5.9 Merge sort and comparing algorithms |
| 2.2.1 | Programming fundamentals | F1.1 What a program is, F1.2 Output: print, F1.6 Variables, constants and assignment, F1.7 Input from the user, F1.9 Arithmetic operators, F2.1 Blocks and indentation, F2.2 Selection: if, F2.3 else, elif and Boolean operators, F2.4 Nested selection and match, F2.5 Count-controlled loops: for, F2.6 Condition-controlled loops: while, F2.7 Loop patterns, F13.9 Project: the revision robot |
| 2.2.2 | Data types | F1.8 Data types and casting, F3.2 Character codes and conversion |
| 2.2.3 | Additional programming techniques | F1.3 Calling functions, F3.1 String handling, F3.3 Lists: one-dimensional arrays, F3.4 Iterating over a list, F3.5 Two-dimensional arrays, F3.6 Records, F3.7 Random numbers, F4.1 Writing functions, F4.2 Parameters and return values, F4.3 Local and global variables, F4.5 Libraries and your own modules, F7.1 Reading and writing files, F7.2 Relational databases, F7.3 SQL: SELECT, F7.4 SQL: two tables and changing data |
| 2.3.1 | Defensive design | F1.5 Comments and readable code, F6.1 Defensive design and validation, F6.2 Authentication |
| 2.3.2 | Testing | F1.4 Errors: syntax, runtime and logic, F6.3 Testing and test data, F6.4 Debugging logic errors |
| 2.4.1 | Boolean logic | F9.1 Logic gates and truth tables, F9.2 Logic circuits and expressions |
| 2.5.1 | Languages | F6.5 Languages and translators |
| 2.5.2 | The Integrated Development Environment (IDE) | F6.6 The IDE |