Skip to content

Sorting Algorithms: SimpleActivities & Teaching Strategies

Students retain sorting algorithms best when they physically move data and see relationships between steps. Hands-on sorting with code and cards makes abstract comparisons concrete, helping students connect iteration counts to runtime behavior. These activities move beyond memorization to build lasting intuition about algorithm efficiency.

Grade 12Computer Science4 activities20 min45 min

Learning Objectives

  1. 1Compare the number of comparisons and swaps required by Bubble Sort, Selection Sort, and Insertion Sort for various input arrays.
  2. 2Explain the precise sequence of operations for Bubble Sort, Selection Sort, and Insertion Sort, tracing execution on a sample dataset.
  3. 3Predict the performance characteristics of each simple sorting algorithm on nearly sorted and reverse-sorted arrays.
  4. 4Implement Bubble Sort, Selection Sort, and Insertion Sort in a chosen programming language.
  5. 5Analyze the time complexity of simple sorting algorithms, identifying them as O(n²) for worst-case scenarios.

Want a complete lesson plan with these objectives? Generate a Mission

30 min·Pairs

Pair Programming: Implement Bubble Sort

Pairs write Bubble Sort code for arrays of 10-20 elements. They add print statements to visualize swaps, run on random and sorted data, then discuss swap counts. Extend by modifying for early termination.

Prepare & details

Compare the efficiency of Bubble Sort, Selection Sort, and Insertion Sort for small datasets.

Facilitation Tip: During Pair Programming: Bubble Sort, circulate and ask pairs to explain why swapping stops early on a nearly sorted array.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
25 min·Small Groups

Small Groups: Card Sort Race

Provide decks of 15 shuffled cards per group. Groups sort using Selection Sort rules: find min, swap to front. Time each round, rotate roles, compare to digital timers for same data.

Prepare & details

Explain the step-by-step process of each simple sorting algorithm.

Facilitation Tip: For Card Sort Race, provide a 10-card deck and a timer; challenge groups to complete the race twice with different initial orders.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
45 min·Whole Class

Whole Class: Efficiency Comparison

Project datasets of increasing sizes. Class votes predictions, runs all three algorithms coded by volunteers, charts runtimes. Discuss which wins for small, random, nearly sorted inputs.

Prepare & details

Predict which simple sorting algorithm would perform best for a nearly sorted array.

Facilitation Tip: In Efficiency Comparison, project a shared spreadsheet so students can log their pass counts and swap totals for direct comparison.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
20 min·Individual

Individual: Trace Insertion Sort

Students trace paper arrays step-by-step for worst, best cases. Code their version, test on 5 inputs, note shifts. Share one insight in class gallery walk.

Prepare & details

Compare the efficiency of Bubble Sort, Selection Sort, and Insertion Sort for small datasets.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills

Teaching This Topic

Teach these algorithms by having students first sort physically with cards before writing code, so they grasp the core logic. Avoid rushing to abstract O(n²) notation; instead, let students discover quadratic behavior through repeated trials. Emphasize that algorithm choice depends on data shape, not just size, to build flexible understanding.

What to Expect

By the end of these activities, students can implement Bubble, Selection, and Insertion Sort correctly, trace their steps on small arrays, and explain why one algorithm might run faster than another on the same data. They will use iteration counts and swap totals to justify their comparisons.

These activities are a starting point. A full mission is the experience.

  • Complete facilitation script with teacher dialogue
  • Printable student materials, ready for class
  • Differentiation strategies for every learner
Generate a Mission

Watch Out for These Misconceptions

Common MisconceptionDuring Pair Programming: Bubble Sort, watch for students who assume Bubble Sort is always the slowest.

What to Teach Instead

Have pairs run Bubble Sort on a sorted array and count the zero swaps, then repeat with Selection and Insertion to see how each behaves on pre-sorted data.

Common MisconceptionDuring Efficiency Comparison, watch for students who claim all O(n²) sorts run identically.

What to Teach Instead

Use the live timer and swap counts to show that Insertion Sort often finishes faster on nearly sorted data, prompting students to revise their claim with evidence.

Common MisconceptionDuring Card Sort Race, watch for students who expect the same number of passes regardless of initial order.

What to Teach Instead

Ask groups to sort the same deck twice, once ascending and once descending, and compare pass counts to reveal how data order shapes performance.

Assessment Ideas

Exit Ticket

After Pair Programming: Bubble Sort, provide an array like [7, 2, 5, 1] and ask students to trace Selection Sort, recording the array after each swap and the total swaps performed.

Quick Check

During Efficiency Comparison, display a nearly sorted array (e.g., [1, 3, 2, 4, 5]) and ask students to predict which algorithm will use the fewest swaps, justifying their choice aloud before coding.

Discussion Prompt

After Card Sort Race, facilitate a class discussion: 'If the array is already sorted, which algorithm will finish in the fewest passes and why? Turn to a neighbor and share your reasoning before we summarize.'

Extensions & Scaffolding

  • Challenge early finishers to implement Bubble Sort with an early-exit flag and measure its effect on passes.
  • Scaffolding for struggling students: provide partially filled trace tables for Insertion Sort to focus on the shift step.
  • Deeper exploration: Ask students to graph iteration counts vs. array size for each algorithm and interpret the quadratic trend.

Key Vocabulary

Bubble SortA simple sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order. It continues passes until the list is sorted.
Selection SortA simple sorting algorithm that divides the input list into two parts: a sorted sublist built from left to right and a sublist of the remaining unsorted elements. It repeatedly finds the minimum element from the unsorted sublist and swaps it with the first unsorted element.
Insertion SortA simple sorting algorithm that builds the final sorted array one item at a time. It iterates through the input array and for each element, it finds the correct position within the already sorted portion and inserts it there.
Time ComplexityA measure of the amount of time an algorithm takes to run as a function of the length of the input. For these simple sorts, it is often O(n²).
In-place sortingA sorting algorithm that sorts a list by modifying it directly, without requiring significant additional memory space beyond a few variables.

Ready to teach Sorting Algorithms: Simple?

Generate a full mission with everything you need

Generate a Mission