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.3.1 | Explain the differences between the CPU and the GPU: Differences in their design philosophies, usage scenarios |
A1.1.3.2 | Explain the differences between the CPU and the GPU: Differences in their core architecture, processing power, memory access, power efficiency |
A1.1.3.3 | Explain the differences between the CPU and the GPU: CPUs and GPUs working together: task division, data sharing, coordinating execution |
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.6.1 | Describe the process of pipelining in multi-core architectures: The instructions fetch, decode, execute |
A1.1.6.2 | Describe the process of pipelining in multi-core architectures: Write-back stages to improve the overall system performance in multi-core architectures |
A1.1.6.3 | Describe the process of pipelining in multi-core architectures: Overview of how cores in multi-core processors work independently and in parallel |
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. |
A1.3.5.1 | Explain the role of the operating system in managing multitasking and resource allocation: The challenges of multitasking and resource allocation, including task scheduling, resource contention and deadlock |
A1.3.6.1 | Describe the use of the control system components: The input, process, output, and feedback mechanism (open-loop, closed-loop) |
A1.3.6.2 | Describe the use of the control system components: Controller, sensors, actuators, transducers and control algorithm |
A1.3.7.1 | Explain the use of control systems in a range of real-world applications: Examples may include autonomous vehicles, home thermostats, automatic elevator controllers, automatic washing machines, traffic signal control systems, irrigation control systems, home security systems, automatic doors. |
A1.4.1.1 | Evaluate the translation processes of interpreters and compilers: The mechanics and use-cases of each translation approach |
A1.4.1.2 | Evaluate the translation processes of interpreters and compilers: The difference in error detection, translation time, portability and applicability for different translation processes, including just-in-time compilation (JIT) and bytecode interpreters |
A1.4.1.3 | Evaluate the translation processes of interpreters and compilers: Example scenarios where the translation method should be considered must include rapid development and testing, performance-critical applications and cross-platform development. |
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.1.5.1 | Describe the function of the TCP/IP model: Application, transport, internet, network interface |
A2.1.5.2 | Describe the function of the TCP/IP model: The role of each layer and the interaction between these layers to ensure reliable data transmission over a network |
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.2.1 | Describe the function of servers: Types of servers: domain name server (DNS), dynamic host configuration protocol (DHCP), file server, mail server, proxy server, web server |
A2.2.2.2 | Describe the function of servers: Factors to consider must include function, scalability, reliability and security. |
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.2.1 | Describe common network vulnerabilities: Distributed denial of service (DDoS), insecure network protocols, malware, man-in-the-middle (MitM) attacks, phishing attacks, SQL injection, cross-site scripting (XSS), unpatched software, weak authentication, zero-day exploits |
A2.4.3.1 | Describe common network countermeasures: Content security policies, complex password policies, DDoS mitigation tools, email filtering solutions, encrypted protocols, input validation (filtering, whitelisting), intrusion detection systems (IDS), intrusion prevention systems (IPS), multifactor authentication (MFA), secure socket layer (SSL) certificate, transport layer security (TLS) certificate, update software, VPNs |
A2.4.3.2 | Describe common network countermeasures: The importance of regular security testing and employee training |
A2.4.3.3 | Describe common network countermeasures: Wireless security measures may include media access controllers (MAC), whitelists and blacklists. |
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 |
A3.3.4.1 | Construct calculations within a database using SQL’s aggregate functions: Aggregate functions on grouped data to aid reporting and decision-making |
A3.3.4.2 | Construct calculations within a database using SQL’s aggregate functions: Aggregate commands: AVERAGE, COUNT, MAX, MIN, SUM |
A3.3.5.1 | Describe different database views: Virtual views and materialized (snapshot) views |
A3.3.5.2 | Describe different database views: Hiding data complexity, data consistency, independence, performance, query simplification, read-only data or updatable data, security |
A3.3.6.1 | Describe how transactions maintain data integrity in a database: The role of atomicity, consistency, isolation and durability (ACID) to ensure reliable processing of transactions |
A3.3.6.2 | Describe how transactions maintain data integrity in a database: Transaction control language (TCL) commands: BEGIN TRANSACTION, COMMIT, ROLLBACK |
A3.4.1.1 | Outline the different types of databases as approaches to storing data: Databases models: NoSQL, cloud, spatial, in-memory |
A3.4.1.2 | Outline the different types of databases as approaches to storing data: Examples of the use of the database model in real-world scenarios may include e-commerce platforms, geographic information systems (GIS), managed services, real-time analytics, social media platforms, SaaS. |
A3.4.2.1 | Explain the primary objectives of data warehouses in data management and business intelligence: The roles of append-only data, subject-oriented data, integrated data, time-variant data, non-volatile data and data optimized for query performance, to ensure efficient data storage and analysis |
A3.4.3.1 | Explain the role of online analytical processing (OLAP) and data mining for business intelligence: Data mining techniques must include classification, clustering, regression, association rule discovery, sequential pattern discovery, anomaly detection (note: This links to “A4 Machine learning”). |
A3.4.3.2 | Explain the role of online analytical processing (OLAP) and data mining for business intelligence: The uses of the techniques in extracting meaningful information from large data sets |
A3.4.4.1 | Describe the features of distributed databases: The need to maintain data consistency in a distributed database |
A3.4.4.2 | Describe the features of distributed databases: The role of ACID to ensure reliable processing of transactions in distributed databases |
A3.4.4.3 | Describe the features of distributed databases: Features of distributed databases: concurrency control, data consistency, data partitioning, data security, distribution transparency, fault tolerance, global query processing, location transparency, replication, scalability |
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.2.1.1 | Describe the significance of data cleaning: The impact of data quality on model performance |
A4.2.1.2 | Describe the significance of data cleaning: Techniques for handling outliers, removing or consolidating duplicate data, identifying incorrect data, filtering irrelevant data, transforming improperly formatted data, and imputation, deletion or predictive modelling for missing data |
A4.2.1.3 | Describe the significance of data cleaning: Normalization and standardization as crucial preprocessing steps |
A4.2.2.1 | Describe the role of feature selection: Feature selection to identify and retain the most informative attributes of the data set |
A4.2.2.2 | Describe the role of feature selection: Feature selection strategies: filter methods, wrapper methods, embedded methods |
A4.2.3.1 | Describe the importance of dimensionality reduction: The curse of dimensionality considerations may include overfitting, computational complexity, data sparsity, the effectiveness of distance metrics, data visualization, sample size increases, memory usage. |
A4.2.3.2 | Describe the importance of dimensionality reduction: Dimensionality reduction of variables, while preserving the relevant aspects of the data |
A4.2.3.3 | Describe the importance of dimensionality reduction: Note: Statistical techniques such as principal component analysis (PCA) and linear discriminant analysis (LDA) are beyond the scope of this course. |
A4.3.1.1 | Explain how linear regression is used to predict continuous outcomes: The relationship between the independent (predictor) and dependent (response) variables |
A4.3.1.2 | Explain how linear regression is used to predict continuous outcomes: The significance of the slope and intercept in the regression equation |
A4.3.1.3 | Explain how linear regression is used to predict continuous outcomes: How well the model fits the data—often assessed using measures like r². |
A4.3.2.1 | Explain how classifications techniques in supervised learning are used to predict discrete categorical outcomes: K-Nearest Neighbours (K-NN) and decision trees algorithms to categorize new data points, based on patterns learned from existing labelled data |
A4.3.2.2 | Explain how classifications techniques in supervised learning are used to predict discrete categorical outcomes: Real-world applications of K-NN may include collaborative filtering recommendation systems. |
A4.3.2.3 | Explain how classifications techniques in supervised learning are used to predict discrete categorical outcomes: Real-world applications of decision trees may include medical diagnosis based on a patient’s symptoms. |
A4.3.3.1 | Explain the role of hyperparameter tuning when evaluating supervised learning algorithms: Accuracy, precision, recall and F1 score as evaluation metrics |
A4.3.3.2 | Explain the role of hyperparameter tuning when evaluating supervised learning algorithms: The role of hyperparameter tuning on model performance |
A4.3.3.3 | Explain the role of hyperparameter tuning when evaluating supervised learning algorithms: Overfitting and underfitting when training algorithms |
A4.3.4.1 | Describe how clustering techniques in unsupervised learning are used to group data based on similarities in features: Clustering techniques in unsupervised learning group data based on feature similarities |
A4.3.4.2 | Describe how clustering techniques in unsupervised learning are used to group data based on similarities in features: Real-world applications of clustering may include using purchasing data to segment a customer base. |
A4.3.5.1 | Describe how learning techniques using the association rule are used to uncover relations between different attributes in large data sets: Mining techniques using the association rule and interpretation of the results for a given scenario |
A4.3.5.2 | Describe how learning techniques using the association rule are used to uncover relations between different attributes in large data sets: For example, in crime analysis, the techniques may reveal that areas with high rates of vandalism also often experience incidents of theft, assisting law enforcement in predictive policing and resource allocation. |
A4.3.6.1 | Describe how an agent learns to make decisions by interacting with its environment in reinforcement learning: The principle of cumulative reward and the foundational concepts of agent–environment interaction, encompassing actions, states, rewards and policies |
A4.3.6.2 | Describe how an agent learns to make decisions by interacting with its environment in reinforcement learning: The exploration versus exploitation trade-off as a core concept in reinforcement learning |
A4.3.7.1 | Describe the application of genetic algorithms in various real-world situations: For example: population, fitness function, selection, crossover, mutation, evaluation, termination |
A4.3.7.2 | Describe the application of genetic algorithms in various real-world situations: A real-world application of genetic algorithms is seen in optimization problems, such as route planning (e.g: the “travelling salesperson problem”). |
A4.3.8.1 | Outline the structure and function of ANNs and how multi-layer networks are used to model complex patterns in data sets: An artificial neural network (ANN) to simulate interconnected nodes or “neurons” to process and learn from input data, enabling tasks such as classification, regression and pattern recognition |
A4.3.8.2 | Outline the structure and function of ANNs and how multi-layer networks are used to model complex patterns in data sets: Sketch of a single perceptron, highlighting its input, weights, bias, activation function and output |
A4.3.8.3 | Outline the structure and function of ANNs and how multi-layer networks are used to model complex patterns in data sets: Sketch of a multi-layer perceptron (MLP) encompassing the input layer, one or more hidden layers and the output layer. |
A4.3.9.1 | Describe how CNNs are designed to adaptively learn spatial hierarchies of features in images: Convolutional neural network (CNN) basic architecture: input layer, convolutional layers, activation functions, pooling layers, fully connected layers, output layer |
A4.3.9.2 | Describe how CNNs are designed to adaptively learn spatial hierarchies of features in images: The effect of the number of layers, kernel size and stride, activation function selection, and the loss function on how CNNs process input data and classify images |
A4.3.10.1 | Explain the importance of model selection and comparison in machine learning: How different algorithms can yield different results depending on the data and type of problem |
A4.3.10.2 | Explain the importance of model selection and comparison in machine learning: The reasons for selecting specific machine learning models over others, considering factors like the nature of the problem, its complexity and desired outcomes |
A4.3.10.3 | Explain the importance of model selection and comparison in machine learning: The variability in algorithm performance based on the data’s characteristics |
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.4.4.1 | Explain the fundamental concept of recursion and its applications in programming: The fundamentals of recursion and its advantages and limitations |
B2.4.4.2 | Explain the fundamental concept of recursion and its applications in programming: The utility of recursion in solving problems that can be broken down into smaller, similar sub-problems |
B2.4.4.3 | Explain the fundamental concept of recursion and its applications in programming: Recursive algorithms, including but not limited to quicksort |
B2.4.4.4 | Explain the fundamental concept of recursion and its applications in programming: The limitations of recursion, including complexity and memory usage |
B2.4.4.5 | Explain the fundamental concept of recursion and its applications in programming: Situations that best suit the use of recursion, including fractal image creation, traversing binary trees, sorting algorithms |
B2.4.5.1 | Construct and trace recursive algorithms in a programming language: Simple, non-branching recursive algorithms in programming only |
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 |
B3.2.1.1 | Explain and apply the concept of inheritance in OOP to promote code reusability: How inheritance enables a hierarchical relationship between parent and child classes |
B3.2.1.2 | Explain and apply the concept of inheritance in OOP to promote code reusability: Extending existing classes, utilizing inheritance to reuse and extend functionalities |
B3.2.1.3 | Explain and apply the concept of inheritance in OOP to promote code reusability: The impact of inheritance on access to parent class members with different access modifiers (private, public, protected, default) |
B3.2.2.1 | Construct code to model polymorphism and its various forms, such as method overriding: The principle of polymorphism and how it contributes to code flexibility and reusability |
B3.2.2.2 | Construct code to model polymorphism and its various forms, such as method overriding: How to implement dynamic polymorphic behaviour through mechanisms like method overriding |
B3.2.2.3 | Construct code to model polymorphism and its various forms, such as method overriding: How to apply static polymorphic behaviour to maximize code efficiency |
B3.2.3.1 | Explain the concept of abstraction in OOP: The significance of abstraction in the development of modular code fragments |
B3.2.3.2 | Explain the concept of abstraction in OOP: The use of abstract classes to establish common interfaces for sub-classes |
B3.2.4.1 | Explain the role of composition and aggregation in class relationships: How to design objects by leveraging smaller component objects through composition and aggregation |
B3.2.4.2 | Explain the role of composition and aggregation in class relationships: That aggregation implies that the subcomponents can function independently of the aggregating class, while in composition, the subcomponents are tightly coupled and cannot exist outside the aggregating class |
B3.2.5.1 | Explain commonly used design patterns in OOP: The key design patterns such as singleton, factory and observer |
B3.2.5.2 | Explain commonly used design patterns in OOP: The application of design patterns in solving recurring programming challenges |
B4.1.1.1 | Explain the properties and purpose of ADTs in programming: The core principles of ADTs, including their purpose in providing a high-level description of data structures and their associated operations |
B4.1.2.1 | Evaluate linked lists: Lists must include singly, doubly, circular |
B4.1.2.2 | Evaluate linked lists: Sketch of linked lists and implementation of basic operations diagrammatically, such as insertion, deletion, traversal, search |
B4.1.2.3 | Evaluate linked lists: The advantages and disadvantages of using linked lists over other data structures like arrays, particularly in terms of memory utilization and performance |
B4.1.3.1 | Construct and apply linked lists: singly, doubly and circular: The basic operations on a linked list, such as insertion, deletion, traversal, search |
B4.1.4.1 | Explain the structures and properties of BSTs: How binary search trees (BSTs) are used for data organization |
B4.1.4.2 | Explain the structures and properties of BSTs: Insert, delete, traverse and searching nodes in a BST |
B4.1.4.3 | Explain the structures and properties of BSTs: Sketching a BST as a tree diagram |
B4.1.5.1 | Construct and apply sets as an ADT: The fundamental characteristics of sets, including their unordered nature and the uniqueness of elements |
B4.1.5.2 | Construct and apply sets as an ADT: Operations: union, intersection and difference |
B4.1.5.3 | Construct and apply sets as an ADT: Code to check if an element is in a set, to add an element to a set, to remove an element, and to check whether one set is a subset/superset of another set |
B4.1.6.1 | Explain the core principles of ADTs: High-level description of data structures and their associated operations and purpose |
B4.1.6.2 | Explain the core principles of ADTs: The underlying mechanics of hash tables, including hashing functions, collision resolution strategies and load factors |
B4.1.6.3 | Explain the core principles of ADTs: The underlying mechanics of sets to store and manage data |
B4.1.6.4 | Explain the core principles of ADTs: HashMap and HashSet in Java; dict and set in Python |