The lesson focuses on introducing the fundamental problem of “sorting an array” to pre-university students.
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:
- Sorting, and its building blocks
- Algorithm Complexity
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.