Standards in this Framework
Standards Mapped
Mapped to Course
| Standard | Lessons | 
|---|---|
| 
                     A1.1.1.1 
                     Describe the functions and interactions of the main CPU components: Units: arithmetic logic unit (ALU), control unit (CU)  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.1.2 
                     Describe the functions and interactions of the main CPU components: Registers: instruction register (IR), program counter (PC), memory address register (MAR), memory data register (MDR), accumulator (AC)  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.1.3 
                     Describe the functions and interactions of the main CPU components: Buses: address, data, control  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.1.4 
                     Describe the functions and interactions of the main CPU components: Processors: single core processor, multi-core processor, co-processors  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.1.5 
                     Describe the functions and interactions of the main CPU components: A diagrammatic representation of the relationship between the specified CPU components  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.2.1 
                     Describe the role of a GPU: The architecture that allows graphics processing units (GPUs) to handle specific tasks and makes them suitable for complex computations  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.2.2 
                     Describe the role of a GPU: Real-world scenarios may include video games, artificial intelligence (AI), large simulations and other applications that require graphics rendering and machine learning.  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.4.1 
                     Explain the purposes of different types of primary memory: Random-access memory (RAM), read only memory (ROM), cache (L1, L2, L3), registers  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.4.2 
                     Explain the purposes of different types of primary memory: The interaction of the CPU with different types of memory to optimize performance  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.4.3 
                     Explain the purposes of different types of primary memory: The relevance of the terms “cache miss” and “cache hit”  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.5.1 
                     Describe the fetch, decode and execute cycle: The basic operations a CPU performs to execute a single instruction in machine language  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.5.2 
                     Describe the fetch, decode and execute cycle: The interaction between memory and registers via the three buses: address, data, control  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.7.1 
                     Describe internal and external types of secondary memory storage: Internal hard drives: solid state drive (SSD), hard disk drive (HDD), embedded multimedia cards (eMMCs)  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.7.2 
                     Describe internal and external types of secondary memory storage: External hard drives: SSD, HDD, optical drives, flash drives, memory cards, network attached storage (NAS)  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.7.3 
                     Describe internal and external types of secondary memory storage: The scenarios in which the various types of drive are used  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.8.1 
                     Describe the concept of compression: The differences between lossy compression methods and lossless compression methods  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.8.2 
                     Describe the concept of compression: Run-length encoding and transform coding  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.9.1 
                     Describe the different types of services in cloud computing: Services: software as a service (SaaS), platform as a service (PaaS), infrastructure as a service (IaaS)  | 
                
                    
                     | 
                
                
            
| 
                     A1.1.9.2 
                     Describe the different types of services in cloud computing: The differences between the approaches of SaaS, PaaS, and IaaS in various real-world scenarios, recognizing that different degrees of control and flexibility influence resource management and resource availability  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.1.1 
                     Describe the principal methods of representing data: The representation of integers in binary and hexadecimal  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.1.2 
                     Describe the principal methods of representing data: Conversion of binary and hexadecimal integers to decimal, and vice versa  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.1.3 
                     Describe the principal methods of representing data: Conversion of integers from binary to hexadecimal, and vice versa  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.2.1 
                     Explain how binary is used to store data: The fundamentals of binary encoding and the impact on data storage and retrieval  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.2.2 
                     Explain how binary is used to store data: The mechanisms by which data such as integers, strings, characters, images, audio and video are stored in binary form  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.3.1 
                     Describe the purpose and use of logic gates: The purpose and use of logic gates  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.3.2 
                     Describe the purpose and use of logic gates: The functions and applications of logic gates in computer systems  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.3.3 
                     Describe the purpose and use of logic gates: The role of logic gates in binary computing  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.3.4 
                     Describe the purpose and use of logic gates: Boolean operators: AND, OR, NOT, NAND, NOR, XOR, XNOR  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.4.1 
                     Construct and analyse truth tables: Truth tables to predict the output of simple logic circuits  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.4.2 
                     Construct and analyse truth tables: Truth tables to determine outputs from inputs for a problem description  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.4.3 
                     Construct and analyse truth tables: Truth tables and their relationship to a Boolean expression, with inputs and outputs  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.4.4 
                     Construct and analyse truth tables: Truth tables derived from logic diagrams to aid the simplification of logical expressions  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.4.5 
                     Construct and analyse truth tables: Karnaugh maps and algebraic simplification to simplify output expressions  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.5.1 
                     Construct logic diagrams: Logic diagrams to demonstrate how logic gates are connected and interact in a circuit.  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.5.2 
                     Construct logic diagrams: Use of standard gate symbols for AND, OR, NOT, NAND, NOR, XOR and XNOR gates  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.5.3 
                     Construct logic diagrams: Inputs processed diagrammatically to produce outputs  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.5.4 
                     Construct logic diagrams: Combinations of these gates to perform more complex logical operations  | 
                
                    
                     | 
                
                
            
