1. System fundamentals
2. Computer organization
3. Networks
4. Computational thinking, problem-solving and programming
4.1 General principles
4.2 Connecting computational thinking and program design
4.3 Introduction to 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)
4.1.1 Procedures and Sub-Procedures
4.1.2 Decision-Making Situations
4.1.3 Inputs and Outputs in a Solution
4.1.4 Pre-Planning in Problem Solutions
4.1.5 Pre- and Post-Conditions
4.1.6 Exceptions in Problem Solutions
4.1.7 Understanding Concurrency
4.1.8 Abstraction