Cambridge O Level Computer Science · Syllabus 2210 · Algorithm Design and Problem-Solving
Decomposition
What is Decomposition?
Breaking a complex problem down into smaller, more manageable sub-problems, each of which can be understood, designed, implemented and tested separately before the parts are combined into the complete solution.
This definition is part of the Algorithm Design and Problem-Solving chapter in Cambridge O Level Computer Science.
Decomposition in context
Abstraction is keeping the details that are relevant to the solution and removing the ones that are not. Decomposition is breaking a complex problem into smaller sub-problems that can be solved separately and then combined. Abstraction changes how much detail you carry; decomposition changes how many pieces you carry. They are used together during analysis, but they are not the same thing and an answer that swaps them earns nothing.
Common mistakes with Decomposition
- M3. “Abstraction and decomposition are the same thing.” Correct Abstraction removes irrelevant detail. Decomposition breaks a problem into smaller sub-problems. Nothing is removed by decomposition and nothing is split by abstraction.