| 
                     A1.2.5.5 
                     Construct logic diagrams: Boolean algebra rules to simplify complex logic diagrams and expressions  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.1.1 
                     Describe the role of operating systems: Operating systems abstract hardware complexities to manage system resources  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.2.1 
                     Describe the functions of an operating system: Maintaining system integrity while running operating systems’ background operations  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.2.2 
                     Describe the functions of an operating system: Memory management, file system, device management, scheduling, security, accounting, graphical user interface (GUI), virtualization, networking  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.3.1 
                     Compare different approaches to scheduling: Managing the execution of processes by allocating CPU time to optimize system performance  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.3.2 
                     Compare different approaches to scheduling: First-come first-served, round robin, multilevel queue scheduling, priority scheduling  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.4.1 
                     Evaluate the use of polling and interrupt handling: Event frequency, CPU processing overheads, power source (battery or mains), event predictability, controlled latency, security concerns  | 
                
                    
                     | 
                
                
            
| 
                     A1.3.4.2 
                     Evaluate the use of polling and interrupt handling: Real-world scenarios may include keyboard and mouse inputs, network communications, disk input/output operations, embedded systems, real-time systems.  | 
                
                    
                     | 
                
                
            
| 
                     A2.1.1.1 
                     Describe the purpose and characteristics of networks: Networks: local area network (LAN), wide area network (WAN), personal area network (PAN), virtual private network (VPN)  | 
                
                    
                     | 
                
                
            
| 
                     A2.1.2.1 
                     Describe the purpose, benefits and limitations of modern digital infrastructures: Modern digital infrastructure: the internet, cloud computing, distributed systems, edge computing, mobile networks  | 
                
                    
                     | 
                
                
            
| 
                     A2.1.2.2 
                     Describe the purpose, benefits and limitations of modern digital infrastructures: Examples where specific networks are used may include the worldwide web (WWW), cryptocurrency blockchains, smart traffic lights, a school.  | 
                
                    
                     | 
                
                
            
| 
                     A2.1.3.1 
                     Describe the function of network devices: Gateways, hardware firewalls, modems, network interface cards, routers, switches, wireless access points  | 
                
                    
                     | 
                
                
            
| 
                     A2.1.3.2 
                     Describe the function of network devices: How devices map to the layers of the TCP/IP model  | 
                
                    
                     | 
                
                
            
| 
                     A2.1.4.1 
                     Describe the network protocols used for transport and application: Protocols: transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), hypertext transfer protocol secure (HTTPS), dynamic host configuration protocol (DHCP)  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.1.1 
                     Describe the functions and practical applications of network topologies: Network topologies: star, mesh, hybrid  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.1.2 
                     Describe the functions and practical applications of network topologies: Factors to consider must include reliability, transmission speed, scalability, data collisions, cost.  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.1.3 
                     Describe the functions and practical applications of network topologies: Examples may include home and small office settings, where reliability is paramount, and the use of networks in larger settings (e.g. corporations, government departments, college campuses).  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.3.1 
                     Compare and contrast networking models: Client-server and peer-to-peer models  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.3.2 
                     Compare and contrast networking models: The respective benefits and drawbacks of client-server and peer-to-peer models  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.3.3 
                     Compare and contrast networking models: Real-world applications may include web browsing, email services, online banking, file sharing, VoIP services, blockchain.  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.4.1 
                     Explain the concepts and applications of network segmentation: Segmentation for network performance and security, to reduce congestion, to manage network resources efficiently  | 
                
                    
                     | 
                
                
            
