CodeIEB
Theory Notes/🗄️ Topic 4: Data & Information Management, Solution Development/10.4.1
10.4.1Grade 10

Computational Thinking: Problem Solving

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.

StageWhat you do
DecompositionUnderstand the problem, restate it in your own words, and break it into smaller parts using the IPO model (Input, Processing, Output) and methods
Pattern recognitionIdentify similarities to problems you've solved before — similar variable types, similar calculations, similar output. Identify repetition that suggests a loop or a reusable method
AbstractionIgnore 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
AlgorithmCombine 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.

Code efficiency
No unnecessary duplication of code — e.g. reusing a method instead of copy-pasting the same logic multiple times.
Execution efficiency
No unnecessary processing — e.g. a loop that stops as soon as it finds what it's looking for, instead of always checking every remaining item.

💡 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.