Please enable JavaScript to use CodeHS

Standards Mapping

for IB CS Option D Standards - HL

IB Computer Science Standard Level (2021)

45

Standards in this Framework

38

Standards Mapped

84%

Mapped to Course

Standard Lessons
D.1.1
Outline the general nature of an object.
  1. 8.1 Objects: Instances of Classes
  2. 12.1 Introduction to Classes and Objects
D.1.2
Distinguish between an object (definition, template or class) and instantiation.
  1. 8.1 Objects: Instances of Classes
  2. 8.2 Creating and Storing Objects (Instantiation)
  3. 12.1 Introduction to Classes and Objects
  4. 12.2 Classes vs. Objects
D.1.3
Construct unified modelling language (UML) diagrams to represent object designs.
  1. 11.3 Documentation with Comments
D.1.4
Interpret UML diagrams.
  1. 11.3 Documentation with Comments
D.1.5
Describe the process of decomposition into several related objects.
  1. 11.1 Writing Classes
  2. 11.2 Constructors
D.1.6
Describe the relationships between objects for a given problem.
  1. 11.1 Writing Classes
  2. 11.2 Constructors
  3. 11.6 Writing Methods
  4. 12.14 Class Design and Abstract Classes
D.1.7
Outline the need to reduce dependencies between objects in a given problem.
  1. 11.1 Writing Classes
  2. 11.2 Constructors
  3. 12.14 Class Design and Abstract Classes
D.1.8
Construct related objects for a given problem.
  1. 11.1 Writing Classes
  2. 11.2 Constructors
  3. 11.6 Writing Methods
  4. 12.11 Key Terms for Classes
  5. 12.13 Inheritance
  6. 12.14 Class Design and Abstract Classes
D.1.9
Explain the need for different data types to represent data items.
  1. 14.1 ArrayList
  2. 14.6 Sorting
D.1.10
Describe how data items can be passed to and from actions as parameters.
  1. 8.5 Calling a Void Method with Parameters
D.2.1
Define the term encapsulation.
  1. 12.14 Class Design and Abstract Classes
  2. 16.2 Writing Constructors for Subclasses
D.2.2
Define the term inheritance.
  1. 12.13 Inheritance
  2. 16.1 Inheritance
D.2.3
Define the term polymorphism.
  1. 12.15 Polymorphism
  2. 16.6 Polymorphism
D.2.4
Explain the advantages of encapsulation.
  1. 12.14 Class Design and Abstract Classes
D.2.5
Explain the advantages of inheritance.
  1. 12.13 Inheritance
  2. 16.1 Inheritance
D.2.6
Explain the advantages of polymorphism.
  1. 12.15 Polymorphism
  2. 16.6 Polymorphism
D.2.7
Describe the advantages of libraries of objects.
  1. 8.8 String Methods
  2. 8.10 Using the Math Class
  3. 12.3 Using a Class as a Client
D.2.8
Describe the disadvantages of OOP.
  1. 8.10 Using the Math Class
D.2.9
Discuss the use of programming teams.
D.2.10
Explain the advantages of modularity in program development.
D.3.1
Define the terms: class, identifier, primitive, instance variable, parameter variable, local variable.
  1. 7.2 Variables and Data Types
  2. 8.1 Objects: Instances of Classes
  3. 11.1 Writing Classes
  4. 11.7 Static Variables and Methods
  5. 12.2 Classes vs. Objects
  6. 12.10 Local Variables and Scope
D.3.2
Define the terms: method, accessor, mutator, constructor, signature, return value.
  1. 11.2 Constructors
  2. 11.4 Accessor Methods
  3. 11.5 Mutator Methods
  4. 11.6 Writing Methods
  5. 12.6 Getter and Setter Methods
  6. 12.7 Class Methods and Class Variables
D.3.3
Define the terms: private, protected, public, extends, static.
  1. 11.7 Static Variables and Methods
  2. 16.2 Writing Constructors for Subclasses
  3. 16.3 Overriding Methods
  4. 16.5 Creating References Using Inheritance
D.3.4
Describe the uses of the primitive data types and the reference class string.
  1. 7.2 Variables and Data Types
  2. 8.7 String Objects
D.3.5
Construct code to implement assessment statements D.3.1–D.3.4.
  1. 7.3 Expressions and Assignment Statements
D.3.6
Construct code examples related to selection statements.
  1. 9.2 if Statements and Control Flow
  2. 9.3 if-else Statements
  3. 9.4 else if Statements
D.3.7
Construct code examples related to repetition statements.
  1. 10.1 Iteration
  2. 10.2 For Loops
D.3.8
Construct code examples related to static arrays.
  1. 13.1 Array
  2. 13.4 Developing Algorithms Using Arrays
D.3.9
Discuss the features of modern programming languages that enable internationalization.
  1. 1.1 Introduction to Programming With Karel
D.3.10
Discuss the ethical and moral obligations of programmers.
  1. 14.7 Ethical Issues Around Data Collection
D.4.1
Define the term recursion.
  1. 17.1 Recursion
D.4.2
Describe the application of recursive algorithms.
  1. 17.1 Recursion
  2. 17.2 Recursive Searching
D.4.3
Construct algorithms that use recursion.
  1. 17.1 Recursion
  2. 17.2 Recursive Searching
D.4.4
Trace recursive algorithms.
  1. 17.1 Recursion
D.4.5
Define the term object reference.
  1. 8.2 Creating and Storing Objects (Instantiation)
  2. 12.2 Classes vs. Objects
D.4.6
Construct algorithms that use reference mechanisms.
  1. 8.2 Creating and Storing Objects (Instantiation)
  2. 11.2 Constructors
  3. 12.7 Class Methods and Class Variables
D.4.7
Identify the features of the abstract data type (ADT) list.
D.4.8
Describe applications of lists.
  1. 13.1 Array
  2. 14.1 ArrayList
D.4.9
Construct algorithms using a static implementation of a list.
D.4.10
Construct list algorithms using object references.
  1. 14.4 Developing Algorithms using ArrayLists
D.4.11
Construct algorithms using the standard library collections included in JETS.
D.4.12
Trace algorithms using the implementations described in assessment statements D.4.9–D.4.11.
D.4.13
Explain the advantages of using library collections.
  1. 8.10 Using the Math Class
  2. 12.3 Using a Class as a Client
D.4.14
Outline the features of ADT’s stack, queue and binary tree.
D.4.15
Explain the importance of style and naming conventions in code.
  1. 1.7 Commenting Your Code
  2. 11.3 Documentation with Comments