Skip to content
Computer Science · Grade 11

Active learning ideas

Computational Thinking: Decomposition and Abstraction

Recursive thinking challenges students to see problems as nested layers rather than linear steps, which requires active engagement to internalize. By physically or collaboratively simulating recursion, students move beyond abstract definitions to concrete understanding through kinesthetic and social learning.

Ontario Curriculum ExpectationsCS.HS.A.1CS.HS.A.2
30–45 minPairs → Whole Class3 activities

Activity 01

Placemat Activity45 min · Small Groups

Placemat Activity: Decomposing a Recipe

Students select a complex recipe and break it down into individual steps, identifying ingredients and sub-tasks. They then discuss how to abstract common steps, like 'preheating the oven,' to apply to multiple recipes.

Explain how decomposition simplifies complex problems into manageable parts.

Facilitation TipAt each station in the Iteration vs. Recursion rotation, ask students to record one key difference they observe between the two approaches before moving to the next station.

UnderstandAnalyzeEvaluateSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 02

Placemat Activity30 min · Pairs

Placemat Activity: Abstracting Everyday Objects

In pairs, students choose an everyday object (e.g., a bicycle, a smartphone) and identify its essential functions, ignoring specific design details. They then create a generalized description of the object's purpose.

Analyze the role of abstraction in creating generalizable solutions.
UnderstandAnalyzeEvaluateSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 03

Placemat Activity40 min · Whole Class

Placemat Activity: Algorithmic Storytelling

Students collaboratively decompose a simple narrative into a sequence of actions. They then abstract these actions to create a generic plot structure that could be applied to different stories.

Design a solution to a multi-step problem by applying decomposition and abstraction.
UnderstandAnalyzeEvaluateSelf-AwarenessRelationship Skills
Generate Complete Lesson

A few notes on teaching this unit

Teach recursion by starting with familiar, concrete examples like counting down from a number or drawing nested shapes. Avoid abstract definitions until students have experienced the mechanics through guided practice. Research shows that students grasp recursion best when they first see it in action, then gradually generalize the pattern. Warn students that the initial confusion is normal and part of the learning process.

Students will demonstrate the ability to identify recursive patterns in problems, articulate the role of base cases, and explain how recursive steps build toward a solution. They will also compare recursive and iterative approaches by analyzing trade-offs in efficiency and clarity.


Watch Out for These Misconceptions

  • During the Station Rotation: Iteration vs. Recursion, watch for students who claim recursion is always less efficient because it uses more memory.

    Use the live code examples at Station 2 to show how recursion can simplify code for certain problems, even if it uses slightly more memory. Ask students to identify problems where recursion’s clarity outweighs its overhead.

  • During the Think-Pair-Share: Recursive Art Analysis, watch for students who assume the base case is only the final step of the recursion.

    During the pair discussion, guide students to identify where the base case appears in the middle of their recursive analysis, such as the smallest triangle in a Sierpinski triangle pattern.


Methods used in this brief