Sort Algorithms

Sorting data is a core computing topic, useful not only as a way to understand sort algorithms themselves but to explore how there can be many algorithms to solve the same problem, each with different properties. It also provides a way to explore powerful problem solving strategies like divide and conquer.

Below are some practical and powerful activities away from computers to teach basic sort algorithms using unplugged methods. Students act as an array of values to be sorted, with others as loop variables. Together you gradually work out a sort algorithm, Bubblesort, that works by doing lots of passes over the array. The students also work out how to improve the algorithm, and explore how much faster the improved version is. You develop the code as the algorithm is developed.

A further activity shows how this can be improved upon even more using divide and conquer techniques, again that are acted out, in a way that shows both how divide and conquer works but also why it is so much faster. Finally you demonstrate an almost magical algorithm that sorts a pile of cards in just a few steps.

Topics Covered

  • Sort Algorithms: Bubblesort, Mergesort, Quicksort and Radix Sorting
  • Simple, memorable ways to teach sort algorithms.
  • Efficiency of algorithms
  • Why divide and conquer problem solving is so powerful
  • A practical, physical use of binary

Activities are suitable for all age groups and can be adapted to fit your teaching needs.

Activities
There are a series of separate activities linked to Sorting…