Skip to content
Computer Science · Grade 10

Active learning ideas

Problem Decomposition Strategies

Active learning works for problem decomposition because students need to physically and mentally practice breaking down problems, which mirrors how they will approach coding challenges later. Moving beyond worksheets to role play and debates helps students internalize the difference between one-time checks and loops, making abstract concepts tangible.

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

Activity 01

Role Play20 min · Pairs

Role Play: The Human Sensor

One student acts as a 'sensor' and another as the 'program'. The program must give the sensor instructions using only 'if' and 'while' statements to navigate an obstacle course in the classroom.

Analyze a complex problem to identify its constituent parts.

Facilitation TipDuring the Human Sensor role play, physically move students around the room to model how control structures direct flow, so they visualize the difference between one-time and repeating actions.

What to look forPresent students with a scenario, such as 'planning a school event'. Ask them to list three distinct sub-problems that need to be solved. Then, ask them to identify which decomposition strategy (top-down or bottom-up) they primarily used for this initial breakdown.

ApplyAnalyzeEvaluateSocial AwarenessSelf-Awareness
Generate Complete Lesson

Activity 02

Formal Debate25 min · Whole Class

Formal Debate: For vs. While

Divide the class into two sides to argue which loop structure is superior for specific scenarios, such as reading a file of unknown length versus iterating through a known list of Ontario cities.

Design a decomposition strategy for a given real-world scenario.

Facilitation TipIn the Structured Debate, assign roles specifically as 'For Loop Advocate' and 'While Loop Advocate' to force students to defend their control structure choices with concrete examples.

What to look forPose the question: 'Imagine you need to build a robot that can sort recyclables. Discuss with a partner two different ways you could decompose this problem. What are the advantages of each approach?' Guide the discussion to compare top-down and bottom-up strategies.

AnalyzeEvaluateCreateSelf-ManagementDecision-Making
Generate Complete Lesson

Activity 03

Stations Rotation40 min · Small Groups

Stations Rotation: Logic Puzzles

Set up stations with broken code snippets. At each station, small groups must identify the logical error in the control structure and rewrite it to function correctly.

Evaluate the effectiveness of different decomposition approaches.

Facilitation TipFor the Logic Puzzles station, provide dry-erase boards at each station so students can sketch flowcharts to correct their mistakes immediately.

What to look forProvide students with a complex task, like 'designing a system to manage library book checkouts'. Ask them to write down one major component and two smaller sub-problems within that component. Finally, ask them to state one reason why decomposing this problem is beneficial.

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
Generate Complete Lesson

A few notes on teaching this unit

Teach control structures by starting with human actions first, then translating those actions into code, because students learn best when they connect physical movement to logic. Avoid rushing to syntax; instead, emphasize the purpose of each structure through real-world analogies and peer discussion. Research shows that students grasp loops faster when they experience the frustration of an infinite loop themselves before debugging it.

Successful learning looks like students confidently explaining when to use 'if-then-else' versus loops, and recognizing how decomposition breaks complex tasks into manageable parts. You will see students using diagrams, debates, and peer feedback to refine their problem-solving strategies in real time.


Watch Out for These Misconceptions

  • During Role Play: The Human Sensor, watch for students who treat the 'while' loop as a single check instead of a repeating action.

    Use the physical movement to highlight the loop: have students repeat their action until a condition is met, then physically walk back to the starting point to show the 'loop back' arrow in flowcharts.

  • During Structured Debate: For vs. While, watch for students who claim infinite loops always crash immediately without visual output.

    Have students intentionally create an infinite loop with a print statement inside, then observe how the program becomes unresponsive but doesn’t crash the computer right away.


Methods used in this brief