A1 Computer fundamentals
A2 Networks
A3 Databases
A4 Machine learning
B1 Computational thinking
B2 Programming
B3 Object-oriented programming
B3.1 Fundamentals of OOP for a single class
B3.2 Fundamentals of OOP for multiple classes (HL only)
B4 Abstract data types (HL only)
B3.2.1 Applying the Concept of Inheritance in OOP to Promote Code Reusability (HL only)
B3.2.2 Constructing Code to Model Polymorphism and Its Various Forms, Such as Method Overriding (HL only)
B3.2.3 Explaining the Concept of Abstraction in OOP (HL only)
B3.2.4 Explaining the Role of Composition and Aggregation in Class Relationships (HL only)
B3.2.5 Explaining Commonly Used Design Patterns in OOP (HL only)