Standards in this Framework
Standard | Description |
---|---|
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 |