Lesson Focus

The lesson focuses on introducing the fundamental problem of “sorting an array” to pre-university students.


Full Lesson Plan
Student Worksheets

Age Levels:

10 – 16


  • Observe how there can be multiple ways of sorting numbers, and how some ways are more efficient than others.
  • Observe how an algorithm is a “procedure” and should not be dependent on the input.
  • Learn that an algorithm must be very explicit in its instructions.

Anticipated Learner Outcomes

After this lesson, students should have a basic understanding of:

  • Iteration
  • Sorting, and its building blocks
  • Algorithm Complexity

Lesson Activities

Eight objects, each with a hidden number, will form a list that needs to be sorted in ascending order. The numbers will only be visible to one person called the “controller”. Everyone else will then give commands to the controller, and attempt to sort the list. However, the controller can only be asked certain specific questions, like comparing two objects by their numerical value, and may only obey certain instructions, like moving an object to a new position or swapping two objects.


  • Teacher Resource Documents
  • Student Worksheets
  • Student Resource Sheets

Alignment to Curriculum Frameworks

Curriculum alignment sheet is included in PDF.