Skip to content
Computer Science · 10th Grade

Active learning ideas

Introduction to Algorithm Analysis

Algorithm analysis can feel abstract until students experience it through movement and comparison. Active learning turns the abstract idea of ‘how many steps’ into something they can see, count, and feel, which builds lasting understanding of efficiency. Stepping away from screens for a moment lets students internalize why some solutions scale and others don’t, making the concept stick before formal notation arrives.

Common Core State StandardsCSTA: 3A-AP-15
20–45 minPairs → Whole Class4 activities

Activity 01

Think-Pair-Share25 min · Pairs

Think-Pair-Share: Race the Algorithm

Students each receive a list of 20 numbers and a task (find the largest). Individually, they count the steps their approach takes, then pair up and compare counts. Pairs share with the class to surface that different correct algorithms can have very different step counts for the same problem.

Evaluate the importance of efficiency in algorithm design.

Facilitation TipDuring the Race the Algorithm activity, assign each pair a role: one person reads the algorithm aloud while the other physically steps through the operations with cards or counters, ensuring both partners see every operation.

What to look forProvide students with two simple algorithms (e.g., finding the maximum in a list vs. finding a specific value). Ask them to write down the step count for each algorithm for an input size of n=5 and n=10. Then, ask which algorithm appears more efficient and why.

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 02

Gallery Walk45 min · Small Groups

Gallery Walk: Algorithm Efficiency Posters

Groups of 3-4 each receive a different simple algorithm (summing a list, finding a minimum, checking for duplicates). They create a poster showing step counts for inputs of size 5, 10, and 20, then draw a graph. The gallery walk reveals how growth patterns differ across algorithms and invites cross-group comparisons.

Compare the performance of two simple algorithms using step counting.

Facilitation TipFor the Gallery Walk, place a timer at each poster so students practice staying focused on efficiency rather than aesthetics when giving feedback.

What to look forPose the question: 'Imagine you are designing a system to recommend movies to millions of users. Why is algorithm efficiency critical for this application? What might happen if your recommendation algorithm is too slow?'

UnderstandApplyAnalyzeCreateRelationship SkillsSocial Awareness
Generate Complete Lesson

Activity 03

Socratic Seminar30 min · Whole Class

Socratic Seminar: When Does Efficiency Matter?

Present three scenarios: searching 10 contacts on a phone, searching 2 billion records in a database, running a sorting routine once vs. 10,000 times per day. Students discuss when it is worth optimizing and when 'good enough' is fine, building the engineering judgment that formal analysis later supports.

Justify why some algorithms are preferred over others for specific tasks.

Facilitation TipIn the Socratic Seminar, wait exactly three seconds after asking a question before calling on someone to give quieter students time to prepare their thoughts.

What to look forGive students a short pseudocode snippet for a simple loop. Ask them to: 1. Identify the main operation being counted. 2. Write the step count for this algorithm in terms of 'n'. 3. Explain in one sentence why this count matters.

AnalyzeEvaluateCreateSocial AwarenessRelationship Skills
Generate Complete Lesson

Activity 04

Role Play20 min · Whole Class

Role Play: Be the Algorithm

Assign students roles as data items and have two student-volunteers act as different algorithms, physically processing the data. The class counts steps in real time for both approaches and records the difference. Makes abstract step-counting concrete and memorable before students encounter formal notation.

Evaluate the importance of efficiency in algorithm design.

Facilitation TipDuring the Role Play activity, have students periodically pause to count their total steps out loud so the group can track cumulative operations.

What to look forProvide students with two simple algorithms (e.g., finding the maximum in a list vs. finding a specific value). Ask them to write down the step count for each algorithm for an input size of n=5 and n=10. Then, ask which algorithm appears more efficient and why.

ApplyAnalyzeEvaluateSocial AwarenessSelf-Awareness
Generate Complete Lesson

A few notes on teaching this unit

Teachers should start with concrete, relatable examples before moving to notation. Use everyday tasks like searching for a book in a library or sorting socks to introduce the idea of counting steps. Avoid rushing to Big-O notation; let students discover the need for it through frustration with inefficient methods first. Research shows that when students physically simulate algorithms, they retain the concepts longer than when they only analyze pseudocode on paper.

By the end of these activities, students will confidently distinguish between algorithmic efficiency and runtime speed. They will use step counting to compare solutions, explain why efficiency matters in real systems, and justify choices based on evidence from their own comparisons. Successful learning shows up as clear explanations, accurate step tallies, and thoughtful discussions about trade-offs.


Watch Out for These Misconceptions

  • During the Role Play activity, watch for students who assume that a faster computer will save an inefficient algorithm.

    Pause the role play when students reach large input sizes and ask them to recount their steps out loud while physically slowing down their movements to show how hardware speed doesn’t change the step count.

  • During the Race the Algorithm activity, watch for students who confuse step count with actual runtime.

    Have students run both algorithms on the same device and record both the step count and the actual runtime, then compare the two sets of numbers to highlight the difference between hardware-dependent and hardware-independent measures.


Methods used in this brief