1. System fundamentals
2. Computer organization
3. Networks
4. Computational thinking, problem-solving and programming
5. Abstract data structures (HL)
6. Resource management (HL)
7. Control (HL)
A. Databases
B. Modelling and simulation
C. Web science
Object-oriented programming (OOP)
D.1 Objects as a programming concept
D.2 Features of OOP
D.3 Program development
D.4 Advanced program development
D.4.1 Understanding Recursion
D.4.2 Tracing Recursive Algorithms
D.4.3 Object References
D.4.4 Abstract Data Type (ADT) List
D.4.5 Applications of Lists
D.4.6 Static List Implementations
D.4.7 Linked List Algorithms with Object References
D.4.8 Standard Library Collections
D.4.9 Tracing List Implementations
D.4.10 ADT Stack, Queue, and Binary Tree Features
D.4.11 Importance of Style and Naming Conventions