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.

LO2 — Computational thinking patterns

Recognise and apply the core computational-thinking moves: decomposition, pattern recognition, abstraction, and algorithm design.

LO3 — Pseudocode and flowcharts

Express an algorithm precisely in structured pseudocode and as a flowchart, including loops, conditionals, and data flow.

LO4 — Python-oriented reasoning

Read, predict, and write short Python programs using variables, control flow, functions, lists, strings, dictionaries, and sets.

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.

LO6 — Testing mindset

Design test cases including normal, boundary, and adversarial inputs; explain what each test is for.

LO7 — Algorithm analysis

Reason about correctness and efficiency; compare algorithms using growth-rate categories (constant, logarithmic, linear, linearithmic, quadratic, exponential) without heavy formalism.

LO8 — Mathematical problem solving

Model problems with arithmetic, number theory basics, counting, probability, and discrete reasoning; justify answers mathematically.

LO9 — Data-oriented reasoning

Clean, summarise, and interpret small datasets; reason about averages, spread, correlation caution, and misleading presentations.

LO10 — Advanced problem-solving strategies

Select and combine strategies — greedy reasoning, dynamic programming, invariants, simulation, heuristics — and articulate trade-offs under time pressure.

Coverage matrix

OutcomeLectures (mandatory)QuizzesLabsAssignmentsProject
LO101, 02, 03, 09, 14, 31Q1L5A1, A6✔
LO201–04, 11, 19Q1, Q2L6——
LO302, 03 (+all blocks)Q2L1, L6A1, A6—
LO404–08, 10, 11, 13, 14, 20, 27, 28Q2, Q3, Q4L1, L2, L5, L9A2, A4✔
LO506, 07, 12, 16Q3L2, L6, L7A2—
LO607, 08, 12Q3L7, L8A2, A6✔
LO717–22, 24Q5, Q6L10, L11, L12A3, A5✔
LO805, 15, 16, 25, 26, 29, 30Q4, Q7L5, L10A3, A4—
LO925–28, 31Q7L3, L9A4✔
LO1018–24, 31, 32Q6, Q8L4, L11, L12A5, A6✔

Enrichment-only coverage appears in activities and expert-tagged case extensions and is never required for a passing grade.