Skip to content
Coding · 3rd Year

Active learning ideas

Designing Algorithms for Social Good

Once a problem is identified, the next step is designing the logic to solve it. This topic focuses on creating algorithms and flowcharts that are efficient, fair, and effective. Students learn to visualize the 'flow' of their solution before touching a keyboard, which is a core requirement of NCCA Learning Outcomes 2.3 and 2.4.

NCCA Curriculum SpecificationsNCCA Coding Short Course LO 2.3NCCA Coding Short Course LO 2.4
25–35 minPairs → Whole Class3 activities

Activity 01

Simulation Game35 min · Whole Class

Simulation Game: Human Flowcharts

Students act as different parts of an algorithm (e.g., an 'if' statement or a 'loop'). They stand on floor markers and move based on inputs provided by the teacher to see if the logic reaches the intended social outcome.

How do we design an algorithm to address a specific social need?
ApplyAnalyzeEvaluateCreateSocial AwarenessDecision-Making
Generate Complete Lesson

Activity 02

Inquiry Circle30 min · Small Groups

Inquiry Circle: The Fairness Audit

Groups swap their flowcharts for a community app. They must try to find a 'path' through the logic that would result in an unfair outcome for a specific user, then suggest a fix to the original designers.

What makes an algorithm fair and unbiased?
AnalyzeEvaluateCreateSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 03

Peer Teaching25 min · Pairs

Peer Teaching: Flowchart Logic

One student explains their algorithm's logic using only a flowchart, while their partner tries to 'run' the logic on paper. If the partner gets stuck, the designer must refine the flowchart for better clarity.

How can flowcharts help us visualize social processes?
UnderstandApplyAnalyzeCreateSelf-ManagementRelationship Skills
Generate Complete Lesson

A few notes on teaching this unit


Watch Out for These Misconceptions

  • Flowcharts are just an extra step and aren't really necessary for coding.

    Use a complex logic puzzle to show how easy it is to get lost without a visual map. Students who use flowcharts first usually spend significantly less time debugging their actual code later.

  • An algorithm is only 'good' if it is the shortest possible path.

    In social projects, the 'shortest' path might be unfair or inaccessible. Encourage students to discuss 'trade-offs' between speed and inclusivity during their design phase.


Methods used in this brief