Skip to content
Technologies · Year 9

Active learning ideas

Introduction to Computational Thinking

Active learning works here because decomposition and modular design are skills best developed through doing. Students need to physically break down problems, see the value of reusable parts, and experience the frustration of tangled code to truly understand modularity.

ACARA Content DescriptionsAC9DT10P02
20–60 minPairs → Whole Class3 activities

Activity 01

Inquiry Circle45 min · Small Groups

Inquiry Circle: The Recipe Swap

In small groups, students take a complex task like 'making a three-course meal' and decompose it into individual steps. They identify which steps are repeated (like 'boiling water' or 'chopping') and write these as 'functions' on index cards to be shared with other groups. This helps them see how modular components can be reused across different main programs.

Analyze how computational thinking principles apply to everyday problem-solving.

Facilitation TipDuring Collaborative Investigation: The Recipe Swap, circulate to ensure groups are assigning discrete steps to functions rather than leaving them as sequential blocks in the main list.

What to look forPresent students with a real-world scenario, such as planning a school event. Ask them to list three ways they could decompose the problem and identify one potential pattern they might recognize in the tasks involved.

AnalyzeEvaluateCreateSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 02

Think-Pair-Share20 min · Pairs

Think-Pair-Share: Library vs. Custom

Students are given a scenario, such as building a weather app, and must decide whether to write a custom sorting algorithm or use a pre-existing library. They discuss the trade-offs in pairs, focusing on time, reliability, and learning value, before sharing their reasoning with the class.

Differentiate between decomposition and abstraction in problem-solving contexts.

Facilitation TipDuring Think-Pair-Share: Library vs. Custom, prompt students to contrast built-in functions with their own by asking them to explain which parts of a program feel more like a 'toolkit' and why.

What to look forFacilitate a class discussion using the prompt: 'Imagine you are designing an app to help people learn a new language. How would you use abstraction to simplify the learning process for the user, and what are the benefits of this approach?'

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 03

Stations Rotation60 min · Small Groups

Stations Rotation: Module Debugging

Set up stations with broken code modules that perform specific tasks like calculating GST or validating an email. Students rotate through stations to fix the individual module without seeing the rest of the program, reinforcing the idea that a well-designed module should work independently.

Explain how pattern recognition aids in developing efficient algorithms.

Facilitation TipDuring Station Rotation: Module Debugging, provide a checklist at each station that reminds students to first identify the function’s purpose before fixing its logic.

What to look forProvide students with a simple algorithm (e.g., making a sandwich). Ask them to rewrite it using modular steps (e.g., 'gather ingredients', 'assemble sandwich', 'wrap sandwich') and briefly explain how this modular approach improves clarity.

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
Generate Complete Lesson

A few notes on teaching this unit

Teach this topic by modeling the process yourself in front of students. Start by solving a problem aloud while breaking it into steps, then refactor your code into functions without student input. This ‘think-aloud’ helps students see the decision-making behind decomposition. Avoid assigning large problems too early; scaffold with smaller, relatable tasks first. Research shows that students grasp modularity faster when they experience the pain of unorganized code before seeing the benefits of structured design.

Students will demonstrate the ability to decompose a problem, recognize patterns across tasks, and use functions to create organized, readable code. They will also explain why modular design improves collaboration and maintenance.


Watch Out for These Misconceptions

  • During Collaborative Investigation: The Recipe Swap, watch for students who create functions only for repeated steps or who name functions vaguely like 'step1' or 'thing'.

    Use the group debrief to highlight a function named 'measureIngredients' versus 'step1'—ask students which name makes the program’s purpose clear at a glance. Have groups revise their functions to use descriptive names that explain the task's role in the whole recipe.

  • During Think-Pair-Share: Library vs. Custom, watch for students who assume custom functions are only for advanced programmers.

    Ask students to compare the ease of using a built-in function like 'print()' with their own 'greetUser()'. Guide them to see that custom functions are tools they can create to tame complexity, just like library functions do.


Methods used in this brief