The four-stage framework you'll apply to every programming problem for the rest of the syllabus. It's iterative — you'll often cycle back through earlier stages as your understanding improves.
| Stage | What you do |
|---|---|
| Decomposition | Understand the problem, restate it in your own words, and break it into smaller parts using the IPO model (Input, Processing, Output) and methods |
| Pattern recognition | Identify similarities to problems you've solved before — similar variable types, similar calculations, similar output. Identify repetition that suggests a loop or a reusable method |
| Abstraction | Ignore irrelevant details; keep only what matters to solving this specific problem. Choose appropriate data types/structures. Treat each solved part (like each IPO stage) as a single conceptual unit you don't need to re-examine once it works |
| Algorithm | Combine the abstracted parts into a full solution, represented in pseudocode/flowcharts, then coded and tested |
A fifth, wrapping step — Evaluate — asks you to analyse your finished solution for errors, inefficiencies, and possible improvements.
💡 Exam Tip
Exam questions on this subtopic often give you a described problem and ask you to identify which stage a particular action belongs to — e.g. 'noticing that calculating a bonus is similar to calculating a discount' is pattern recognition, not abstraction.