Why do this problem?
introduces sorting algorithms by encouraging students to explore them using a pack of cards. By performing the algorithms for themselves, we hope students will gain a better understanding of the advantages and limitations of each method.
Each student will need one suit from a pack of cards.
"Shuffle your cards, and then put them in order from Ace to King. Watch how your partner puts their cards in order. Do you both do it the same way? How efficient is your method?"
show students each video
and invite them to make sense of the algorithm and have a go themselves,
hand out this worksheet
for them to make sense of the algorithms on paper.
"For each of the algorithms, perform it a few times to get a feel for it. Then choose two algorithms and compare them. Which is the quickest? Why? Can you put your cards into a worst-case scenario for each of the algorithms, to make it take as long as possible?"
Give students time to explore these, together with the questions from the problem which are on the worksheet:
- On average, which algorithm did you find to be quickest?
- What is the 'worst-case scenario' for each algorithm?
- How long would it take in the worst case?
- Which would you choose if you had to keep the cards in a pile rather than laying them out
- Which would you choose if you only had a limited amount of desk space to arrange the cards on?
Then bring the class together to discuss their findings.
Invite students to use pseudocode
, or a programming language if they know one, to express the algorithms.
Introduce the algorithms one at a time, and then make pairwise comparisons between them.