| 
                     A2.2.4.2 
                     Explain the concepts and applications of network segmentation: Network segmentation must include the uses and roles of segmenting, subnetting and virtual local area networks (VLANs).  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.1.1 
                     Describe different types of IP addressing: The distinction between IPv4 and IPv6 addressing  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.1.2 
                     Describe different types of IP addressing: The differences between public IP addresses and private IP addresses, and between static IP addresses and dynamic IP addresses  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.1.3 
                     Describe different types of IP addressing: The role of network address translation (NAT) to minimize the use of IP addresses and to facilitate communication between private internal networks and the public internet  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.2.1 
                     Compare types of media for data transmission: Wired transmission via fibre optic cables and twisted pair cables; wireless transmission  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.2.2 
                     Compare types of media for data transmission: The advantages and disadvantages of these three types of data transmission  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.2.3 
                     Compare types of media for data transmission: Factors to consider must include bandwidth, complexity of installation, cost, range, susceptibility to interference, attenuation, reliability, security.  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.3.1 
                     Explain how packet switching is used to send data across a network: The process of segmenting data into packets with a routing header attached, and independently transmitting control information, allowing the data to be reassembled at the destination  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.3.2 
                     Explain how packet switching is used to send data across a network: The role that switches and routers play in packet switching  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.4.1 
                     Explain how static routing and dynamic routing move data across local area networks: The process of static routing, and its advantages and disadvantages  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.4.2 
                     Explain how static routing and dynamic routing move data across local area networks: The process of dynamic routing, and its advantages and disadvantages (explanation of a specific routing protocol is not required)  | 
                
                    
                     | 
                
                
            
| 
                     A2.3.4.3 
                     Explain how static routing and dynamic routing move data across local area networks: Factors to consider must include configuration, maintenance, complexity, resource usage, convergence, scalability, network size.  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.1.1 
                     Discuss the effectiveness of firewalls at protecting a network: The function of firewalls in inspecting and filtering incoming and outgoing traffic based on whitelists, blacklists and rules  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.1.2 
                     Discuss the effectiveness of firewalls at protecting a network: The strengths and limitations of firewalls  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.1.3 
                     Discuss the effectiveness of firewalls at protecting a network: The role of NAT to enhance network security  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.4.1 
                     Describe the process of encryption and digital certificates: The difference between symmetric and asymmetric cryptography  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.4.2 
                     Describe the process of encryption and digital certificates: The role of digital certificates in establishing secure network connections  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.4.3 
                     Describe the process of encryption and digital certificates: The use of public and private keys in asymmetric cryptography  | 
                
                    
                     | 
                
                
            
| 
                     A2.4.4.4 
                     Describe the process of encryption and digital certificates: The significance of encryption key management  | 
                
                    
                     | 
                
                
            
| 
                     A3.1.1.1 
                     Explain the features, benefits and limitations of a relational database.:Features: composite keys, foreign keys, primary keys, relationships, tables  | 
                
                    
                     | 
                
                
            
| 
                     A3.1.1.2 
                     Explain the features, benefits and limitations of a relational database: Benefits of databases: community support, concurrency control, data consistency, data integrity, data retrieval, reduced data duplication, reduced redundancy, reliable transaction processing, scalability, security features  | 
                
                    
                     | 
                
                
            
