Please enable JavaScript to use CodeHS

Standards Framework

for IB CS Core Standards - HL

137

Standards in this Framework

Standard Description
1.1.1 Planning and system installation: Identify the context for which a new system is planned.
1.1.2 Planning and system installation: Describe the need for change management.
1.1.3 Planning and system installation: Outline compatibility issues resulting from situations including legacy systems or business mergers.
1.1.4 Planning and system installation: Compare the implementation of systems using a client’s hardware with hosting systems remotely.
1.1.5 Planning and system installation: Evaluate alternative installation processes.
1.1.6 Planning and system installation: Discuss problems that may arise as a part of data migration.
1.1.7 Planning and system installation: Suggest various types of testing.
1.1.8 User focus: Describe the importance of user documentation.
1.1.9 User focus: Evaluate different methods of providing user documentation.
1.1.10 User focus: Evaluate different methods of delivering user training.
1.1.11 System backup: Identify a range of causes of data loss.
1.1.12 System backup: Outline the consequences of data loss in a specified situation.
1.1.13 System backup: Describe a range of methods that can be used to prevent data loss.
1.1.14 Software deployment: Describe strategies for managing releases and updates.
1.2.1 Components of a computer system: Define the terms: hardware, software, peripheral, network, human resources.
1.2.2 Components of a computer system: Describe the roles that a computer can take in a networked world.
1.2.3 Components of a computer system: Discuss the social and ethical issues associated with a networked world.
1.2.4 System design and analysis: Identify the relevant stakeholders when planning a new system.
1.2.5 System design and analysis: Describe methods of obtaining requirements from stakeholders.
1.2.6 System design and analysis: Describe appropriate techniques for gathering the information needed to arrive at a workable solution.
1.2.7 System design and analysis: Construct suitable representations to illustrate system requirements.
1.2.8 System design and analysis: Describe the purpose of prototypes to demonstrate the proposed system to the client.
1.2.9 System design and analysis: Discuss the importance of iteration during the design process.
1.2.10 System design and analysis: Explain the possible consequences of failing to involve the end-user in the design process.
1.2.11 System design and analysis: Discuss the social and ethical issues associated with the introduction of new IT systems.
1.2.12 Human interaction with the system: Define the term usability.
1.2.13 Human interaction with the system: Identify a range of usability problems with commonly used digital devices.
1.2.14 Human interaction with the system: Identify methods that can be used to improve the accessibility of systems.
1.2.15 Human interaction with the system: Identify a range of usability problems that can occur in a system.
1.2.16 Human interaction with the system: Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines.
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.
2.1.2 Computer architecture: Describe primary memory.
2.1.3 Computer architecture: Explain the use of cache memory.
2.1.4 Computer architecture: Explain the machine instruction cycle.
2.1.5 Secondary memory: Identify the need for persistent storage.
2.1.6 Operating systems and application systems: Describe the main functions of an operating system.
2.1.7 Operating systems and application systems: Outline the use of a range of application software.
2.1.8 Operating systems and application systems: Identify common features of applications.
2.1.9 Binary representation: Define the terms: bit, byte, binary, denary/decimal, hexadecimal.
2.1.10 Binary representation: Outline the way in which data is represented in the computer.
2.1.11 Simple logic gates: Define the Boolean operators: AND, OR, NOT, NAND, NOR and XOR.
2.1.12 Simple logic gates: Construct truth tables using the above operators.
2.1.13 Simple logic gates: Construct a logic diagram using AND, OR, NOT, NAND, NOR and XOR gates.
3.1.1 Network fundamentals: Identify different types of networks.
3.1.2 Network fundamentals: Outline the importance of standards in the construction of networks.
3.1.3 Network fundamentals: Describe how communication over networks is broken down into different layers.
3.1.4 Network fundamentals: Identify the technologies required to provide a VPN.
3.1.5 Network fundamentals: Evaluate the use of a VPN.
3.1.6 Data transmission: Define the terms: protocol, data packet.
3.1.7 Data transmission: Explain why protocols are necessary.
3.1.8 Data transmission: Explain why the speed of data transmission across a network can vary.
3.1.9 Data transmission: Explain why compression of data is often necessary when transmitting across a network.
3.1.10 Data transmission: Outline the characteristics of different transmission media.
3.1.11 Data transmission: Explain how data is transmitted by packet switching.
3.1.12 Wireless networking: Outline the advantages and disadvantages of wireless networks.
3.1.13 Describe the hardware and software components of a wireless network.
3.1.14 Describe the characteristics of wireless networks.
3.1.15 Describe the different methods of network security.
3.1.16 Evaluate the advantages and disadvantages of each method of network security.
4.1.1 Thinking procedurally: Identify the procedure appropriate to solving a problem.
4.1.2 Thinking procedurally: Evaluate whether the order in which activities are undertaken will result in the required outcome.
4.1.3 Thinking procedurally: Explain the role of sub-procedures in solving a problem.
4.1.4 Thinking logically: Identify when decision-making is required in a specified situation.
4.1.5 Thinking logically: Identify the decisions required for the solution to a specified problem.
4.1.6 Thinking logically: Identify the condition associated with a given decision in a specified problem.
4.1.7 Thinking logically: Explain the relationship between the decisions and conditions of a system.
4.1.8 Thinking logically: Deduce logical rules for real-world situations.
4.1.9 Thinking ahead: Identify the inputs and outputs required in a solution.
4.1.10 Thinking ahead: Identify pre-planning in a suggested problem and solution.
4.1.11 Thinking ahead: Explain the need for pre-conditions when executing an algorithm.
4.1.12 Thinking ahead: Outline the pre- and post-conditions to a specified problem.
4.1.13 Thinking ahead: Identify exceptions that need to be considered in a specified problem solution.
4.1.14 Thinking concurrently: Identify the parts of a solution that could be implemented concurrently
4.1.15 Thinking concurrently: Describe how concurrent processing can be used to solve a problem.
4.1.16 Thinking concurrently: Evaluate the decision to use concurrent processing in solving a problem.
4.1.17 Thinking abstractly: Identify examples of abstraction.
4.1.18 Thinking abstractly: Explain why abstraction is required in the derivation of computational solutions for a specified situation.
4.1.19 Thinking abstractly: Construct an abstraction from a specified situation.
4.1.20 Thinking abstractly: Distinguish between a real-world entity and its abstraction.
4.2.1 Describe the characteristics of standard algorithms on linear arrays.
4.2.2 Outline the standard operations of collections.
4.2.3 Discuss an algorithm to solve a specific problem.
4.2.4 Analyse an algorithm presented as a flow chart.
4.2.5 Analyse an algorithm presented as pseudocode.
4.2.6 Construct pseudocode to represent an algorithm.
4.2.7 Suggest suitable algorithms to solve a specific problem.
4.2.8 Deduce the efficiency of an algorithm in the context of its use.
4.2.9 Determine the number of times a step in an algorithm will be performed for given input data.
4.3.1 Nature of programming languages: State the fundamental operations of a computer.
4.3.2 Nature of programming languages: Distinguish between fundamental and compound operations of a computer.
4.3.3 Nature of programming languages: Explain the essential features of a computer language.
4.3.4 Nature of programming languages: Explain the need for higher level languages.
4.3.5 Nature of programming languages: Outline the need for a translation process from a higher level language to machine executable code.
4.3.6 Use of programming languages: Define the terms: variable, constant, operator, object.
4.3.7 Use of programming languages: Define the operators =, ≠, <, <=, >, >=, mod, div.
4.3.8 Use of programming languages: Analyse the use of variables, constants and operators in algorithms.
4.3.9 Use of programming languages: Construct algorithms using loops, branching.
4.3.10 Use of programming languages: Describe the characteristics and applications of a collection.
4.3.11 Use of programming languages: Construct algorithms using the access methods of a collection.
4.3.12 Use of programming languages: Discuss the need for sub-programmes and collections within programmed solutions.
4.3.13 Use of programming languages: Construct algorithms using predefined sub-programmes, onedimensional arrays and/or collections.
5.1.1 Thinking recursively: Identify a situation that requires the use of recursive thinking.
5.1.2 Thinking recursively: Identify recursive thinking in a specified problem solution.
5.1.3 Thinking recursively: Trace a recursive algorithm to express a solution to a problem.
5.1.4 Abstract data structures: Describe the characteristics of a twodimensional array.
5.1.5 Abstract data structures: Construct algorithms using twodimensional arrays.
5.1.6 Abstract data structures: Describe the characteristics and applications of a stack.
5.1.7 Abstract data structures: Construct algorithms using the access methods of a stack.
5.1.8 Abstract data structures: Describe the characteristics and applications of a queue.
5.1.9 Abstract data structures: Construct algorithms using the access methods of a queue.
5.1.10 Abstract data structures: Explain the use of arrays as static stacks and queues.
5.1.11 Linked lists: Describe the features and characteristics of a dynamic data structure.
5.1.12 Linked lists: Describe how linked lists operate logically.
5.1.13 Linked lists: Sketch linked lists (single, double and circular).
5.1.14 Trees: Define the terms: Describe how trees operate logically (both binary and non-binary).
5.1.15 Trees: Define the terms: parent, left-child, right-child, subtree, root and leaf.
5.1.16 Trees: State the result of inorder, postorder and preorder tree traversal.
5.1.17 Trees: Describe how trees operate logically (both binary and non-binary).
5.1.18 Applications: Define the term dynamic data structure.
5.1.19 Applications: Compare the use of static and dynamic data structures.
5.1.20 Applications: Suggest a suitable structure for a given situation.
6.1.1 System resources: Identify the resources that need to be managed within a computer system.
6.1.2 System resources: Evaluate the resources available in a variety of computer systems.
6.1.3 System resources: Identify the limitations of a range of resources in a specified computer system.
6.1.4 System resources: Describe the possible problems resulting from the limitations in the resources in a computer system.
6.1.5 Role of the operating system: Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.
6.1.7 Role of the operating system: Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.
6.1.8 Role of the operating system: Discuss the advantages of producing a dedicated operating system for a device.
6.1.9 Role of the operating system: Outline how an operating system hides the complexity of the hardware from users and applications.
7.1.1 Centralized control systems: Discuss a range of control systems.
7.1.2 Centralized control systems: Outline the uses of microprocessors and sensor input in control systems.
7.1.3 Centralized control systems: Evaluate different input devices for the collection of data in specified situations.
7.1.4 Centralized control systems: Explain the relationship between a sensor, the processor and an output transducer.
7.1.5 Centralized control systems: Describe the role of feedback in a control system.
7.1.6 Centralized control systems: Discuss the social impacts and ethical considerations associated with the use of embedded systems.
7.1.7 Distributed systems: Compare a centrally controlled system with a distributed system.
7.1.8 Distributed systems: Outline the role of autonomous agents acting within a larger system.