Every point of each GCSE and A level computer science specification, and the BugBot lesson that teaches it. 404 lessons, each marked by the simulator, with questions that carry the same specification codes. Print this page for one sheet per board.
26 of 26 specification sections are taught by a lesson, 100% of the specification.
| Section | What the specification says | Taught in | Questions | |
|---|---|---|---|---|
| 1.1.1 | Architecture of the CPU | F9.3 Hardware, software and von Neumann F9.4 The CPU and fetch-execute | 10 | ✓ |
| 1.1.2 | CPU performance | F9.5 CPU performance | 5 | ✓ |
| 1.1.3 | Embedded systems | F9.8 Embedded systems: inside BugBot | 6 | ✓ |
| 1.2.1 | Primary storage (memory) | F9.6 Memory | 5 | ✓ |
| 1.2.2 | Secondary storage | F9.7 Secondary storage | 5 | ✓ |
| 1.2.3 | Units | F8.1 Bits, bytes and units | 5 | ✓ |
| 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 | 48 | ✓ |
| 1.2.5 | Compression | F8.9 Compression | 3 | ✓ |
| 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 | 24 | ✓ |
| 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 | 19 | ✓ |
| 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 | 22 | ✓ |
| 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 | 26 | ✓ |
| 1.5.1 | Operating systems | F9.9 Operating systems and utilities | 3 | ✓ |
| 1.5.2 | Utility software | F9.9 Operating systems and utilities | 3 | ✓ |
| 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 | 52 | ✓ |
| 2.1.1 | Computational thinking | F4.4 Decomposition and abstraction | 7 | ✓ |
| 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 | 33 | ✓ |
| 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 | 29 | ✓ |
| 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 | 101 | ✓ |
| 2.2.2 | Data types | F1.8 Data types and casting F3.2 Character codes and conversion | 14 | ✓ |
| 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 | 100 | ✓ |
| 2.3.1 | Defensive design | F1.5 Comments and readable code F6.1 Defensive design and validation F6.2 Authentication | 20 | ✓ |
| 2.3.2 | Testing | F1.4 Errors: syntax, runtime and logic F6.3 Testing and test data F6.4 Debugging logic errors | 21 | ✓ |
| 2.4.1 | Boolean logic | F9.1 Logic gates and truth tables F9.2 Logic circuits and expressions | 18 | ✓ |
| 2.5.1 | Languages | F6.5 Languages and translators | 6 | ✓ |
| 2.5.2 | The Integrated Development Environment (IDE) | F6.6 The IDE | 4 | ✓ |
35 of 35 specification sections are taught by a lesson, 100% of the specification.
| Section | What the specification says | Taught in | Questions | |
|---|---|---|---|---|
| 3.1.1 | Representing algorithms | F4.4 Decomposition and abstraction F5.1 What an algorithm is F5.2 Flowcharts F5.3 Pseudocode and the exam reference language F5.4 Trace tables | 37 | ✓ |
| 3.1.2 | Efficiency of algorithms | F5.9 Merge sort and comparing algorithms | 4 | ✓ |
| 3.1.3 | Searching algorithms | F5.5 Linear search F5.6 Binary search | 12 | ✓ |
| 3.1.4 | Sorting algorithms | F5.7 Bubble sort F5.8 Insertion sort | 13 | ✓ |
| 3.2.1 | Data types | F1.8 Data types and casting | 3 | ✓ |
| 3.2.2 | Programming concepts | F1.1 What a program is F1.5 Comments and readable code F1.6 Variables, constants and assignment F2.1 Blocks and indentation 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 | 65 | ✓ |
| 3.2.3 | Arithmetic operations in a programming language | F1.9 Arithmetic operators | 12 | ✓ |
| 3.2.4 | Relational operations in a programming language | F2.2 Selection: if | 9 | ✓ |
| 3.2.5 | Boolean operations in a programming language | F2.3 else, elif and Boolean operators | 9 | ✓ |
| 3.2.6 | Data structures | F3.3 Lists: one-dimensional arrays F3.4 Iterating over a list F3.5 Two-dimensional arrays F3.6 Records | 24 | ✓ |
| 3.2.7 | Input/output | F1.2 Output: print F1.7 Input from the user | 12 | ✓ |
| 3.2.8 | String handling operations in a programming language | F3.1 String handling F3.2 Character codes and conversion | 26 | ✓ |
| 3.2.9 | Random number generation in a programming language | F3.7 Random numbers | 5 | ✓ |
| 3.2.10 | Structured programming and subroutines (procedures and functions) | F1.3 Calling functions F4.1 Writing functions F4.2 Parameters and return values F4.3 Local and global variables F4.5 Libraries and your own modules | 38 | ✓ |
| 3.2.11 | Robust and secure programming | F1.4 Errors: syntax, runtime and logic F6.1 Defensive design and validation F6.2 Authentication F6.3 Testing and test data F6.4 Debugging logic errors | 35 | ✓ |
| 3.3.1 | Number bases | F8.2 Binary and denary | 1 | ✓ |
| 3.3.2 | Converting between number bases | F8.2 Binary and denary F8.3 Hexadecimal F13.5 Number and data questions | 18 | ✓ |
| 3.3.3 | Units of information | F8.1 Bits, bytes and units | 5 | ✓ |
| 3.3.4 | Binary arithmetic | F8.4 Binary addition, overflow and shifts | 5 | ✓ |
| 3.3.5 | Character encoding | F8.6 Characters: ASCII and Unicode | 12 | ✓ |
| 3.3.6 | Representing images | F8.7 Images | 7 | ✓ |
| 3.3.7 | Representing sound | F8.8 Sound | 5 | ✓ |
| 3.3.8 | Data compression | F8.9 Compression | 7 | ✓ |
| 3.4.1 | Hardware and software | F9.3 Hardware, software and von Neumann | 1 | ✓ |
| 3.4.2 | Boolean logic | F9.1 Logic gates and truth tables F9.2 Logic circuits and expressions | 12 | ✓ |
| 3.4.3 | Software classification | F9.9 Operating systems and utilities | 7 | ✓ |
| 3.4.4 | Classification of programming languages and translators | F6.5 Languages and translators F6.6 The IDE | 6 | ✓ |
| 3.4.5 | Systems architecture | F9.4 The CPU and fetch-execute F9.5 CPU performance F9.6 Memory F9.7 Secondary storage F9.8 Embedded systems: inside BugBot | 31 | ✓ |
| 3.5 | Fundamentals of computer networks | F10.1 What is a network? F10.2 Network hardware and connections F10.4 Network topologies F10.5 Addresses and packets F10.7 Protocols F10.8 Layers F10.9 Project: reliable delivery | 34 | ✓ |
| 3.6.1 | Fundamentals of cyber security | F11.1 Why cyber security | 5 | ✓ |
| 3.6.2 | Cyber security threats | F11.2 Malware F11.3 Social engineering | 11 | ✓ |
| 3.6.3 | Methods to detect and prevent cyber security threats | F11.5 Passwords and authentication F11.6 Encryption F11.7 Defending a network F11.8 Writing secure programs F11.9 Project: secure the robot | 26 | ✓ |
| 3.7.1 | Relational databases | F7.2 Relational databases | 6 | ✓ |
| 3.7.2 | Structured query language (SQL) | F7.3 SQL: SELECT F7.4 SQL: two tables and changing data | 12 | ✓ |
| 3.8 | Ethical, legal and environmental impacts of digital technology on wider society, including issues of privacy | 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 | 52 | ✓ |
66 of 66 specification sections are taught by a lesson, 100% of the specification.
| Section | What the specification says | Taught in | Questions | |
|---|---|---|---|---|
| 1.1.1 | Benefits of decomposition and abstraction | F4.4 Decomposition and abstraction | 5 | ✓ |
| 1.1.2 | Benefits of subprograms | F4.1 Writing functions | ✓ | |
| 1.2.1 | Following and writing algorithms | F5.1 What an algorithm is F5.2 Flowcharts | 15 | ✓ |
| 1.2.2 | Algorithms with variables and data structures | F5.3 Pseudocode and the exam reference language | ✓ | |
| 1.2.3 | Algorithms with arithmetic, relational and logical operators | F2.3 else, elif and Boolean operators | ✓ | |
| 1.2.4 | The output of an algorithm | F2.7 Loop patterns F5.4 Trace tables | 12 | ✓ |
| 1.2.5 | Types of error | F1.4 Errors: syntax, runtime and logic | 6 | ✓ |
| 1.2.6 | Standard sorting and searching algorithms | F5.5 Linear search F5.6 Binary search F5.7 Bubble sort F5.8 Insertion sort | 21 | ✓ |
| 1.2.7 | Fitness for purpose and efficiency | F5.9 Merge sort and comparing algorithms | 4 | ✓ |
| 1.3.1 | Truth tables | F9.1 Logic gates and truth tables F9.2 Logic circuits and expressions | 9 | ✓ |
| 2.1.1 | Binary represents data | F8.1 Bits, bytes and units | 1 | ✓ |
| 2.1.2 | Unsigned and two's complement integers | F8.5 Negative numbers: two's complement | 4 | ✓ |
| 2.1.3 | Denary and 8-bit binary | F8.2 Binary and denary F13.5 Number and data questions | 12 | ✓ |
| 2.1.4 | Binary addition and shifts | F8.4 Binary addition, overflow and shifts | 3 | ✓ |
| 2.1.5 | Overflow | F8.4 Binary addition, overflow and shifts | 2 | ✓ |
| 2.1.6 | Hexadecimal | F8.3 Hexadecimal | 6 | ✓ |
| 2.2.1 | Characters: 7-bit ASCII | F8.6 Characters: ASCII and Unicode | 6 | ✓ |
| 2.2.2 | Bitmap images | F8.7 Images | 7 | ✓ |
| 2.2.3 | Sound | F8.8 Sound | 5 | ✓ |
| 2.2.4 | Limits of binary representation | F8.8 Sound | ✓ | |
| 2.3.1 | Units of storage, in binary multiples | F8.1 Bits, bytes and units | 5 | ✓ |
| 2.3.2 | Compression | F8.9 Compression | 3 | ✓ |
| 3.1.1 | The von Neumann stored program concept | F9.3 Hardware, software and von Neumann F9.4 The CPU and fetch-execute F9.6 Memory | 13 | ✓ |
| 3.1.2 | Secondary storage | F9.7 Secondary storage | 5 | ✓ |
| 3.1.3 | Embedded systems | F9.8 Embedded systems: inside BugBot | 6 | ✓ |
| 3.2.1 | Operating systems | F9.9 Operating systems and utilities | 3 | ✓ |
| 3.2.2 | Utility software | F9.9 Operating systems and utilities | 3 | ✓ |
| 3.2.3 | Robust software | F6.1 Defensive design and validation | ✓ | |
| 3.3.1 | Low-level and high-level languages | F6.5 Languages and translators | 2 | ✓ |
| 3.3.2 | Interpreters and compilers | F6.5 Languages and translators | 3 | ✓ |
| 4.1.1 | Why networks | F10.1 What is a network? | 1 | ✓ |
| 4.1.2 | LAN and WAN | F10.1 What is a network? | 2 | ✓ |
| 4.1.3 | How the internet is structured | F10.5 Addresses and packets F10.6 The internet, DNS and the cloud | 10 | ✓ |
| 4.1.4 | Wired and wireless | F10.2 Network hardware and connections | 1 | ✓ |
| 4.1.5 | Network speeds | F10.3 Network performance | 5 | ✓ |
| 4.1.6 | Protocols | F10.7 Protocols F10.9 Project: reliable delivery | 10 | ✓ |
| 4.1.7 | The 4-layer TCP/IP model | F10.8 Layers | 5 | ✓ |
| 4.1.8 | Topologies | F10.4 Network topologies | 6 | ✓ |
| 4.2.1 | Network security | F11.4 Network attacks F11.7 Defending a network F11.9 Project: secure the robot | 12 | ✓ |
| 5.1.1 | Environmental issues | F12.1 Impacts of technology F12.5 Technology and the environment F12.6 The digital divide and accessibility F12.9 Project: an impact report F13.6 Long answer questions | 28 | ✓ |
| 5.2.1 | Personal data | F12.2 Personal data and privacy | 8 | ✓ |
| 5.2.2 | AI, machine learning and robotics | F12.7 AI, robots and bias F12.8 Technology, jobs and daily life | 6 | ✓ |
| 5.2.3 | Intellectual property | F12.3 Computer misuse and the law F12.4 Copyright and licences | 10 | ✓ |
| 5.3.1 | Threats: malware and social engineering | F11.1 Why cyber security F11.2 Malware F11.3 Social engineering | 16 | ✓ |
| 5.3.2 | Protecting digital systems | F11.6 Encryption F11.8 Writing secure programs | 13 | ✓ |
| 6.1.1 | Decomposition and abstraction in code | F4.4 Decomposition and abstraction | 3 | ✓ |
| 6.1.2 | Read, write, analyse and refine programs | F6.4 Debugging logic errors | ✓ | |
| 6.1.3 | Algorithms into code | F13.9 Project: the revision robot | 13 | ✓ |
| 6.1.4 | Readable code | F1.5 Comments and readable code | 6 | ✓ |
| 6.1.5 | Finding and correcting errors | F6.4 Debugging logic errors F6.6 The IDE | 5 | ✓ |
| 6.1.6 | Test data and evaluation | F6.3 Testing and test data | 10 | ✓ |
| 6.2.1 | Structural components of programs | F2.1 Blocks and indentation | 7 | ✓ |
| 6.2.2 | Sequence, selection, repetition and iteration | F1.1 What a program is F2.4 Nested selection and match F2.5 Count-controlled loops: for F2.6 Condition-controlled loops: while F3.4 Iterating over a list | 43 | ✓ |
| 6.3.1 | Primitive and structured data types | F1.8 Data types and casting F3.3 Lists: one-dimensional arrays F3.5 Two-dimensional arrays F3.6 Records | 25 | ✓ |
| 6.3.2 | Variables and constants | F1.6 Variables, constants and assignment | 8 | ✓ |
| 6.3.3 | String manipulation | F3.1 String handling F3.2 Character codes and conversion | 21 | ✓ |
| 6.4.1 | Responding to user input | F1.2 Output: print F1.7 Input from the user | 12 | ✓ |
| 6.4.2 | Reading and writing CSV files | F7.1 Reading and writing files | 9 | ✓ |
| 6.4.3 | Validation | F6.1 Defensive design and validation | 8 | ✓ |
| 6.4.4 | Authentication | F6.2 Authentication F11.5 Passwords and authentication | 13 | ✓ |
| 6.5.1 | Arithmetic operators | F1.9 Arithmetic operators | 12 | ✓ |
| 6.5.2 | Relational operators | F2.2 Selection: if | 9 | ✓ |
| 6.5.3 | Logical operators | F2.3 else, elif and Boolean operators | 9 | ✓ |
| 6.6.1 | Built-in, library and user-devised subprograms | F1.3 Calling functions F3.7 Random numbers F4.5 Libraries and your own modules | 19 | ✓ |
| 6.6.2 | Writing functions and procedures | F4.1 Writing functions F4.2 Parameters and return values | 15 | ✓ |
| 6.6.3 | Local and global variables | F4.3 Local and global variables | 6 | ✓ |
24 of 24 specification sections are taught by a lesson, 100% of the specification.
| Section | What the specification says | Taught in | Questions | |
|---|---|---|---|---|
| 1.1.1 | Structure and function of the processor | A9.1 Hardware, software and the stored program A9.2 The processor and its registers A9.3 The fetch-decode-execute cycle in detail A9.8 Performance, pipelining and parallel processors A9.10 Project: a processor of your own | 19 | ✓ |
| 1.1.2 | Types of processor | A9.8 Performance, pipelining and parallel processors | 3 | ✓ |
| 1.1.3 | Input, output and storage | A9.9 Input, output and storage | 3 | ✓ |
| 1.2.1 | Systems Software | A9.7 Interrupts A10.2 The operating system, BIOS and device drivers A10.3 Memory management: paging, segmentation and virtual memory A10.4 Interrupts A10.5 Scheduling algorithms A10.6 Types of operating system and virtual machines A10.9 Project: a tiny robot operating system | 34 | ✓ |
| 1.2.2 | Applications Generation | A10.1 Classifying software A10.7 Programming languages and translators A10.8 Stages of compilation, linkers and loaders | 13 | ✓ |
| 1.2.3 | Software Development | A14.1 The systems lifecycle and feasibility A14.2 Development methodologies A14.3 Analysis: requirements and success criteria A14.4 System design A14.5 Testing strategies A14.6 Software engineering tools and version control A14.9 Project: the delivery robot | 16 | ✓ |
| 1.2.4 | Types of Programming Language | A1.6 Programming paradigms and procedural programming A1.7 Classes and objects A1.8 Inheritance, polymorphism and overriding A1.9 Aggregation, composition and class diagrams A1.10 Project: the behaviour controller A9.4 Instruction sets and addressing modes A9.5 Assembly language: the Little Man Computer A9.6 AQA assembly language and bitwise operations A9.10 Project: a processor of your own A10.7 Programming languages and translators A13.1 The functional paradigm | 25 | ✓ |
| 1.3.1 | Compression, Encryption and Hashing | A7.9 Compression, encryption and hashing A7.10 Project: a secure sensor packet | 4 | ✓ |
| 1.3.2 | Databases | A11.1 Data models and entity relationships A11.2 Relational databases and keys A11.3 Normalisation to third normal form A11.4 SQL: defining tables and joining them A11.5 SQL: changing data and referential integrity A11.6 Transactions and ACID A11.7 Client server databases and concurrent access A11.8 Capturing, managing and exchanging data A11.10 Project: the run database | 50 | ✓ |
| 1.3.3 | Networks | A12.1 Communication methods A12.2 Topologies and wireless networks A12.3 How the Internet works A12.4 The TCP/IP stack and protocols A12.7 Internet security A12.8 Client server, REST and thin clients A12.10 Project: a reliable link | 21 | ✓ |
| 1.3.4 | Web Technologies | A12.9 Web technologies and search | 6 | ✓ |
| 1.4.1 | Data Types | A7.1 Number sets, bases and units A7.2 Binary arithmetic and signed integers A7.3 Fixed point and floating point A7.4 Errors, range and precision A7.5 Bitwise operations and characters A7.10 Project: a secure sensor packet A15.7 Calculation and theory questions | 27 | ✓ |
| 1.4.2 | Data Structures | A3.1 Arrays, records and tuples A3.2 Abstract data types and stacks A3.3 Queues: linear, circular and priority A3.4 Linked lists A3.5 Hash tables A3.6 Dictionaries A3.9 Project: mission control A4.1 Graphs A4.2 Adjacency matrix and adjacency list A4.5 Trees A4.6 Binary search trees A4.8 Project: plan the route | 62 | ✓ |
| 1.4.3 | Boolean Algebra | A8.1 Logic gates and notation A8.2 Circuits, expressions and truth tables A8.3 Boolean identities and laws A8.4 De Morgan's laws A8.5 Simplifying expressions A8.6 Karnaugh maps A8.7 Half adders and full adders A8.8 D-type flip-flops and clocks A8.9 Project: the robot's safety logic A15.7 Calculation and theory questions | 50 | ✓ |
| 1.5.1 | Computing related legislation | A14.7 Computing legislation | 6 | ✓ |
| 1.5.2 | Moral and ethical Issues | A14.8 Moral, ethical, social and cultural issues | 5 | ✓ |
| 2.1.1 | Thinking abstractly | A2.4 Abstraction and models A2.5 Procedural, functional and data abstraction A2.10 Project: out of the dead end | 8 | ✓ |
| 2.1.2 | Thinking ahead | A2.7 Thinking ahead and thinking logically A2.10 Project: out of the dead end | 5 | ✓ |
| 2.1.3 | Thinking procedurally | A2.6 Decomposition, composition and automation A2.10 Project: out of the dead end | 2 | ✓ |
| 2.1.4 | Thinking logically | A2.7 Thinking ahead and thinking logically A2.10 Project: out of the dead end | 1 | ✓ |
| 2.1.5 | Thinking concurrently | A2.8 Thinking concurrently | 4 | ✓ |
| 2.2.1 | Programming techniques | A1.1 Data types and programming constructs A1.4 Subroutines, parameters and passing by reference A1.5 Scope, lifetime and debugging in an IDE A1.7 Classes and objects A1.8 Inheritance, polymorphism and overriding A1.10 Project: the behaviour controller A2.1 Stack frames and the call stack A2.2 Recursion A2.3 Recursion versus iteration A15.1 How your A level is assessed A15.2 Command words and levels of response A15.3 Trace tables and hand-tracing A15.4 Pseudocode in the exam languages A15.5 Writing algorithms and code in the exam A15.6 Pre-release material and skeleton programs A15.8 A revision plan and mixed practice | 53 | ✓ |
| 2.2.2 | Computational methods | A2.6 Decomposition, composition and automation A2.8 Thinking concurrently A2.9 Computational methods A2.10 Project: out of the dead end | 10 | ✓ |
| 2.3.1 | Algorithms | A4.3 Depth-first traversal A4.4 Breadth-first traversal A4.7 Tree traversals A4.8 Project: plan the route A5.1 Comparing algorithms A5.2 Big O notation A5.3 Linear and binary search A5.4 Bubble sort and insertion sort A5.5 Merge sort A5.6 Quick sort A5.7 Dijkstra's shortest path algorithm A5.8 A* search A5.9 Project: plan the route, then drive it A6.6 Reverse Polish notation A6.7 Limits of computation: tractable and intractable problems A15.1 How your A level is assessed A15.3 Trace tables and hand-tracing A15.5 Writing algorithms and code in the exam A15.7 Calculation and theory questions A15.8 A revision plan and mixed practice | 97 | ✓ |
151 of 151 specification sections are taught by a lesson, 100% of the specification.
| Section | What the specification says | Taught in | Questions | |
|---|---|---|---|---|
| 4.1.1.1 | Data types | A1.1 Data types and programming constructs | 3 | ✓ |
| 4.1.1.2 | Programming concepts | A1.1 Data types and programming constructs A1.10 Project: the behaviour controller | 2 | ✓ |
| 4.1.1.3 | Arithmetic operations in a programming language | A1.2 Operations, strings and random numbers | 3 | ✓ |
| 4.1.1.4 | Relational operations in a programming language | A1.2 Operations, strings and random numbers | ✓ | |
| 4.1.1.5 | Boolean operations in a programming language | A1.2 Operations, strings and random numbers | 1 | ✓ |
| 4.1.1.6 | Constants and variables in a programming language | A1.1 Data types and programming constructs A1.10 Project: the behaviour controller | 1 | ✓ |
| 4.1.1.7 | String-handling operations in a programming language | A1.2 Operations, strings and random numbers | 1 | ✓ |
| 4.1.1.8 | Random number generation in a programming language | A1.2 Operations, strings and random numbers | 1 | ✓ |
| 4.1.1.9 | Exception handling | A1.3 Exception handling A1.10 Project: the behaviour controller | 7 | ✓ |
| 4.1.1.10 | Subroutines (procedures/functions) | A1.4 Subroutines, parameters and passing by reference A1.10 Project: the behaviour controller | 1 | ✓ |
| 4.1.1.11 | Parameters of subroutines | A1.4 Subroutines, parameters and passing by reference A1.10 Project: the behaviour controller | 3 | ✓ |
| 4.1.1.12 | Returning a value/values from a subroutine | A1.4 Subroutines, parameters and passing by reference | 1 | ✓ |
| 4.1.1.13 | Local variables in subroutines | A1.5 Scope, lifetime and debugging in an IDE A1.10 Project: the behaviour controller | 2 | ✓ |
| 4.1.1.14 | Global variables in a programming language | A1.5 Scope, lifetime and debugging in an IDE | 2 | ✓ |
| 4.1.1.15 | Role of stack frames in subroutine calls | A2.1 Stack frames and the call stack A2.3 Recursion versus iteration A2.10 Project: out of the dead end | 6 | ✓ |
| 4.1.1.16 | Recursive techniques | A2.2 Recursion A2.3 Recursion versus iteration A2.10 Project: out of the dead end | 13 | ✓ |
| 4.1.2.1 | Programming paradigms | A1.6 Programming paradigms and procedural programming A1.10 Project: the behaviour controller | 1 | ✓ |
| 4.1.2.2 | Procedural-oriented programming | A1.6 Programming paradigms and procedural programming | 3 | ✓ |
| 4.1.2.3 | Object-oriented programming | A1.7 Classes and objects A1.8 Inheritance, polymorphism and overriding A1.9 Aggregation, composition and class diagrams A1.10 Project: the behaviour controller | 18 | ✓ |
| 4.2.1.1 | Data structures | A3.1 Arrays, records and tuples A3.9 Project: mission control | ✓ | |
| 4.2.1.2 | Single- and multi-dimensional arrays (or equivalent) | A3.1 Arrays, records and tuples | 5 | ✓ |
| 4.2.1.3 | Fields, records and files | A3.1 Arrays, records and tuples A3.8 Fields, records and file organisation | 3 | ✓ |
| 4.2.1.4 | Abstract data types/data structures | A3.2 Abstract data types and stacks A3.3 Queues: linear, circular and priority A3.4 Linked lists A3.5 Hash tables A3.6 Dictionaries A3.7 Vectors A3.9 Project: mission control | 5 | ✓ |
| 4.2.2.1 | Queues | A3.3 Queues: linear, circular and priority | 7 | ✓ |
| 4.2.3.1 | Stacks | A3.2 Abstract data types and stacks | 6 | ✓ |
| 4.2.4.1 | Graphs | A4.1 Graphs A4.2 Adjacency matrix and adjacency list A4.8 Project: plan the route | 15 | ✓ |
| 4.2.5.1 | Trees (including binary trees) | A4.5 Trees A4.6 Binary search trees A4.8 Project: plan the route | 13 | ✓ |
| 4.2.6.1 | Hash tables | A3.5 Hash tables | 6 | ✓ |
| 4.2.7.1 | Dictionaries | A3.6 Dictionaries | 6 | ✓ |
| 4.2.8.1 | Vectors | A3.7 Vectors | 7 | ✓ |
| 4.3.1.1 | Simple graph-traversal algorithms | A4.3 Depth-first traversal A4.4 Breadth-first traversal A4.8 Project: plan the route | 15 | ✓ |
| 4.3.2.1 | Simple tree-traversal algorithms | A4.7 Tree traversals | 6 | ✓ |
| 4.3.3.1 | Reverse Polish - infix transformations | A6.6 Reverse Polish notation | 6 | ✓ |
| 4.3.4.1 | Linear search | A5.3 Linear and binary search | 2 | ✓ |
| 4.3.4.2 | Binary search | A5.3 Linear and binary search | 5 | ✓ |
| 4.3.4.3 | Binary tree search | A4.6 Binary search trees | 6 | ✓ |
| 4.3.5.1 | Bubble sort | A5.4 Bubble sort and insertion sort | 4 | ✓ |
| 4.3.5.2 | Merge sort | A5.5 Merge sort | 5 | ✓ |
| 4.3.6.1 | Dijkstra's shortest path algorithm | A5.7 Dijkstra's shortest path algorithm A5.9 Project: plan the route, then drive it | 8 | ✓ |
| 4.4.1.1 | Problem-solving | A2.7 Thinking ahead and thinking logically A2.9 Computational methods | 1 | ✓ |
| 4.4.1.2 | Following and writing algorithms | A2.7 Thinking ahead and thinking logically A15.1 How your A level is assessed A15.2 Command words and levels of response A15.3 Trace tables and hand-tracing A15.4 Pseudocode in the exam languages A15.5 Writing algorithms and code in the exam A15.6 Pre-release material and skeleton programs A15.7 Calculation and theory questions A15.8 A revision plan and mixed practice | 34 | ✓ |
| 4.4.1.3 | Abstraction | A2.4 Abstraction and models A2.10 Project: out of the dead end | 6 | ✓ |
| 4.4.1.4 | Information hiding | A2.5 Procedural, functional and data abstraction | 2 | ✓ |
| 4.4.1.5 | Procedural abstraction | A2.5 Procedural, functional and data abstraction | 1 | ✓ |
| 4.4.1.6 | Functional abstraction | A2.5 Procedural, functional and data abstraction | 1 | ✓ |
| 4.4.1.7 | Data abstraction | A2.5 Procedural, functional and data abstraction | 2 | ✓ |
| 4.4.1.8 | Problem abstraction/reduction | A2.4 Abstraction and models A2.9 Computational methods | 1 | ✓ |
| 4.4.1.9 | Decomposition | A2.6 Decomposition, composition and automation A2.10 Project: out of the dead end | 1 | ✓ |
| 4.4.1.10 | Composition | A2.6 Decomposition, composition and automation | 2 | ✓ |
| 4.4.1.11 | Automation | A2.6 Decomposition, composition and automation A2.10 Project: out of the dead end | 1 | ✓ |
| 4.4.2.1 | Finite state machines (FSMs) with and without output | A6.1 Finite state machines A6.2 Mealy machines: FSMs with output A6.10 Project: the mission robot A15.7 Calculation and theory questions | 11 | ✓ |
| 4.4.2.2 | Maths for regular expressions | A6.3 Sets A6.10 Project: the mission robot | 7 | ✓ |
| 4.4.2.3 | Regular expressions | A6.4 Regular expressions and regular languages | 6 | ✓ |
| 4.4.2.4 | Regular language | A6.4 Regular expressions and regular languages A6.10 Project: the mission robot | 3 | ✓ |
| 4.4.3.1 | Backus-Naur Form (BNF)/syntax diagrams | A6.5 Backus-Naur Form and syntax diagrams A6.10 Project: the mission robot | 7 | ✓ |
| 4.4.4.1 | Comparing algorithms | A5.1 Comparing algorithms A5.2 Big O notation A5.9 Project: plan the route, then drive it | 4 | ✓ |
| 4.4.4.2 | Maths for understanding Big-0 notation | A5.1 Comparing algorithms | 5 | ✓ |
| 4.4.4.3 | Order of complexity | A5.2 Big O notation A5.9 Project: plan the route, then drive it A15.7 Calculation and theory questions | 8 | ✓ |
| 4.4.4.4 | Limits of computation | A6.7 Limits of computation: tractable and intractable problems | 2 | ✓ |
| 4.4.4.5 | Classification of algorithmic problems | A6.7 Limits of computation: tractable and intractable problems A6.10 Project: the mission robot | 5 | ✓ |
| 4.4.4.6 | Computable and non-computable problems | A6.8 Computable problems and the Halting problem | 4 | ✓ |
| 4.4.4.7 | Halting problem | A6.8 Computable problems and the Halting problem A6.10 Project: the mission robot | 5 | ✓ |
| 4.4.5.1 | Turing machine | A6.9 Turing machines | 6 | ✓ |
| 4.5.1.1 | Natural numbers | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.1.2 | Integer numbers | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.1.3 | Rational numbers | A7.1 Number sets, bases and units | 2 | ✓ |
| 4.5.1.4 | Irrational numbers | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.1.5 | Real numbers | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.1.6 | Ordinal numbers | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.1.7 | Counting and measurement | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.2.1 | Number base | A7.1 Number sets, bases and units A7.2 Binary arithmetic and signed integers | 2 | ✓ |
| 4.5.3.1 | Bits and bytes | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.3.2 | Units | A7.1 Number sets, bases and units | 1 | ✓ |
| 4.5.4.1 | Unsigned binary | A7.2 Binary arithmetic and signed integers | 1 | ✓ |
| 4.5.4.2 | Unsigned binary arithmetic | A7.2 Binary arithmetic and signed integers | 2 | ✓ |
| 4.5.4.3 | Signed binary using two's complement | A7.2 Binary arithmetic and signed integers A15.7 Calculation and theory questions | 5 | ✓ |
| 4.5.4.4 | Numbers with a fractional part | A7.3 Fixed point and floating point A7.10 Project: a secure sensor packet | 4 | ✓ |
| 4.5.4.5 | Rounding errors | A7.4 Errors, range and precision | 2 | ✓ |
| 4.5.4.6 | Absolute and relative errors | A7.4 Errors, range and precision | 2 | ✓ |
| 4.5.4.7 | Range and precision | A7.4 Errors, range and precision A7.10 Project: a secure sensor packet | 2 | ✓ |
| 4.5.4.8 | Normalisation of floating point form | A7.3 Fixed point and floating point A15.7 Calculation and theory questions | 5 | ✓ |
| 4.5.4.9 | Underflow and overflow | A7.4 Errors, range and precision | 1 | ✓ |
| 4.5.5.1 | Character form of a decimal digit | A7.5 Bitwise operations and characters | 1 | ✓ |
| 4.5.5.2 | ASCII and Unicode | A7.5 Bitwise operations and characters | 2 | ✓ |
| 4.5.5.3 | Error checking and correction | A7.6 Error checking and correction A7.10 Project: a secure sensor packet | 8 | ✓ |
| 4.5.6.1 | Bit patterns, images, sound and other data | A7.7 Analogue, digital and graphics | 1 | ✓ |
| 4.5.6.2 | Analogue and digital | A7.7 Analogue, digital and graphics | 1 | ✓ |
| 4.5.6.3 | Analogue/digital conversion | A7.7 Analogue, digital and graphics | 2 | ✓ |
| 4.5.6.4 | Bitmapped graphics | A7.7 Analogue, digital and graphics | 1 | ✓ |
| 4.5.6.5 | Vector graphics | A7.7 Analogue, digital and graphics | 2 | ✓ |
| 4.5.6.6 | Vector graphics versus bitmapped graphics | A7.7 Analogue, digital and graphics | 1 | ✓ |
| 4.5.6.7 | Digital representation of sound | A7.8 Sound and MIDI | 3 | ✓ |
| 4.5.6.8 | Musical Instrument Digital Interface (MIDI) | A7.8 Sound and MIDI | 3 | ✓ |
| 4.5.6.9 | Data compression | A7.9 Compression, encryption and hashing | 2 | ✓ |
| 4.5.6.10 | Encryption | A7.9 Compression, encryption and hashing A7.10 Project: a secure sensor packet | 3 | ✓ |
| 4.6.1.1 | Relationship between hardware and software | A9.1 Hardware, software and the stored program | 1 | ✓ |
| 4.6.1.2 | Classification of software | A10.1 Classifying software | 3 | ✓ |
| 4.6.1.3 | System software | A10.1 Classifying software A10.8 Stages of compilation, linkers and loaders | 3 | ✓ |
| 4.6.1.4 | Role of an operating system (OS) | A10.2 The operating system, BIOS and device drivers A10.3 Memory management: paging, segmentation and virtual memory A10.4 Interrupts A10.5 Scheduling algorithms A10.9 Project: a tiny robot operating system | 5 | ✓ |
| 4.6.2.1 | Classification of programming languages | A10.7 Programming languages and translators | 2 | ✓ |
| 4.6.3.1 | Types of program translator | A10.6 Types of operating system and virtual machines A10.7 Programming languages and translators | 5 | ✓ |
| 4.6.4.1 | Logic gates | A8.1 Logic gates and notation A8.2 Circuits, expressions and truth tables A8.7 Half adders and full adders A8.8 D-type flip-flops and clocks A8.9 Project: the robot's safety logic | 26 | ✓ |
| 4.6.5.1 | Using Boolean algebra | A8.3 Boolean identities and laws A8.4 De Morgan's laws A8.5 Simplifying expressions A8.6 Karnaugh maps A8.9 Project: the robot's safety logic | 23 | ✓ |
| 4.7.1.1 | Internal hardware components of a computer | A9.1 Hardware, software and the stored program A9.10 Project: a processor of your own | 5 | ✓ |
| 4.7.2.1 | The meaning of the stored program concept | A9.1 Hardware, software and the stored program | 1 | ✓ |
| 4.7.3.1 | The processor and its components | A9.2 The processor and its registers | 5 | ✓ |
| 4.7.3.2 | The Fetch-Execute cycle and the role of registers within it | A9.3 The fetch-decode-execute cycle in detail A9.10 Project: a processor of your own | 7 | ✓ |
| 4.7.3.3 | The processor instruction set | A9.4 Instruction sets and addressing modes | 3 | ✓ |
| 4.7.3.4 | Addressing modes | A9.4 Instruction sets and addressing modes | 4 | ✓ |
| 4.7.3.5 | Machine-code/assembly language operations | A9.5 Assembly language: the Little Man Computer A9.6 AQA assembly language and bitwise operations A9.10 Project: a processor of your own | 9 | ✓ |
| 4.7.3.6 | Interrupts | A9.7 Interrupts | 5 | ✓ |
| 4.7.3.7 | Factors affecting processor performance | A9.8 Performance, pipelining and parallel processors | 3 | ✓ |
| 4.7.4.1 | Input and output devices | A9.9 Input, output and storage | 2 | ✓ |
| 4.7.4.2 | Secondary storage devices | A9.9 Input, output and storage | 3 | ✓ |
| 4.8.1 | Individual (moral), social (ethical), legal and cultural issues and opportunities | A14.7 Computing legislation A14.8 Moral, ethical, social and cultural issues | 11 | ✓ |
| 4.9.1.1 | Communication methods | A12.1 Communication methods | 2 | ✓ |
| 4.9.1.2 | Communication basics | A12.1 Communication methods | 3 | ✓ |
| 4.9.2.1 | Network topology | A12.2 Topologies and wireless networks | 2 | ✓ |
| 4.9.2.2 | Types of networking between hosts | A12.8 Client server, REST and thin clients | 1 | ✓ |
| 4.9.2.3 | Wireless networking | A12.2 Topologies and wireless networks | 4 | ✓ |
| 4.9.3.1 | The Internet and how it works | A12.3 How the Internet works A12.10 Project: a reliable link | 6 | ✓ |
| 4.9.3.2 | Internet security | A12.7 Internet security | 6 | ✓ |
| 4.9.4.1 | TCP/IP | A12.4 The TCP/IP stack and protocols A12.10 Project: a reliable link | 9 | ✓ |
| 4.9.4.2 | Standard application layer protocols | A12.4 The TCP/IP stack and protocols | 2 | ✓ |
| 4.9.4.3 | IP address structure | A12.5 IP addresses and subnets | 2 | ✓ |
| 4.9.4.4 | Subnet masking | A12.5 IP addresses and subnets | 4 | ✓ |
| 4.9.4.5 | IP standards | A12.5 IP addresses and subnets | 1 | ✓ |
| 4.9.4.6 | Public and private IP addresses | A12.5 IP addresses and subnets | 1 | ✓ |
| 4.9.4.7 | Dynamic Host Configuration Protocol (DHCP) | A12.6 DHCP, NAT and port forwarding | 2 | ✓ |
| 4.9.4.8 | Network Address Translation (NAT) | A12.6 DHCP, NAT and port forwarding | 3 | ✓ |
| 4.9.4.9 | Port forwarding | A12.6 DHCP, NAT and port forwarding | 1 | ✓ |
| 4.9.4.10 | Client server model | A11.8 Capturing, managing and exchanging data A12.8 Client server, REST and thin clients | 6 | ✓ |
| 4.9.4.11 | Thin- versus thick-client computing | A12.8 Client server, REST and thin clients | 1 | ✓ |
| 4.10.1 | Conceptual data models and entity relationship modelling | A11.1 Data models and entity relationships A11.10 Project: the run database | 7 | ✓ |
| 4.10.2 | Relational databases | A11.2 Relational databases and keys A11.5 SQL: changing data and referential integrity | 5 | ✓ |
| 4.10.3 | Database design and normalisation techniques | A11.3 Normalisation to third normal form A11.10 Project: the run database | 8 | ✓ |
| 4.10.4 | Structured Query Language (SQL) | A11.4 SQL: defining tables and joining them A11.5 SQL: changing data and referential integrity A11.10 Project: the run database | 14 | ✓ |
| 4.10.5 | Client server databases | A11.6 Transactions and ACID A11.7 Client server databases and concurrent access | 11 | ✓ |
| 4.11.1 | Big Data | A11.9 Big data A13.7 Functional programming and big data | 13 | ✓ |
| 4.12.1.1 | Function type | A13.2 Function types and function application A13.8 Project: the way out | 5 | ✓ |
| 4.12.1.2 | First-class object | A13.3 First-class objects and higher-order functions A13.8 Project: the way out | 3 | ✓ |
| 4.12.1.3 | Function application | A13.2 Function types and function application A13.8 Project: the way out | 3 | ✓ |
| 4.12.1.4 | Partial function application | A13.4 Partial application and composition A13.8 Project: the way out | 3 | ✓ |
| 4.12.1.5 | Composition of functions | A13.4 Partial application and composition A13.8 Project: the way out | 6 | ✓ |
| 4.12.2.1 | Functional language programs | A13.1 The functional paradigm A13.3 First-class objects and higher-order functions A13.5 Map, filter and fold A13.8 Project: the way out | 19 | ✓ |
| 4.12.3.1 | List processing | A13.6 List processing A13.8 Project: the way out | 6 | ✓ |
| 4.13.1.1 | Analysis | A14.1 The systems lifecycle and feasibility A14.2 Development methodologies A14.3 Analysis: requirements and success criteria A14.9 Project: the delivery robot | 11 | ✓ |
| 4.13.1.2 | Design | A14.2 Development methodologies A14.4 System design A14.9 Project: the delivery robot | 6 | ✓ |
| 4.13.1.3 | Implementation | A14.2 Development methodologies A14.6 Software engineering tools and version control A14.9 Project: the delivery robot | 6 | ✓ |
| 4.13.1.4 | Testing | A14.5 Testing strategies A14.9 Project: the delivery robot | 11 | ✓ |
| 4.13.1.5 | Evaluation | A14.1 The systems lifecycle and feasibility A14.9 Project: the delivery robot | 11 | ✓ |
16 of 16 specification sections are taught by a lesson, 100% of the specification.
| Section | What the specification says | Taught in | Questions | |
|---|---|---|---|---|
| 1.1 | Data structures | A3.1 Arrays, records and tuples A3.2 Abstract data types and stacks A3.3 Queues: linear, circular and priority A3.4 Linked lists A3.5 Hash tables A3.6 Dictionaries A3.9 Project: mission control A4.1 Graphs A4.2 Adjacency matrix and adjacency list A4.5 Trees A4.6 Binary search trees A4.7 Tree traversals A4.8 Project: plan the route | 66 | ✓ |
| 1.2 | Logical operations | A8.1 Logic gates and notation A8.2 Circuits, expressions and truth tables A8.3 Boolean identities and laws A8.4 De Morgan's laws A8.5 Simplifying expressions A8.6 Karnaugh maps A8.9 Project: the robot's safety logic | 33 | ✓ |
| 1.3 | Algorithms and programs | A2.2 Recursion A2.3 Recursion versus iteration A2.9 Computational methods A2.10 Project: out of the dead end A5.1 Comparing algorithms A5.2 Big O notation A5.3 Linear and binary search A5.4 Bubble sort and insertion sort A5.5 Merge sort A5.6 Quick sort A5.7 Dijkstra's shortest path algorithm A5.9 Project: plan the route, then drive it | 50 | ✓ |
| 1.4 | Principles of programming | A1.1 Data types and programming constructs A1.2 Operations, strings and random numbers A1.4 Subroutines, parameters and passing by reference A1.6 Programming paradigms and procedural programming A1.7 Classes and objects A1.8 Inheritance, polymorphism and overriding A1.9 Aggregation, composition and class diagrams A1.10 Project: the behaviour controller A13.1 The functional paradigm A13.3 First-class objects and higher-order functions A13.4 Partial application and composition A13.5 Map, filter and fold A13.6 List processing A13.7 Functional programming and big data A13.8 Project: the way out | 16 | ✓ |
| 1.5 | Systems analysis | A14.1 The systems lifecycle and feasibility A14.2 Development methodologies A14.3 Analysis: requirements and success criteria A14.9 Project: the delivery robot | 21 | ✓ |
| 1.6 | System design | A14.4 System design A14.9 Project: the delivery robot | 6 | ✓ |
| 1.7 | Software engineering | A14.5 Testing strategies A14.6 Software engineering tools and version control A14.9 Project: the delivery robot | 12 | ✓ |
| 1.8 | Program construction | A1.5 Scope, lifetime and debugging in an IDE A1.10 Project: the behaviour controller A6.5 Backus-Naur Form and syntax diagrams A10.7 Programming languages and translators A10.8 Stages of compilation, linkers and loaders A15.1 How your A level is assessed A15.2 Command words and levels of response A15.3 Trace tables and hand-tracing A15.4 Pseudocode in the exam languages A15.5 Writing algorithms and code in the exam A15.6 Pre-release material and skeleton programs A15.7 Calculation and theory questions A15.8 A revision plan and mixed practice | 25 | ✓ |
| 2.1 | Hardware and communication | A9.1 Hardware, software and the stored program A9.2 The processor and its registers A9.3 The fetch-decode-execute cycle in detail A9.4 Instruction sets and addressing modes A9.8 Performance, pipelining and parallel processors A9.9 Input, output and storage A9.10 Project: a processor of your own A12.2 Topologies and wireless networks | 17 | ✓ |
| 2.2 | Data transmission | A12.1 Communication methods A12.3 How the Internet works A12.4 The TCP/IP stack and protocols A12.10 Project: a reliable link | 7 | ✓ |
| 2.3 | Data representation and data types | A7.1 Number sets, bases and units A7.2 Binary arithmetic and signed integers A7.3 Fixed point and floating point A7.4 Errors, range and precision A7.5 Bitwise operations and characters A7.7 Analogue, digital and graphics A7.8 Sound and MIDI A7.10 Project: a secure sensor packet | 6 | ✓ |
| 2.4 | Organisation and structure of data | A3.8 Fields, records and file organisation A11.2 Relational databases and keys A11.8 Capturing, managing and exchanging data | 11 | ✓ |
| 2.5 | Databases and distributed systems | A11.1 Data models and entity relationships A11.2 Relational databases and keys A11.3 Normalisation to third normal form A11.4 SQL: defining tables and joining them A11.5 SQL: changing data and referential integrity A11.6 Transactions and ACID A11.7 Client server databases and concurrent access A11.9 Big data A11.10 Project: the run database A12.8 Client server, REST and thin clients | 38 | ✓ |
| 2.6 | The operating system | A10.2 The operating system, BIOS and device drivers A10.3 Memory management: paging, segmentation and virtual memory A10.4 Interrupts A10.5 Scheduling algorithms A10.9 Project: a tiny robot operating system | 13 | ✓ |
| 2.7 | The need for different types of software systems and their attributes | A10.1 Classifying software A10.6 Types of operating system and virtual machines | 7 | ✓ |
| 2.8 | Data security and integrity processes | A7.6 Error checking and correction A7.10 Project: a secure sensor packet | 2 | ✓ |