Please enable JavaScript to use CodeHS

IB CS Core Standards - SL Standards Mapping

to

IB Computer Science (SL & HL)

101 Standards in this Framework 101 Standards Mapped 100% Mapped to Course


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