| 
                     A3.1.1.3 
                     Explain the features, benefits and limitations of a relational database: Limitations of databases: “big data” scalability issues, design complexity, hierarchical data handling, rigid schema, object-relational impedance mismatch, unstructured data handling  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.1.1 
                     Describe database schemas: Conceptual schema, logical schema, physical schema  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.1.2 
                     Describe database schemas: Abstract definitions of the data structure and organization of the data at different levels  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.2.1 
                     Construct ERDs: The significance of entity relationship diagrams (ERDs) in crafting organized, efficient database designs tailored for specific applications  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.2.2 
                     Construct ERDs: The relationships between different data entities within a database  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.2.3 
                     Construct ERDs: The roles of cardinality and modality in defining relationships in ERDs  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.3.1 
                     Outline the different data types used in relational databases: The importance of data type consistency  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.3.2 
                     Outline the different data types used in relational databases: The potential effects of choosing the wrong data type  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.4.1 
                     Construct tables for relational databases: The relationship between tables using primary keys, foreign keys, composite keys and concatenated keys  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.4.2 
                     Construct tables for relational databases: The importance of well-defined tables in ensuring data integrity  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.5.1 
                     Explain the difference between normal forms: First normal form (1NF), second normal form (2NF), third normal form (3NF)  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.5.2 
                     Explain the difference between normal forms: The terms atomicity, unique identification, functional dependencies, partial-key dependencies, non-key/transitive dependencies  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.5.3 
                     Explain the difference between normal forms: Normalization issues can encompass data duplication, missing data, and a range of dependency concerns, including data dependencies, composite key dependencies, transitive dependencies, and multi-valued dependencies.  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.6.1 
                     Construct a database normalized to 3NF for a range of real-world scenarios: Examples may include library management, hospital management, e-commerce platforms, school management, employee management, inventory management, police crime reporting  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.7.1 
                     Evaluate the need for denormalizing databases: The advantages and disadvantages of normalizing and denormalizing databases  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.7.2 
                     Evaluate the need for denormalizing databases: Situations where denormalization can enhance performance, particularly in read-intensive applications  | 
                
                    
                     | 
                
                
            
| 
                     A3.2.7.3 
                     Evaluate the need for denormalizing databases: The balance between straightforward query structures and the risk of data redundancy in denormalized schemas  | 
                
                    
                     | 
                
                
            
| 
                     A3.3.1.1 
                     Outline the differences between data language types within SQL: Data language types must include data definition language (DDL) and data manipulation language (DML)  | 
                
                    
                     | 
                
                
            
| 
                     A3.3.1.2 
                     Outline the differences between data language types within SQL: SQL statements to define data structures or to manipulate data  | 
                
                    
                     | 
                
                
            
| 
                     A3.3.2.1 
                     Construct queries between two tables in SQL: Queries must include joins, relational operators, filtering, pattern matching, and ordering data  | 
                
                    
                     | 
                
                
            
| 
                     A3.3.2.2 
                     Construct queries between two tables in SQL: SQL commands: SELECT, DISTINCT, FROM, WHERE, BETWEEN, ORDER BY, GROUP BY, HAVING, ASC, DESC, JOIN, LIKE with % wildcard, AND, OR, NOT (note: Syntax may vary in different database systems)  | 
                
                    
                     | 
                
                
            
| 
                     A3.3.3.1 
                     Explain how SQL can be used to update data in a database: Insert new records (INSERT INTO), modify data (UPDATE SET), remove data (DELETE)  | 
                
                    
                     | 
                
                
            
| 
                     A3.3.3.2 
                     Explain how SQL can be used to update data in a database: The performance implications of updating data in indexed columns, and how indexes might need to be rebuilt or reorganized following significant data modifications  | 
                
                    
                     | 
                
                
            
| 
                     A4.1.1.1 
                     Describe the types of machine learning and their applications in the real world: The different approaches to machine learning algorithms and their unique characteristics  | 
                
                    
                     | 
                
                
            
| 
                     A4.1.1.2 
                     Describe the types of machine learning and their applications in the real world: Deep learning (DL), reinforcement learning (RL), supervised learning, transfer learning (TL), unsupervised learning (UL)  | 
                
                    
                     | 
                
                
            
