Skip to content
Abstract Data Structures and Algorithms · Semester 1

Algorithm Design Paradigms and Amortised Analysis

Students will understand abstraction as simplifying complex ideas by focusing on essential details and hiding unnecessary ones.

Key Questions

  1. Compare divide-and-conquer, greedy, and dynamic programming paradigms, providing a canonical problem for each and explaining why the other two paradigms fail or are suboptimal for that problem.
  2. Apply amortised analysis (aggregate, accounting, or potential method) to a dynamic array to explain why the amortised cost of append is O(1) despite occasional O(n) resizing operations.
  3. Evaluate whether a greedy algorithm yields an optimal solution for the activity-selection problem and the 0/1 knapsack problem, and explain the structural difference between these two problems that accounts for the different outcomes.

MOE Syllabus Outcomes

MOE: Computational Thinking - Middle School
Level: JC 2
Subject: Computing
Unit: Abstract Data Structures and Algorithms
Period: Semester 1

Ready to teach this topic?

Generate a complete, classroom-ready active learning mission in seconds.

Browse curriculum by country

AmericasUSCAMXCLCOBR
Asia & PacificINSGAU