Roadmap
Fundamentals of algorithms
Representing and comparing algorithms
3.1.1 - Algorithms, decomposition and abstraction
3.1.1 - Designing, representing and tracing algorithms
3.1.2 - Comparing algorithm efficiency
Searching and sorting
3.1.3 - Linear search
3.1.3 - Binary search and search comparisons
3.1.4 - Bubble sort
3.1.4 - Merge sort and sort comparisons
Programming foundations
Python route
3.2.1, 3.2.7 - Data types, input and output (Python)
3.2.2 - Variables, constants and sequence (Python)
3.2.3 - Arithmetic and division (Python)
3.2.2, 3.2.4, 3.2.5 - Selection and Boolean conditions (Python)
3.2.2 - Count-controlled iteration (Python)
3.2.2 - Condition-controlled iteration (Python)
3.2.2 - Nested selection and iteration (Python)
C# route
3.2.1, 3.2.7 - Data types, input and output (C#)
3.2.2 - Variables, constants and sequence (C#)
3.2.3 - Arithmetic and division (C#)
3.2.2, 3.2.4, 3.2.5 - Selection and Boolean conditions (C#)
3.2.2 - Count-controlled iteration (C#)
3.2.2 - Condition-controlled iteration (C#)
3.2.2 - Nested selection and iteration (C#)
VB.NET route
3.2.1, 3.2.7 - Data types, input and output (VB.NET)
3.2.2 - Variables, constants and sequence (VB.NET)
3.2.3 - Arithmetic and division (VB.NET)
3.2.2, 3.2.4, 3.2.5 - Selection and Boolean conditions (VB.NET)
Locked
3.2.2 - Count-controlled iteration (VB.NET)
Locked
3.2.2 - Condition-controlled iteration (VB.NET)
Locked
3.2.2 - Nested selection and iteration (VB.NET)
Locked
Data structures and modular programs
Python route
3.2.6 - One-dimensional arrays (Python)
Locked
3.2.6 - Two-dimensional arrays (Python)
Locked
3.2.6 - Records and fields (Python)
Locked
3.2.8 - String operations and conversions (Python)
Locked
3.2.9 - Random number generation (Python)
Locked
3.2.2, 3.2.10 - Subroutines, parameters and return values (Python)
Locked
3.2.10 - Local variables and modular design (Python)
Locked
C# route
3.2.6 - One-dimensional arrays (C#)
Locked
3.2.6 - Two-dimensional arrays (C#)
Locked
3.2.6 - Records and fields (C#)
Locked
3.2.8 - String operations and conversions (C#)
Locked
3.2.9 - Random number generation (C#)
Locked
3.2.2, 3.2.10 - Subroutines, parameters and return values (C#)
Locked
3.2.10 - Local variables and modular design (C#)
Locked
VB.NET route
3.2.6 - One-dimensional arrays (VB.NET)
Locked
3.2.6 - Two-dimensional arrays (VB.NET)
Locked
3.2.6 - Records and fields (VB.NET)
Locked
3.2.8 - String operations and conversions (VB.NET)
Locked
3.2.9 - Random number generation (VB.NET)
Locked
3.2.2, 3.2.10 - Subroutines, parameters and return values (VB.NET)
Locked
3.2.10 - Local variables and modular design (VB.NET)
Locked
Robust and secure programs
Python route
3.2.11 - Data validation routines (Python)
Locked
3.2.11 - Authentication routines (Python)
Locked
3.2.11 - Test data and program refinement (Python)
Locked
3.2.11 - Finding and correcting program errors (Python)
Locked
C# route
3.2.11 - Data validation routines (C#)
Locked
3.2.11 - Authentication routines (C#)
Locked
3.2.11 - Test data and program refinement (C#)
Locked
3.2.11 - Finding and correcting program errors (C#)
Locked
VB.NET route
3.2.11 - Data validation routines (VB.NET)
Locked
3.2.11 - Authentication routines (VB.NET)
Locked
3.2.11 - Test data and program refinement (VB.NET)
Locked
3.2.11 - Finding and correcting program errors (VB.NET)
Locked
Fundamentals of data representation
Numbers and information
3.3.1 - Number bases and binary data
Locked
3.3.2 - Converting between number bases
Locked
3.3.3 - Bits, bytes and decimal prefixes
Locked
3.3.4 - Binary addition
Locked
3.3.4 - Logical binary shifts
Locked
Text, images, sound and compression
3.3.5 - ASCII and Unicode character encoding
Locked
3.3.6 - Bitmap pixels, colour depth and file size
Locked
3.3.6 - Encoding and drawing bitmap data
Locked
3.3.7 - Sampling sound and calculating file size
Locked
3.3.8 - Compression and Huffman coding
Locked
3.3.8 - Run length encoding
Locked
Computer systems
Logic, software and translation
3.4.1 - Hardware and software
Locked
3.4.2 - Logic gates and truth tables
Locked
3.4.2 - Logic circuits and Boolean expressions
Locked
3.4.3 - System software, operating systems and utilities
Locked
3.4.4 - High-level, assembly and machine languages
Locked
3.4.4 - Compilers, interpreters and assemblers
Locked
Architecture, storage and embedded systems
3.4.5 - CPU components and the Fetch-Execute cycle
Locked
3.4.5 - Memory types and CPU performance
Locked
3.4.5 - Magnetic and solid-state storage
Locked
3.4.5 - Cloud and local storage
Locked
3.4.5 - Embedded and non-embedded systems
Locked
Fundamentals of computer networks
Network connections and protocols
3.5 - Networks, PANs, LANs and WANs
Locked
3.5 - Wired and wireless networks
Locked
3.5 - Network protocols and TCP/IP layers
Locked
3.5 - Network security methods
Locked
Cyber security
Threats and protection
3.6.1, 3.6.2 - Cyber security and system weaknesses
Locked
3.6.2, 3.6.2.1 - Social engineering and protection
Locked
3.6.2, 3.6.2.2 - Malware and protection
Locked
3.6.2 - Penetration testing
Locked
3.6.3 - Detecting and preventing security threats
Locked
Relational databases and SQL
Relational data and written SQL
3.7.1 - Relational databases, tables and keys
Locked
3.7.2 - SQL selection, filtering and ordering
Locked
3.7.2 - SQL retrieval from two related tables
Locked
3.7.2 - SQL insertion, update and deletion
Locked
Impacts of digital technology
Ethical, legal and environmental decisions
3.8 - Privacy, security and digital society
Locked
3.8 - Mobile, wearable and implanted technologies
Locked
3.8 - Autonomous vehicles and reasoned judgments
Locked