| 
                     A4.1.1.3 
                     Describe the types of machine learning and their applications in the real world: Real-world applications of machine learning may include market basket analysis, medical imaging diagnostics, natural language processing, object detection and classification, robotics navigation, sentiment analysis.  | 
                
                    
                     | 
                
                
            
| 
                     A4.1.2.1 
                     Describe the hardware requirements for various scenarios where machine learning is deployed: The hardware configurations for different machine learning scenarios, considering factors such as processing, storage and scalability  | 
                
                    
                     | 
                
                
            
| 
                     A4.1.2.2 
                     Describe the hardware requirements for various scenarios where machine learning is deployed: Hardware configurations for machine learning ranging from standard laptops to advanced infrastructure  | 
                
                    
                     | 
                
                
            
| 
                     A4.1.2.3 
                     Describe the hardware requirements for various scenarios where machine learning is deployed: Advanced infrastructure must include application-specific integrated circuits (ASICs), edge devices, field-programmable gate arrays (FPGAs), GPUs, tensor processing units (TPUs), cloud-based platforms, high-performance computing (HPC) centres.  | 
                
                    
                     | 
                
                
            
| 
                     A4.4.1.1 
                     Discuss the ethical implications of machine learning in real-world scenarios: Ethical issues may include accountability, algorithmic fairness, bias, consent, environmental impact, privacy, security, societal impact, transparency.  | 
                
                    
                     | 
                
                
            
| 
                     A4.4.1.2 
                     Discuss the ethical implications of machine learning in real-world scenarios: The challenges posed by biases in training data  | 
                
                    
                     | 
                
                
            
| 
                     A4.4.1.3 
                     Discuss the ethical implications of machine learning in real-world scenarios: The ethics of using machine learning in online communication may include concerns about misinformation, bias, online harassment, anonymity, privacy.  | 
                
                    
                     | 
                
                
            
| 
                     A4.4.2.1 
                     Discuss ethical aspects of the increasing integration of computer technologies into daily life: The importance of continually reassessing ethical guidelines as technology advances  | 
                
                    
                     | 
                
                
            
| 
                     A4.4.2.2 
                     Discuss ethical aspects of the increasing integration of computer technologies into daily life: The potential implications of emerging technologies such as quantum computing, augmented reality, virtual reality and the pervasive use of AI on society, individual rights, privacy and equity  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.1.1 
                     Construct a problem specification: The specification of a problem may include a problem statement, constraints and limitations, objectives and goals, input specifications, output specifications, evaluation criteria.  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.2.1 
                     Describe the fundamental concepts of computational thinking: Abstraction, algorithmic design, decomposition, pattern recognition  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.3.1 
                     Explain how applying computational thinking to fundamental concepts is used to approach and solve problems in computer science: Computational thinking does not necessarily involve programming—it is a toolkit of available techniques for problem-solving.  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.3.2 
                     Explain how applying computational thinking to fundamental concepts is used to approach and solve problems in computer science: Real-world examples may include software development, data analysis, machine learning, database design, network security.  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.4.1 
                     Trace flowcharts for a range of programming algorithms: Use of standard flowchart symbols to depict processes, decisions and flows of control  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.4.2 
                     Trace flowcharts for a range of programming algorithms: Standard flowchart symbols: Connector, Decision, Flowline, Input/Output, Process/Operation, Start/End  | 
                
                    
                     | 
                
                
            
| 
                     B1.1.4.3 
                     Trace flowcharts for a range of programming algorithms: Flowcharts for execution flow, to track changes in variables and to determine output  | 
                
                    
                     | 
                
                
            
| 
                     B2.1.1.1 
                     Construct and trace programs using a range of global and local variables of various data types: Data types: Boolean value, char, decimal, integer, string  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.1.2.1 
                     Construct programs that can extract and manipulate substrings: Writing of programs that accurately identify and extract substrings from given strings, demonstrating the ability to perform various manipulations, such as altering, concatenating or replacing  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.1.3.1 
                     Describe how programs use common exception handling techniques: Potential points of failure in a program must include unexpected inputs, resource unavailability, logic errors.  | 
                
                    
                     | 
                
                
            
