Skip to content
Computer Science · Grade 11

Active learning ideas

Introduction to Algorithms and Problem Solving

Active learning helps students grasp the speed and memory trade-offs in algorithms because concrete experiences make abstract comparisons visible. When they act out sorting or race through search steps, the difference between O(n) and O(n log n) stops being just theory and becomes something they can feel in their body and timing. This kinesthetic and collaborative approach bridges the gap between mathematical notation and practical software engineering decisions.

Ontario Curriculum ExpectationsCS.HS.A.1CS.HS.A.2
25–40 minPairs → Whole Class3 activities

Activity 01

Simulation Game40 min · Whole Class

Simulation Game: Human Sorting Network

Clear a space in the classroom and have students represent elements in an unsorted list. Assign each student a random number and have them move through a 'sorting network' taped on the floor, comparing values at each node to physically demonstrate bubble sort versus quicksort logic.

Differentiate between an algorithm and a program.

Facilitation TipDuring the Human Sorting Network, stand at the side and time runs to make the linear versus logarithmic difference obvious to the whole class.

What to look forPresent students with a simple task, like sorting three colored blocks (red, blue, green) from left to right. Ask them to write the algorithm to accomplish this task using either pseudocode or a flowchart. Review their work for clarity and correctness of steps.

ApplyAnalyzeEvaluateCreateSocial AwarenessDecision-Making
Generate Complete Lesson

Activity 02

Inquiry Circle25 min · Small Groups

Inquiry Circle: The Great Search Race

Provide small groups with identical sets of 100 sealed envelopes containing numbers. One group uses linear search while another uses binary search (on a pre-sorted set) to find a specific value, recording the number of 'probes' or checks required to find the target.

Analyze how different representations of an algorithm impact its clarity and implementation.

Facilitation TipFor The Great Search Race, assign roles so every student participates in timing and recording results on a shared chart.

What to look forPose the question: 'When might a flowchart be a better way to represent an algorithm than pseudocode, and vice versa?' Facilitate a class discussion where students share examples and justify their reasoning based on the complexity and nature of the problem.

AnalyzeEvaluateCreateSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 03

Formal Debate30 min · Small Groups

Formal Debate: Merge vs. Quick

Assign teams to defend either Mergesort or Quicksort based on specific constraints like memory limits or nearly-sorted data. Students must argue why their assigned algorithm is the superior choice for a given real-world scenario, such as sorting a massive database on a low-power device.

Construct an algorithm to solve a common daily task, justifying each step.

Facilitation TipIn the Merge vs. Quick debate, give teams exactly three minutes to prepare arguments using the same data set so the comparison stays fair.

What to look forAsk students to write down one characteristic of a good algorithm and provide a brief example of a task that would be difficult to create an algorithm for. Collect these to gauge understanding of algorithm properties and limitations.

AnalyzeEvaluateCreateSelf-ManagementDecision-Making
Generate Complete Lesson

A few notes on teaching this unit

Teaching this topic works best when you treat algorithms as tools, not just code. Start with physical models so students feel the difference in steps before they see the math. Avoid rushing to the formula; instead, let students discover the inefficiency of linear search on a large list through their own race results. Research shows that students who build the intuition first retain the complexity trade-offs longer than those who memorize Big O notation without context.

By the end of these activities, students should confidently explain why some algorithms scale better than others and choose appropriate tools for small versus large data sets. They should also be able to sketch or describe a simple algorithm in pseudocode or a flowchart without confusing steps or leaving gaps. Most importantly, they should begin to ask questions about efficiency before they start coding.


Watch Out for These Misconceptions

  • During Human Sorting Network, watch for students assuming faster computers mean sorting will always feel instant even with inefficient networks.

    Pause the activity after each round and ask students to estimate how many more steps the network will need if the list doubles in size. Use their timing data to show that doubling the list quadruples the steps in bubble sort but only adds a few in quicksort.

  • During The Great Search Race, watch for students trying to use binary search on an unsorted list of cards.

    Hand a shuffled deck to a team and ask them to perform their planned binary search. When they fail to find the target, have them sort the deck first and repeat the search to reveal why the initial sort is non-negotiable.


Methods used in this brief