Learning Outcomes
The course has ten learning outcomes. Each outcome lists the lectures that teach it and the assessments that measure it. "M" marks mandatory coverage; "(E)" marks enrichment-only coverage.
LO1 — Problem decomposition
Break a problem into sub-problems and describe the sub-problem structure (input → steps → output) before writing any code.
- Taught: Lectures 01, 02, 03, 09 (M); Lectures 14, 31 (M, applied)
- Assessed: Quiz 1, Assignment 1, Term Project
LO2 — Computational thinking patterns
Recognise and apply the core computational-thinking moves: decomposition, pattern recognition, abstraction, and algorithm design.
- Taught: Lectures 01–04 (M); Lectures 11, 19 (M, applied)
- Assessed: Quiz 1, Quiz 2, Think-Pair-Debug
LO3 — Pseudocode and flowcharts
Express an algorithm precisely in structured pseudocode and as a flowchart, including loops, conditionals, and data flow.
- Taught: Lectures 02, 03 (M); reinforced in every block (M)
- Assessed: Quiz 2, Assignment 1, Lab 1
LO4 — Python-oriented reasoning
Read, predict, and write short Python programs using variables, control flow, functions, lists, strings, dictionaries, and sets.
- Taught: Lectures 04–08, 10, 11, 13, 14 (M); Lectures 20, 27, 28 (M, applied)
- Assessed: Quizzes 2–4, Assignment 2, Labs 1–2
LO5 — Tracing and debugging
Trace program state by hand, localise a defect from symptoms, form and test a hypothesis, and fix off-by-one, type, and logic errors.
- Taught: Lectures 06, 07, 12 (M); Lecture 16 (M, consolidation)
- Assessed: Quiz 3, Lab 2, Assignment 2
LO6 — Testing mindset
Design test cases including normal, boundary, and adversarial inputs; explain what each test is for.
- Taught: Lectures 07, 08 (M); Lecture 12 (M, applied)
- Assessed: Quiz 3, Assignment 2, Case Relay
LO7 — Algorithm analysis
Reason about correctness and efficiency; compare algorithms using growth-rate categories (constant, logarithmic, linear, linearithmic, quadratic, exponential) without heavy formalism.
- Taught: Lectures 17–22 (M); Lecture 24 (M, applied)
- Assessed: Quiz 5, Quiz 6, Assignment 3
LO8 — Mathematical problem solving
Model problems with arithmetic, number theory basics, counting, probability, and discrete reasoning; justify answers mathematically.
- Taught: Lectures 05, 15, 16, 25, 26, 29, 30 (M)
- Assessed: Quiz 4, Quiz 7, Assignment 3
LO9 — Data-oriented reasoning
Clean, summarise, and interpret small datasets; reason about averages, spread, correlation caution, and misleading presentations.
- Taught: Lectures 25–28 (M); Lecture 31 (M, applied)
- Assessed: Quiz 7, Lab 3, Term Project
LO10 — Advanced problem-solving strategies
Select and combine strategies — greedy reasoning, dynamic programming, invariants, simulation, heuristics — and articulate trade-offs under time pressure.
- Taught: Lectures 19–24, 31, 32 (M); Lecture 18 (M, foundation)
- Assessed: Quiz 6, Quiz 8, Term Project, Complexity Duel
Coverage matrix
| Outcome | Lectures (mandatory) | Quizzes | Labs | Assignments | Project |
|---|---|---|---|---|---|
| LO1 | 01, 02, 03, 09, 14, 31 | Q1 | L5 | A1, A6 | ✔ |
| LO2 | 01–04, 11, 19 | Q1, Q2 | L6 | — | — |
| LO3 | 02, 03 (+all blocks) | Q2 | L1, L6 | A1, A6 | — |
| LO4 | 04–08, 10, 11, 13, 14, 20, 27, 28 | Q2, Q3, Q4 | L1, L2, L5, L9 | A2, A4 | ✔ |
| LO5 | 06, 07, 12, 16 | Q3 | L2, L6, L7 | A2 | — |
| LO6 | 07, 08, 12 | Q3 | L7, L8 | A2, A6 | ✔ |
| LO7 | 17–22, 24 | Q5, Q6 | L10, L11, L12 | A3, A5 | ✔ |
| LO8 | 05, 15, 16, 25, 26, 29, 30 | Q4, Q7 | L5, L10 | A3, A4 | — |
| LO9 | 25–28, 31 | Q7 | L3, L9 | A4 | ✔ |
| LO10 | 18–24, 31, 32 | Q6, Q8 | L4, L11, L12 | A5, A6 | ✔ |
Enrichment-only coverage appears in activities and expert-tagged case extensions and is never required for a passing grade.