| 
                     B2.1.3.2 
                     Describe how programs use common exception handling techniques: The role of exception handling in developing programs  | 
                
                    
                     | 
                
                
            
| 
                     B2.1.3.3 
                     Describe how programs use common exception handling techniques: Exception handling constructs that effectively manage errors must include try/catch in Java, and try/except in Python, along with the finally block.  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.1.4.1 
                     Construct and use common debugging techniques: Debugging techniques may include trace tables, breakpoint debugging, print statements and step-by-step code execution.  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.2.1.1 
                     Compare static and dynamic data structures: The fundamental differences between static and dynamic data structures, including their underlying mechanisms for memory allocation and resizing  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.2.1.2 
                     Compare static and dynamic data structures: The advantages and disadvantages of each type in various scenarios, considering factors such as speed, memory usage, flexibility  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.2.1 
                     Construct programs that apply arrays and Lists: One-dimensional (1D) arrays, two-dimensional (2D) arrays, ArrayLists in Java  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.2.2 
                     Construct programs that apply arrays and Lists: One-dimensional (1D) Lists and two-dimensional (2D) Lists in Python  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.2.2.3 
                     Construct programs that apply arrays and Lists: Add, remove and traverse elements in a dynamic list  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.3.1 
                     Explain the concept of a stack as a “last in, first out” (LIFO) data structure: Must include fundamental operations such as push, pop, peek and isEmpty  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.3.2 
                     Explain the concept of a stack as a “last in, first out” (LIFO) data structure: How stack operations impact both performance and memory usage  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.3.3 
                     Explain the concept of a stack as a “last in, first out” (LIFO) data structure: An appropriate stack for a specific problem  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.4.1 
                     Explain the concept of a queue as a “first in, first out” (FIFO) data structure: Must include fundamental operations such as enqueue, dequeue, front and isEmpty  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.4.2 
                     Explain the concept of a queue as a “first in, first out” (FIFO) data structure: How queue operations impact both performance and memory usage  | 
                
                    
                     | 
                
                
            
| 
                     B2.2.4.3 
                     Explain the concept of a queue as a “first in, first out” (FIFO) data structure: An appropriate queue for a specific problem  | 
                
                    
                     | 
                
                
            
| 
                     B2.3.1.1 
                     Construct programs that implement the correct sequence of code instructions to meet program objectives: The impact of instruction order on program functionality  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.1.2 
                     Construct programs that implement the correct sequence of code instructions to meet program objectives: Ways to avoid errors, such as infinite loops, deadlock, incorrect output  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.2.1 
                     Construct programs utilizing appropriate selection structures: Must include: if, else, else if (Java), elif (Python), to execute different code blocks based on specified conditions  | 
                
                    
                     | 
                
                
            
| 
                     B2.3.2.2 
                     Construct programs utilizing appropriate selection structures: Selection structures with or without Boolean operators (AND, OR, NOT) and/or relational operators (<, <=, >, >=, ==, !=) to control program flow effectively  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.3.1 
                     Construct programs that utilize looping structures to perform repeated actions: Types of loops, including counted loops and conditional loops, and appropriate use of each type  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.3.2 
                     Construct programs that utilize looping structures to perform repeated actions: Conditional statements within loops, using Boolean and/or relational operators to govern the loop’s execution  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.4.1 
                     Construct functions and modularization: Functions to define reusable blocks of code with different inputs  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.4.2 
                     Construct functions and modularization: Modularization to create well-structured, reusable and maintainable code  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.4.3 
                     Construct functions and modularization: The principles of scope (local versus global)  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.3.4.4 
                     Construct functions and modularization: The benefits of code modularization, applying this concept to various programming scenarios  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.4.1.1 
                     Describe the efficiency of specific algorithms by calculating their Big O notation to analyse their scalability: The time and space complexities of algorithms and calculating Big O notation  | 
                
                    
                     | 
                
                
            
