Curriculum map
Standards coverage
This table distinguishes content taught through the practical programming companion from standards taught separately through tracing, physical modelling, visualisation or later HL work.
Language selection: Java and Python cover the same standard-level intent, while the pages change syntax, libraries, scaffolds and language-specific explanations.
| IB standard | Focus | Explained here | Challenge evidence | Notes |
|---|---|---|---|---|
| B1.1.1 | Construct a problem specification | Embedded | Partial | Challenge tasks provide specifications; student-authored specifications will be strengthened later. |
| B1.1.2–B1.1.3 | Computational-thinking concepts and application | Embedded | Partial | Used through decomposition, pattern recognition and modular design. |
| B1.1.4 | Trace flowcharts | Separate | No | Taught separately through tracing activities. |
| B2.1.1 | Variables, scope and data types | Yes | Yes | Variables, input, arithmetic and functions pages. |
| B2.1.2 | Substring extraction and manipulation | Yes | Yes | String manipulation page. |
| B2.1.3 | Exception-handling techniques | Yes | Yes | Debugging and exceptions page. |
| B2.1.4 | Debugging techniques | Yes | Yes | Trace, breakpoint, print and step-execution evidence. |
| B2.2.1 | Static and dynamic data structures | Yes | Yes | Fixed-capacity and dynamic collection behaviour compared in the selected language. |
| B2.2.2 | Arrays and lists | Yes | Yes | 1D, 2D and dynamic collection examples. |
| B2.2.3 | Stacks and LIFO | Yes | Yes | Operations, traces, qualitative impact, safety and suitability. |
| B2.2.4 | Queues and FIFO | Yes | Yes | Operations, traces, qualitative impact, safety and suitability. |
| B2.3.1 | Sequence of instructions | Yes | Yes | Sequence and output page. |
| B2.3.2 | Selection structures | Yes | Yes | Selection page. |
| B2.3.3 | Looping structures | Yes | Yes | Counted and conditional loop pages. |
| B2.3.4 | Functions and modularisation | Yes | Yes | Parameters, returns, scope and reusable blocks. |
| B2.4.1 | Big O notation | Separate | No | Taught separately with cards, traces and visual models. |
| B2.4.2 | Linear and binary search | Separate | No | Dedicated algorithm lesson rather than a project challenge. |
| B2.4.3 | Bubble and selection sort | Separate | No | Dedicated algorithm lesson rather than a project challenge. |
| B2.4.4–B2.4.5 | Recursion (HL) | Future | No | Not present in the old programming companion. |
| B2.5.1 | File-processing operations | Yes | Yes | Read, write, append and reliable closure. |
| B3.1.1 | Evaluate OOP fundamentals | Yes | Yes | Balanced scenario judgement rather than universal advocacy. |
| B3.1.2 | Design classes, methods and behaviour | Yes | Yes | Requirement-led UML and matching class designs. |
| B3.1.3 | Class-owned and instance-owned members | Yes | Yes | Ownership, scope and suitability are implemented with the selected language model. |
| B3.1.4 | Define classes and instantiate objects | Yes | Yes | Initialisation, objects, receivers and independent instance state. |
| B3.1.5 | Encapsulation and information hiding | Yes | Yes | Controlled state, deliberate interfaces and valid-state protection; Python differences are explicit. |
| B3.2.1 | Inheritance and code reusability (HL) | Yes | Yes | Parent–child hierarchies, parent initialisation, access impact and is-a judgement. |
| B3.2.2–B3.2.5 | Remaining multiple-class OOP (HL) | Future | No | Polymorphism, abstraction, composition, aggregation and design patterns. |
| B4.1.1–B4.1.6 | Abstract data types (HL) | Separate | No | Outside the current practical companion; taught as a later HL extension. |
Boundary: Big O, searching and sorting remain visible in the standards map but are intentionally not turned into ordinary project challenges. B3.2.1 inheritance is available; B3.2.2–B3.2.5 remain later work.