Standards in this Framework
| Standard | Description |
|---|---|
| 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.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.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.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 |
| 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.2.1.1 | Describe the functions and practical applications of network topologies: Network topologies: star, mesh, hybrid |
| 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.2.1 | Compare types of media for data transmission: Wired transmission via fibre optic cables and twisted pair cables; wireless transmission |
| 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.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.4.1 | Describe the process of encryption and digital certificates: The difference between symmetric and asymmetric cryptography |
| 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 |
| 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. |
| 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.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.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.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 |