| 
                     B2.4.1.2 
                     Describe the efficiency of specific algorithms by calculating their Big O notation to analyse their scalability: Algorithm choice based on scalability and efficiency requirements  | 
                
                    
                     | 
                
                
            
| 
                     B2.4.2.1 
                     Construct and trace algorithms to implement a linear search and a binary search for data retrieval: The differences in efficiency between different methods of linear and binary search  | 
                
                    
                     | 
                
                
            
| 
                     B2.4.2.2 
                     Construct and trace algorithms to implement a linear search and a binary search for data retrieval: Use of search technique based on efficiency requirements—for example, searching a database for a sorted/indexed list of names to find a phone number, versus searching by the number to identify the name  | 
                
                    
                     | 
                
                
            
| 
                     B2.4.3.1 
                     Construct and trace algorithms to implement bubble sort and selection sort, evaluating their time and space complexities: The time and space complexities of each algorithm, denoted by their respective Big O notations  | 
                
                    
                     | 
                
                
            
| 
                     B2.4.3.2 
                     Construct and trace algorithms to implement bubble sort and selection sort, evaluating their time and space complexities: The advantages and disadvantages of each algorithm in terms of efficiency across various data sets  | 
                
                    
                     | 
                
                
            
| 
                     B2.5.1.1 
                     Construct code to perform file-processing operations: Programs that manipulate text files  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.5.1.2 
                     Construct code to perform file-processing operations: Opening a sequential file in various modes (read, write, append)  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.5.1.3 
                     Construct code to perform file-processing operations: How to read from and write to files, append data to an existing file, and close a file once operations are completed  | 
                
                    
                    
  | 
                
                
            
| 
                     B2.5.1.4 
                     Construct code to perform file-processing operations: Classes for Java users may include Scanner, FileWriter, BufferedReader.  | 
                
                    
                     | 
                
                
            
| 
                     B2.5.1.5 
                     Construct code to perform file-processing operations: Functions for Python users may include open(), read(), readline(), write(), close().  | 
                
                    
                    
  | 
                
                
            
| 
                     B3.1.1.1 
                     Evaluate the fundamentals of OOP: Model real-world entities using OOP concepts: classes, objects, inheritance, encapsulation, polymorphism  | 
                
                    
                    
  | 
                
                
            
| 
                     B3.1.1.2 
                     Evaluate the fundamentals of OOP: The advantages and disadvantages of using OOP in various programming scenarios  | 
                
                    
                    
  | 
                
                
            
| 
                     B3.1.2.1 
                     Construct a design of classes, their methods and behaviour: Classes and their methods, based on application requirements  | 
                
                    
                    
  | 
                
                
            
| 
                     B3.1.2.2 
                     Construct a design of classes, their methods and behaviour: The use of unified modelling language (UML) class diagrams to represent class relationships, attributes and methods, to aid effective software design and planning  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.3.1 
                     Distinguish between static and non-static variables and methods: The differences between static and non-static variables and methods, including their usage and scope  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.3.2 
                     Distinguish between static and non-static variables and methods: When to use instance variables instead of class variables, and how to apply these concepts effectively in code  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.4.1 
                     Construct code to define classes and instantiate objects: How to define classes and create objects from those classes  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.4.2 
                     Construct code to define classes and instantiate objects: The role of constructors in initializing an object's state, setting initial values for its attributes to define its condition or characteristics at the time of creation  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.5.1 
                     Explain and apply the concepts of encapsulation and information hiding in OOP: The principles of encapsulation and information hiding  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.5.2 
                     Explain and apply the concepts of encapsulation and information hiding in OOP: Apply access modifiers such as private and public  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.5.3 
                     Explain and apply the concepts of encapsulation and information hiding in OOP: Controlling access to class members  | 
                
                    
                     | 
                
                
            
| 
                     B3.1.5.4 
                     Explain and apply the concepts of encapsulation and information hiding in OOP: The importance of limiting access to maintain the integrity and security of an object's state  | 
                
                    
                     |