Problem Solving and Design
Algorithm Design and Problem Solving · 4 question types
Exam Frequency Analysis
Past paper frequency (2018 to 2024)
This topic accounts for approximately 6% of your exam marks.
Decomposition, abstraction and structure charts appear as design-focused questions.
Decomposition is the process of breaking a large, complex problem down into smaller, easier sub-problems.
A small problem is easier to design, code, test and debug than a big one. Once each sub-problem has been solved, the solutions are combined to solve the original problem.

Why decomposition helps
- Easier to think about: a small task is easier to plan than a huge one.
- Easier to code: each sub-problem becomes a procedure or function (topic 24).
- Easier to test: small chunks of code can be tested in isolation.
- Easier to share: different programmers can work on different sub-problems in parallel.
- Easier to debug: a bug in one sub-problem can be fixed without disturbing the others.
Identifying the component parts of a decomposed problem
What comes up: a question asks you to identify three (or four) component parts that emerge when a problem is broken down at the analysis stage.
Write (up to four marks, one per part): the four credited parts are inputs, processes, outputs, and storage. Any three of these four earn full marks on a three-mark question.
Watch out: do not confuse this with listing the stages of the development life cycle (analysis, design, coding, testing). The question asks for what the solution is broken into, not what the programmer does next.