1.1.1 |
Planning and system installation: Identify the context for which a new system is planned. |
-
3.1 Context for Change
|
1.1.2 |
Planning and system installation: Describe the need for change management. |
-
3.3 Preparing Users
|
1.1.3 |
Planning and system installation: Outline compatibility issues resulting from situations including legacy systems or business mergers. |
-
3.2 Planning for System Implementation
|
1.1.4 |
Planning and system installation: Compare the implementation of systems using a client’s hardware with hosting systems remotely. |
-
3.2 Planning for System Implementation
|
1.1.5 |
Planning and system installation: Evaluate alternative installation processes. |
-
3.2 Planning for System Implementation
|
1.1.6 |
Planning and system installation: Discuss problems that may arise as a part of data migration. |
-
3.2 Planning for System Implementation
|
1.1.7 |
Planning and system installation: Suggest various types of testing. |
-
3.2 Planning for System Implementation
|
1.1.8 |
User focus: Describe the importance of user documentation. |
-
3.3 Preparing Users
-
8.8 String Methods
-
8.10 Using the Math Class
|
1.1.9 |
User focus: Evaluate different methods of providing user documentation. |
-
3.3 Preparing Users
|
1.1.10 |
User focus: Evaluate different methods of delivering user training. |
-
3.3 Preparing Users
|
1.1.11 |
System backup: Identify a range of causes of data loss. |
-
3.4 Maintaining the System
-
4.8 Lossy Compression
|
1.1.12 |
System backup: Outline the consequences of data loss in a specified situation. |
-
3.4 Maintaining the System
|
1.1.13 |
System backup: Describe a range of methods that can be used to prevent data loss. |
-
3.4 Maintaining the System
-
6.4 Storage Options
|
1.1.14 |
Software deployment: Describe strategies for managing releases and updates. |
-
3.4 Maintaining the System
|
1.2.1 |
Components of a computer system: Define the terms: hardware, software, peripheral, network, human resources. |
-
3.1 Context for Change
-
6.1 Internal Components
-
6.2 Peripheral Devices
|
1.2.2 |
Components of a computer system: Describe the roles that a computer can take in a networked world. |
-
5.1 Welcome to the Internet
-
5.8 The Impact of the Internet
-
6.9 Sequential, Parallel & Distributed Computing
|
1.2.3 |
Components of a computer system: Discuss the social and ethical issues associated with a networked world. |
-
5.8 The Impact of the Internet
-
11.10 Ethical and Social Implications of Computing
-
12.18 Ethical and Social Implications of Computing
-
14.7 Ethical Issues Around Data Collection
|
1.2.4 |
System design and analysis: Identify the relevant stakeholders when planning a new system. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
-
2.3 Define
|
1.2.5 |
System design and analysis: Describe methods of obtaining requirements from stakeholders. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
-
2.3 Define
|
1.2.6 |
System design and analysis: Describe appropriate techniques for gathering the information needed to arrive at a workable solution. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
-
2.3 Define
-
2.4 Ideate
|
1.2.7 |
System design and analysis: Construct suitable representations to illustrate system requirements. |
-
2.3 Define
-
2.5 Prototype
|
1.2.8 |
System design and analysis: Describe the purpose of prototypes to demonstrate the proposed system to the client. |
-
2.5 Prototype
-
2.6 Test
|
1.2.9 |
System design and analysis: Discuss the importance of iteration during the design process. |
-
2.1 Intro to Design Thinking
-
2.5 Prototype
-
2.6 Test
|
1.2.10 |
System design and analysis: Explain the possible consequences of failing to involve the end-user in the design process. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
-
2.3 Define
-
2.4 Ideate
-
2.6 Test
|
1.2.11 |
System design and analysis: Discuss the social and ethical issues associated with the introduction of new IT systems. |
-
3.1 Context for Change
|
1.2.12 |
Human interaction with the system: Define the term usability. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
|
1.2.13 |
Human interaction with the system: Identify a range of usability problems with commonly used digital devices. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
|
1.2.14 |
Human interaction with the system: Identify methods that can be used to improve the accessibility of systems. |
-
2.2 Empathy
|
1.2.15 |
Human interaction with the system: Identify a range of usability problems that can occur in a system. |
-
2.1 Intro to Design Thinking
-
2.2 Empathy
-
2.6 Test
|
1.2.16 |
Human interaction with the system: Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines. |
-
11.10 Ethical and Social Implications of Computing
-
12.18 Ethical and Social Implications of Computing
|
2.1.1 |
Computer architecture: Outline the architecture of the central processing unit (CPU) and the functions of the arithmetic logic unit (ALU) and the control unit (CU) and the registers within the CPU. |
-
6.1 Internal Components
|
2.1.2 |
Computer architecture: Describe primary memory. |
-
6.1 Internal Components
|
2.1.3 |
Computer architecture: Explain the use of cache memory. |
-
6.8 Browser Configuration
|
2.1.4 |
Computer architecture: Explain the machine instruction cycle. |
-
6.1 Internal Components
|
2.1.5 |
Secondary memory: Identify the need for persistent storage. |
-
6.4 Storage Options
|
2.1.6 |
Operating systems and application systems: Describe the main functions of an operating system. |
-
6.6 Operating Systems
|
2.1.7 |
Operating systems and application systems: Outline the use of a range of application software. |
-
6.7 Software and Applications
|
2.1.8 |
Operating systems and application systems: Identify common features of applications. |
-
6.7 Software and Applications
|
2.1.9 |
Binary representation: Define the terms: bit, byte, binary, denary/decimal, hexadecimal. |
-
4.1 Intro to Digital Information
-
4.2 Number Systems
-
4.4 Hexadecimal
|
2.1.10 |
Binary representation: Outline the way in which data is represented in the computer. |
-
4.1 Intro to Digital Information
-
4.2 Number Systems
-
4.3 Encoding Text with Binary
-
4.4 Hexadecimal
-
4.5 Pixel Images
-
4.6 Pixel Colors!
-
7.6 Casting and Ranges of Variables
|
2.1.11 |
Simple logic gates: Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR. |
-
9.1 Boolean Expressions and if Statements
-
9.5 Compound Boolean Expressions
-
9.6 Equivalent Boolean Expressions
|
2.1.12 |
Simple logic gates: Construct truth tables using the above operators. |
-
9.5 Compound Boolean Expressions
-
9.6 Equivalent Boolean Expressions
|
2.1.13 |
Simple logic gates: Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates. |
-
9.5 Compound Boolean Expressions
-
9.6 Equivalent Boolean Expressions
|
3.1.1 |
Network fundamentals: Identify different types of networks. |
-
5.5 Private Networks
-
6.5 Network Options
|
3.1.2 |
Network fundamentals: Outline the importance of standards in the construction of networks. |
-
5.4 Protocols and Standards
|
3.1.3 |
Network fundamentals: Describe how communication over networks is broken down into different layers. |
-
5.1 Welcome to the Internet
-
5.2 DNS and Routing
|
3.1.4 |
Network fundamentals: Identify the technologies required to provide a VPN. |
-
5.5 Private Networks
|
3.1.5 |
Network fundamentals: Evaluate the use of a VPN. |
-
5.5 Private Networks
|
3.1.6 |
Data transmission: Define the terms: protocol, data packet. |
-
5.3 Packets and Protocols
-
5.4 Protocols and Standards
-
14.7 Ethical Issues Around Data Collection
|
3.1.7 |
Data transmission: Explain why protocols are necessary. |
-
5.3 Packets and Protocols
-
5.4 Protocols and Standards
-
14.7 Ethical Issues Around Data Collection
|
3.1.8 |
Data transmission: Explain why the speed of data transmission across a network can vary. |
-
5.2 DNS and Routing
-
5.4 Protocols and Standards
-
6.5 Network Options
-
6.9 Sequential, Parallel & Distributed Computing
|
3.1.9 |
Data transmission: Explain why compression of data is often necessary when transmitting across a network. |
-
4.7 Data Compression
-
4.8 Lossy Compression
|
3.1.10 |
Data transmission: Outline the characteristics of different transmission media. |
-
6.3 Network Devices
|
3.1.11 |
Data transmission: Explain how data is transmitted by packet switching. |
-
5.3 Packets and Protocols
-
14.7 Ethical Issues Around Data Collection
|
3.1.12 |
Wireless networking: Outline the advantages and disadvantages of wireless networks. |
-
5.4 Protocols and Standards
|
3.1.13 |
Describe the hardware and software components of a wireless network. |
-
6.1 Internal Components
-
6.3 Network Devices
-
6.8 Browser Configuration
|
3.1.14 |
Describe the characteristics of wireless networks. |
-
5.4 Protocols and Standards
|
3.1.15 |
Describe the different methods of network security. |
-
5.6 Cybersecurity
-
5.7 Advanced Devices
|
3.1.16 |
Evaluate the advantages and disadvantages of each method of network security. |
-
5.7 Advanced Devices
|
4.1.1 |
Thinking procedurally: Identify the procedure appropriate to solving a problem. |
-
1.15 More Karel Examples and Testing
-
1.19 Karel Challenges
-
11.4 Accessor Methods
-
11.5 Mutator Methods
-
11.6 Writing Methods
|
4.1.2 |
Thinking procedurally: Evaluate whether the order in which activities are undertaken will result in the required outcome. |
-
1.15 More Karel Examples and Testing
-
1.19 Karel Challenges
-
9.7 Comparing Objects
-
10.5 Informal Code Analysis
|
4.1.3 |
Thinking procedurally: Explain the role of sub-procedures in solving a problem. |
-
11.4 Accessor Methods
-
11.5 Mutator Methods
-
11.6 Writing Methods
|
4.1.4 |
Thinking logically: Identify when decision-making is required in a specified situation. |
-
9.2 if Statements and Control Flow
-
9.3 if-else Statements
-
9.4 else if Statements
|
4.1.5 |
Thinking logically: Identify the decisions required for the solution to a specified problem. |
-
9.2 if Statements and Control Flow
-
9.3 if-else Statements
-
9.4 else if Statements
|
4.1.6 |
Thinking logically: Identify the condition associated with a given decision in a specified problem. |
-
9.2 if Statements and Control Flow
-
9.3 if-else Statements
-
9.4 else if Statements
|
4.1.7 |
Thinking logically: Explain the relationship between the decisions and conditions of a system. |
-
9.2 if Statements and Control Flow
-
9.3 if-else Statements
-
9.4 else if Statements
|
4.1.8 |
Thinking logically: Deduce logical rules for real-world situations. |
-
9.2 if Statements and Control Flow
-
9.3 if-else Statements
-
9.4 else if Statements
|
4.1.9 |
Thinking ahead: Identify the inputs and outputs required in a solution. |
-
9.7 Comparing Objects
-
10.5 Informal Code Analysis
-
11.4 Accessor Methods
-
11.5 Mutator Methods
-
11.6 Writing Methods
-
11.8 Scope and Access
|
4.1.10 |
Thinking ahead: Identify pre-planning in a suggested problem and solution. |
-
1.6 Top Down Design and Decomposition in Karel
-
11.3 Documentation with Comments
|
4.1.11 |
Thinking ahead: Explain the need for pre-conditions when executing an algorithm. |
-
1.7 Commenting Your Code
-
11.3 Documentation with Comments
|
4.1.12 |
Thinking ahead: Outline the pre- and post-conditions to a specified problem. |
-
1.7 Commenting Your Code
-
11.3 Documentation with Comments
|
4.1.13 |
Thinking ahead: Identify exceptions that need to be considered in a specified problem solution. |
-
13.2 Traversing Arrays
|
4.1.14 |
Thinking concurrently: Identify the parts of a solution that could be implemented concurrently |
-
17.3 Recursive Sorting
|
4.1.15 |
Thinking concurrently: Describe how concurrent processing can be used to solve a problem. |
-
17.3 Recursive Sorting
|
4.1.16 |
Thinking concurrently: Evaluate the decision to use concurrent processing in solving a problem. |
-
17.3 Recursive Sorting
|
4.1.17 |
Thinking abstractly: Identify examples of abstraction. |
-
8.8 String Methods
-
8.10 Using the Math Class
-
12.14 Class Design and Abstract Classes
|
4.1.18 |
Thinking abstractly: Explain why abstraction is required in the derivation of computational solutions for a specified situation. |
-
8.10 Using the Math Class
-
12.14 Class Design and Abstract Classes
|
4.1.19 |
Thinking abstractly: Construct an abstraction from a specified situation. |
-
8.10 Using the Math Class
-
12.14 Class Design and Abstract Classes
|
4.1.20 |
Thinking abstractly: Distinguish between a real-world entity and its abstraction. |
-
8.10 Using the Math Class
|
4.2.1 |
Describe the characteristics of standard algorithms on linear arrays. |
-
13.4 Developing Algorithms Using Arrays
-
14.4 Developing Algorithms using ArrayLists
|
4.2.2 |
Outline the standard operations of collections. |
-
13.4 Developing Algorithms Using Arrays
-
14.4 Developing Algorithms using ArrayLists
-
15.2 Traversing 2D Arrays
|
4.2.3 |
Discuss an algorithm to solve a specific problem. |
-
14.5 Searching
-
14.6 Sorting
|
4.2.4 |
Analyse an algorithm presented as a flow chart. |
-
9.2 if Statements and Control Flow
-
9.3 if-else Statements
-
9.4 else if Statements
-
17.1 Recursion
|
4.2.5 |
Analyse an algorithm presented as pseudocode. |
-
1.6 Top Down Design and Decomposition in Karel
-
1.7 Commenting Your Code
-
1.15 More Karel Examples and Testing
-
11.3 Documentation with Comments
|
4.2.6 |
Construct pseudocode to represent an algorithm. |
-
1.6 Top Down Design and Decomposition in Karel
-
1.7 Commenting Your Code
-
11.3 Documentation with Comments
|
4.2.7 |
Suggest suitable algorithms to solve a specific problem. |
-
14.5 Searching
-
14.6 Sorting
-
15.2 Traversing 2D Arrays
|
4.2.8 |
Deduce the efficiency of an algorithm in the context of its use. |
-
10.5 Informal Code Analysis
|
4.2.9 |
Determine the number of times a step in an algorithm will be performed for given input data. |
-
10.5 Informal Code Analysis
|
4.3.1 |
Nature of programming languages: State the fundamental operations of a computer. |
-
1.17 What is Code
-
1.18 Uses of Programs
|
4.3.2 |
Nature of programming languages: Distinguish between fundamental and compound operations of a computer. |
-
10.5 Informal Code Analysis
|
4.3.3 |
Nature of programming languages: Explain the essential features of a computer language. |
-
1.17 What is Code
-
1.18 Uses of Programs
|
4.3.4 |
Nature of programming languages: Explain the need for higher level languages. |
-
1.17 What is Code
|
4.3.5 |
Nature of programming languages: Outline the need for a translation process from a higher level language to machine executable code. |
-
1.17 What is Code
|
4.3.6 |
Use of programming languages: Define the terms: variable, constant, operator, object. |
-
7.2 Variables and Data Types
-
8.1 Objects: Instances of Classes
-
12.1 Introduction to Classes and Objects
|
4.3.7 |
Use of programming languages: Define the operators =, ≠, <, <=, >, >=, mod, div. |
-
7.3 Expressions and Assignment Statements
-
9.1 Boolean Expressions and if Statements
|
4.3.8 |
Use of programming languages: Analyse the use of variables, constants and operators in algorithms. |
-
7.2 Variables and Data Types
-
7.3 Expressions and Assignment Statements
-
9.5 Compound Boolean Expressions
-
10.5 Informal Code Analysis
|
4.3.9 |
Use of programming languages: Construct algorithms using loops, branching. |
-
10.1 Iteration
-
10.2 For Loops
|
4.3.10 |
Use of programming languages: Describe the characteristics and applications of a collection. |
-
13.1 Array
-
14.1 ArrayList
-
14.2 ArrayList Methods
-
15.1 2D Arrays
-
15.2 Traversing 2D Arrays
|
4.3.11 |
Use of programming languages: Construct algorithms using the access methods of a collection. |
-
13.2 Traversing Arrays
-
14.2 ArrayList Methods
-
14.3 Traversing ArrayLists
-
15.2 Traversing 2D Arrays
|
4.3.12 |
Use of programming languages: Discuss the need for sub-programmes and collections within programmed solutions. |
-
11.4 Accessor Methods
-
11.5 Mutator Methods
-
11.6 Writing Methods
-
11.8 Scope and Access
-
12.7 Class Methods and Class Variables
-
12.14 Class Design and Abstract Classes
|
4.3.13 |
Use of programming languages: Construct algorithms using predefined sub-programmes, onedimensional arrays and/or collections. |
-
13.1 Array
-
13.2 Traversing Arrays
-
13.3 Enhanced for Loop for Arrays
-
13.4 Developing Algorithms Using Arrays
|