Skip to content
Computing · JC 2

Active learning ideas

Binary Search Trees

Active learning works for linked lists because students must physically act out pointer changes to grasp dynamic memory’s fluid nature. Moving from static arrays to linked lists challenges students to reconsider how data and memory interact, making hands-on simulations essential for building intuition.

MOE Syllabus OutcomesMOE H2 Computing (Syllabus 9569), Section 1: Algorithms and Data Structures - 1.2 Data Structures (Trees and Graphs)MOE H2 Computing (Syllabus 9569), Section 1: Algorithms and Data Structures - 1.1 Algorithms (Tree and Graph Traversal)
15–30 minPairs → Whole Class3 activities

Activity 01

Think-Pair-Share30 min · Whole Class

Human Linked List Simulation

Assign each student to be a 'node' holding a piece of data and a card representing the 'pointer' (the name of another student). Students must physically rearrange themselves to perform operations like inserting a new person into the middle of the line or deleting a member while maintaining the chain.

How do Binary Search Trees optimise data retrieval?

Facilitation TipDuring the Human Linked List Simulation, have students physically stand in a circle to represent nodes and hold string to symbolize 'next' pointers.

What to look forPresent students with a common task, such as making a cup of tea. Ask them to write down the steps (algorithm). Then, ask them to identify how they decomposed the task, any patterns they noticed (e.g., heating water is common to many hot drinks), and what details they abstracted away (e.g., the exact temperature of the water).

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 02

Think-Pair-Share15 min · Pairs

Think-Pair-Share: The Memory Trade-off

Provide a scenario involving a real-time transport app tracking SBS buses. Students individually list the pros and cons of using an array versus a linked list for this data, then pair up to reach a consensus on the most memory-efficient approach before sharing with the class.

What are the differences between pre-order, in-order, and post-order traversals?

Facilitation TipFor the Think-Pair-Share, provide a blank table where students record the time and steps required for each memory operation to highlight the trade-offs.

What to look forPose a real-world problem, like planning a school event. Facilitate a class discussion using these prompts: 'How can we decompose this event into smaller parts?' 'What patterns do we see in successful past events?' 'What details can we abstract to focus on the main goals?' 'What would be the core steps in an algorithm to plan this?'

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 03

Think-Pair-Share25 min · Small Groups

Collaborative Debugging: The Broken Chain

Give small groups a snippet of Python or pseudocode for a linked list deletion that contains a logic error, such as a memory leak or a null pointer exception. Groups must trace the code on a whiteboard and present the corrected pointer logic to their peers.

How does an unbalanced tree affect time complexity?

Facilitation TipIn Collaborative Debugging, give teams a printed diagram of a broken linked list and colored pencils to trace and correct the pointers step-by-step.

What to look forProvide students with a short description of a simple problem (e.g., sorting a list of numbers). Ask them to write one sentence explaining how they would decompose it, one sentence identifying a potential pattern, and one sentence describing an abstraction they might use.

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
Generate Complete Lesson

A few notes on teaching this unit

Teach linked lists by starting with physical analogies before introducing code, as research shows tactile engagement improves spatial reasoning for pointer operations. Avoid rushing into implementations; instead, let students grapple with the concept of dynamic connections through peer-led exploration. Emphasize that linked lists teach persistence: memory is reused, not reserved, so encourage students to visualize the heap as a workspace where nodes come and go as needed.

Successful learning looks like students tracing pointer changes with confidence during the Human Linked List Simulation. They should articulate the trade-offs between arrays and linked lists after the Think-Pair-Share discussion and debug broken chains without hesitation in Collaborative Debugging.


Watch Out for These Misconceptions

  • During the Human Linked List Simulation, watch for students who think deleting a node means erasing its data entirely.

    During the Human Linked List Simulation, guide students to reroute the previous node’s string to the next node, emphasizing that the connection, not the data, is what matters. Have peers physically demonstrate this before moving on.

  • During the Think-Pair-Share activity, watch for students who assume linked lists are always faster than arrays because they are dynamic.

    During the Think-Pair-Share, run a timed activity where students race to find a specific item in an array versus a linked list. Have them record the number of steps and time taken to highlight the O(n) search limitation of linked lists.


Methods used in this brief