B2.4 · Higher Level

Programming algorithms

Design, trace and compare searching and sorting algorithms, then develop HL recursion.

DP1 · September–October 2026

Class plan for 22–23 September: review binary search, then work through bubble sort and selection sort. Handout Problems 1 and 2 are complete.

Lessons

Browse the lesson library →

Open Python playground →

Open a lesson for the class activities, student handout and linked homework.

Lesson 1 · Covered

Linear search

Find the first matching value by checking items in order. Revisit the lesson and practise the stopping condition.

Open lesson →

Textbook alignment & review

Explore the B2.4 animations →

Find textbook pages, review questions and learning goals for B2.4.1–5, including HL recursion.

Open the coverage map & review →

Learning goals

  • Implement linear and binary search and explain their prerequisites.
  • Trace bubble and selection sort; explore insertion sort as an extension.
  • Compare growth in time and auxiliary space; test boundary cases.
  • Explain recursion and its applications; construct and trace simple non-branching recursive functions (HL).

In practice

  1. Trace a successful and unsuccessful binary search using low, mid and high.
  2. Implement search without using Python’s built-in membership or index operations.
  3. Compare sorts on identical input; explain why an algorithm suits the problem.

Show understanding

A trace table, working Python implementation, test results and an individual explanation.

Predict first. Implement second. Test deliberately. Explain what the evidence shows.

Handouts

All student handouts →

In the weekly plan