BBC Decomposition in practice
Before computers can solve a problem, the problem and the ways in which it can be resolved must be understood. Decomposition helps by breaking down complex problems into more manageable parts.
Decomposition in practice
Example 1: Brushing our teeth
To decompose the problem of how to brush our teeth, we would need to consider:
- which toothbrush to use
- how long to brush for
- how hard to press on our teeth
- what toothpaste to use
Example 2: Solving a crime
It is only normally when we are asked to do a new or more complex task that we start to think about it in detail – to decompose the task.
Imagine that a crime has been committed. Solving a crime can be a very complex problem as there are many things to consider.
For example, a police officer would need to know the answer to a series of smaller problems:
- what crime was committed
- when the crime was committed
- where the crime was committed
- what evidence there is
- if there were any witnesses
- if there have recently been any similar crimes
The complex problem of the committed crime has now been broken down into simpler problems that can be examined individually, in detail.
BBC Decomposition
Before computers can solve a problem, the problem and the ways in which it can be resolved must be understood. Decomposition helps by breaking down complex problems into more manageable parts.
What is decomposition?
Why is decomposition important?
If a problem is not decomposed, it is much harder to solve. Dealing with many different stages all at once is much more difficult than breaking a problem down into a number of smaller problems and solving each one, one at a time. Breaking the problem down into smaller parts means that each smaller problem can be examined in more detail.
Similarly, trying to understand how a complex system works is easier using decomposition.
For example, understanding how a bicycle works is more straightforward if the whole bike is separated into smaller parts and each part is examined to see how it works in more detail.
Learn to code and become digital makers
Free resources for young people to learn to code and become digital makers
Visit Raspberry Pi Foundation
(available in many languages)