| 1.1 Data Representation / Candidates should be able to / objective row 1 | Binary versus decimal storage prefixes: kibi through tebi | |
|---|
| 1.1 Data Representation / Candidates should be able to / objective row 2 | Integer conversions: binary, denary, hexadecimal, BCD and complements | |
|---|
| 1.1 Data Representation / Candidates should be able to / objective row 3 | Signed binary addition, subtraction and overflow | |
|---|
| 1.1 Data Representation / Candidates should be able to / objective row 4 | Practical uses of BCD and hexadecimal | No linked practice |
|---|
| 1.1 Data Representation / Candidates should be able to / objective row 5 | Character encoding with ASCII, extended ASCII and Unicode | |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 1 | Bitmap encoding: pixels, headers, resolution and colour depth | |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 2 | Bitmap storage estimates | |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 3 | Bitmap quality and size trade-offs | |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 4 | Vector objects, properties and drawing lists | No linked practice |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 5 | Choose bitmap or vector for a purpose | No linked practice |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 6 | Digitise sound using sampling and resolution | |
|---|
| 1.2 Multimedia / Candidates should be able to / objective row 7 | Sampling choices affect storage and accuracy | |
|---|
| 1.3 Compression / Candidates should be able to / objective row 1 | Reasons and contexts for compression | |
|---|
| 1.3 Compression / Candidates should be able to / objective row 2 | Choose lossy or lossless compression | |
|---|
| 1.3 Compression / Candidates should be able to / objective row 3 | Compress text, images and sound, including RLE | No linked practice |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 1 | Purposes and benefits of networking | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 2 | LAN and WAN characteristics | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 3 | Client-server versus peer-to-peer roles and trade-offs | No linked practice |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 4 | Thin versus thick clients | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 5 | Bus, star, mesh and hybrid topology choices | No linked practice |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 6 | Public/private cloud benefits and costs | No linked practice |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 7 | Wired/wireless media including fibre, radio, microwave and satellite | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 8 | LAN hardware including switch, NIC, WNIC, WAP, bridge and repeater | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 9 | Router functions between networks | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 10 | Ethernet collision handling and CSMA/CD | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 11 | Real-time/on-demand streaming and bit-rate requirements | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 12 | Distinguish WWW from internet | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 13 | Internet access hardware, modems, PSTN and mobile links | |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 14 | IPv4/IPv6, subnetting, device addressing, public/private and static/dynamic addresses | No linked practice |
|---|
| 2.1 Networks including the internet / Candidates should be able to / objective row 15 | URL resource location and DNS resolution | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 1 | Input/output, primary memory and persistent storage needs | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 2 | Embedded-system benefits and limitations | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 3 | Device operation: printers, audio, disks, flash, optical, touch and VR | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 4 | Buffer purposes | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 5 | RAM versus ROM and use cases | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 6 | SRAM versus DRAM and appropriate uses | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 7 | PROM, EPROM and EEPROM differences | |
|---|
| 3.1 Computers and their components / Candidates should be able to / objective row 8 | Monitoring/control, sensors, actuators and feedback | |
|---|
| 3.2 Logic Gates and Logic Circuits / Candidates should be able to / objective row 1 | Recognise six standard gate symbols | No linked practice |
|---|
| 3.2 Logic Gates and Logic Circuits / Candidates should be able to / objective row 2 | Functions of NOT, AND, OR, NAND, NOR and XOR | |
|---|
| 3.2 Logic Gates and Logic Circuits / Candidates should be able to / objective row 3 | Individual gate truth tables | |
|---|
| 3.2 Logic Gates and Logic Circuits / Candidates should be able to / objective row 4 | Construct circuit from statement, expression or table | |
|---|
| 3.2 Logic Gates and Logic Circuits / Candidates should be able to / objective row 5 | Construct truth table from statement, circuit or expression | No linked practice |
|---|
| 3.2 Logic Gates and Logic Circuits / Candidates should be able to / objective row 6 | Construct expression from statement, circuit or table | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 1 | Stored-program Von Neumann model | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 2 | General/special registers: PC, MDR, MAR, ACC, IX, CIR, status | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 3 | ALU, control unit, clock and immediate access store | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 4 | Address, data and control bus transfers | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 5 | Performance: cores, bus width, clock and cache | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 6 | USB, HDMI and VGA peripheral connections | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 7 | Fetch-execute stages and register transfers | |
|---|
| 4.1 Central Processing Unit (CPU) Architecture / Candidates should be able to / objective row 8 | Interrupt causes, detection, ISR and state handling | |
|---|
| 4.2 Assembly Language / Candidates should be able to / objective row 1 | Machine code and assembly relationship | |
|---|
| 4.2 Assembly Language / Candidates should be able to / objective row 2 | Two-pass assembly and symbol resolution | |
|---|
| 4.2 Assembly Language / Candidates should be able to / objective row 3 | Trace simple assembly programs | No linked practice |
|---|
| 4.2 Assembly Language / Candidates should be able to / objective row 4 | Instruction categories: movement, I/O, arithmetic, branches and comparison | |
|---|
| 4.2 Assembly Language / Candidates should be able to / objective row 5 | Immediate, direct, indirect, indexed and relative addressing | |
|---|
| 4.3 Bit manipulation / Candidates should be able to / objective row 1 | Logical, arithmetic and cyclic shifts in both directions | |
|---|
| 4.3 Bit manipulation / Candidates should be able to / objective row 2 | Device monitoring/control with bit masks and bit tests | No linked practice |
|---|
| 5.1 Operating Systems / Candidates should be able to / objective row 1 | Why operating systems are needed | |
|---|
| 5.1 Operating Systems / Candidates should be able to / objective row 2 | Memory, files, security, devices and process management | |
|---|
| 5.1 Operating Systems / Candidates should be able to / objective row 3 | Utility software: formatting, malware checks, repair, compression and backup | |
|---|
| 5.1 Operating Systems / Candidates should be able to / objective row 4 | Reusable program libraries including DLL benefits | |
|---|
| 5.2 Language Translators / Candidates should be able to / objective row 1 | Need for assembler, compiler and interpreter | |
|---|
| 5.2 Language Translators / Candidates should be able to / objective row 2 | Choose compiler or interpreter with trade-offs | |
|---|
| 5.2 Language Translators / Candidates should be able to / objective row 3 | Hybrid translation/execution such as Java | |
|---|
| 5.2 Language Translators / Candidates should be able to / objective row 4 | IDE coding, syntax, formatting and debugging facilities | |
|---|
| 6.1 Data Security / Candidates should be able to / objective row 1 | Distinguish security, privacy and integrity | |
|---|
| 6.1 Data Security / Candidates should be able to / objective row 2 | Need to protect systems as well as data | |
|---|
| 6.1 Data Security / Candidates should be able to / objective row 3 | System safeguards: accounts, passwords, authentication, malware controls and encryption | |
|---|
| 6.1 Data Security / Candidates should be able to / objective row 4 | Network threats: malware, hackers, phishing and pharming | |
|---|
| 6.1 Data Security / Candidates should be able to / objective row 5 | Methods reducing identified threats | |
|---|
| 6.1 Data Security / Candidates should be able to / objective row 6 | Data protection with encryption and access rights | |
|---|
| 6.2 Data Integrity / Candidates should be able to / objective row 1 | Validation and verification protect integrity differently | |
|---|
| 6.2 Data Integrity / Candidates should be able to / objective row 2 | Range, format, length, presence, existence, limit and check-digit validation | |
|---|
| 6.2 Data Integrity / Candidates should be able to / objective row 3 | Visual/double-entry verification; parity and checksums on transfer | |
|---|
| 7.1 Ethics and Ownership / Candidates should be able to / objective row 1 | Professional ethics and bodies such as BCS/IEEE | |
|---|
| 7.1 Ethics and Ownership / Candidates should be able to / objective row 2 | Consequences of ethical/unethical choices | |
|---|
| 7.1 Ethics and Ownership / Candidates should be able to / objective row 3 | Purpose of copyright law | |
|---|
| 7.1 Ethics and Ownership / Candidates should be able to / objective row 4 | Choose free/open-source, shareware or commercial licensing | |
|---|
| 7.1 Ethics and Ownership / Candidates should be able to / objective row 5 | AI applications and social, economic and environmental impacts | |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 1 | File-based data limitations | |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 2 | Relational features addressing file-based limitations | |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 3 | Entities, keys, relationships, integrity and indexing terminology | |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 4 | Entity-relationship design diagrams | No linked practice |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 5 | Normalisation through 1NF, 2NF and 3NF | |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 6 | Judge whether tables satisfy 3NF | No linked practice |
|---|
| 8.1 Database Concepts / Candidates should be able to / objective row 7 | Construct a normalised relational design | |
|---|
| 8.2 Database Management Systems (DBMS) / Candidates should be able to / objective row 1 | DBMS dictionary, modelling, schema, integrity, access and backup | |
|---|
| 8.2 Database Management Systems (DBMS) / Candidates should be able to / objective row 2 | Developer interface and query processor use | |
|---|
| 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) / Candidates should be able to / objective row 1 | DDL manages database structure | |
|---|
| 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) / Candidates should be able to / objective row 2 | DML retrieves and maintains data | |
|---|
| 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) / Candidates should be able to / objective row 3 | SQL is a standard for both DDL and DML | |
|---|
| 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) / Candidates should be able to / objective row 4 | SQL database/table creation, supported field types, ALTER, primary/foreign keys | No linked practice |
|---|
| 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) / Candidates should be able to / objective row 5 | SQL over at most two tables: SELECT, WHERE, ordering, grouping, INNER JOIN, aggregates, INSERT, DELETE and UPDATE | |
|---|
| 9.1 Computational Thinking Skills / Candidates should be able to / objective row 1 | Purpose and construction of abstractions | |
|---|
| 9.1 Computational Thinking Skills / Candidates should be able to / objective row 2 | Decomposition into modules and subproblems | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 1 | Algorithms as defined solution steps | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 2 | Meaningful identifiers and identifier tables | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 3 | Pseudocode for input, processing and output | No linked practice |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 4 | Sequence, selection and iteration pseudocode | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 5 | Document algorithms with structured English, flowcharts or pseudocode | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 6 | Translate descriptions/flowcharts into pseudocode | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 7 | Translate descriptions/pseudocode into flowcharts | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 8 | Stepwise refinement into programmable detail | |
|---|
| 9.2 Algorithms / Candidates should be able to / objective row 9 | Logic statements within algorithms | |
|---|
| 10.1 Data Types and Records / Candidates should be able to / objective row 1 | Choose suitable scalar and structured types | |
|---|
| 10.1 Data Types and Records / Candidates should be able to / objective row 2 | Define, read and update mixed-type records | No linked practice |
|---|
| 10.2 Arrays / Candidates should be able to / objective row 1 | Indices and explicit lower/upper bounds | |
|---|
| 10.2 Arrays / Candidates should be able to / objective row 2 | Choose one- or two-dimensional array | No linked practice |
|---|
| 10.2 Arrays / Candidates should be able to / objective row 3 | Declare and use 1D/2D arrays in pseudocode | |
|---|
| 10.2 Arrays / Candidates should be able to / objective row 4 | Process arrays using bubble sort and linear search | |
|---|
| 10.3 Files / Candidates should be able to / objective row 1 | Reasons for persistent files | |
|---|
| 10.3 Files / Candidates should be able to / objective row 2 | Handle line-oriented text files in pseudocode | |
|---|
| 10.4 Introduction to Abstract Data Types (ADT) / Candidates should be able to / objective row 1 | ADTs combine data with operations | |
|---|
| 10.4 Introduction to Abstract Data Types (ADT) / Candidates should be able to / objective row 2 | Stack, queue and linked-list features and use cases | |
|---|
| 10.4 Introduction to Abstract Data Types (ADT) / Candidates should be able to / objective row 3 | Store, add, edit and delete ADT data without required AS pseudocode | |
|---|
| 10.4 Introduction to Abstract Data Types (ADT) / Candidates should be able to / objective row 4 | Array implementations of stacks, queues and linked lists | No linked practice |
|---|
| 11.1 Programming Basics / Candidates should be able to / objective row 1 | Implement design from flowchart or structured English | |
|---|
| 11.1 Programming Basics / Candidates should be able to / objective row 2 | Declare/initialise constants and variables; assign, calculate and perform console I/O | |
|---|
| 11.1 Programming Basics / Candidates should be able to / objective row 3 | Use built-in/library routines with supplied unfamiliar/string functions | |
|---|
| 11.2 Constructs / Candidates should be able to / objective row 1 | Write nested IF/ELSE, CASE, FOR, REPEAT and WHILE constructs | |
|---|
| 11.2 Constructs / Candidates should be able to / objective row 2 | Justify choice of loop structure | No linked practice |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 1 | Define and use procedures | |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 2 | Choose where to use a procedure | |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 3 | Pass parameters by value or reference | |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 4 | Define and use functions | No linked practice |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 5 | Use a returned value within an expression | |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 6 | Headers, interfaces, parameters, arguments and returns | |
|---|
| 11.3 Structured Programming / Candidates should be able to / objective row 7 | Efficient pseudocode construction | |
|---|
| 12.1 Program Development Life cycle / Candidates should be able to / objective row 1 | Purpose of development life cycles | |
|---|
| 12.1 Program Development Life cycle / Candidates should be able to / objective row 2 | Choose waterfall, iterative or RAD process | No linked practice |
|---|
| 12.1 Program Development Life cycle / Candidates should be able to / objective row 3 | Lifecycle benefits and drawbacks | |
|---|
| 12.1 Program Development Life cycle / Candidates should be able to / objective row 4 | Analysis, design, coding, testing and maintenance stages | No linked practice |
|---|
| 12.2 Program Design / Candidates should be able to / objective row 1 | Structure charts, module parameters and equivalent pseudocode | |
|---|
| 12.2 Program Design / Candidates should be able to / objective row 2 | State-transition diagram purposes | |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 1 | Expose and avoid program faults | |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 2 | Identify syntax, logic and runtime errors | |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 3 | Correct detected errors | |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 4 | Select dry-run, walkthrough, white/black-box, integration, alpha, beta, acceptance or stub tests | |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 5 | Test strategy and test plan contents | No linked practice |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 6 | Choose normal, abnormal and boundary test data | |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 7 | Perfective, adaptive and corrective maintenance | No linked practice |
|---|
| 12.3 Program Testing and Maintenance / Candidates should be able to / objective row 8 | Enhance existing program functionality | |
|---|