Decomposition is the first of the three key techniques needed for Computational Thinking ( finding the steps you need to take to find the best solution to a complex problem)
Decomposition is breaking a complex problem down into smaller problems, and then solving each one of those smaller problems individually (you may need to break those smaller problems down into even smaller problems). It helps you get to the best solution, it also makes it easier to see how to solve problems.
An example of decomposition:
Problem: How to make a cup of tea
Subproblems (in no particular order):
- How much water is needed
- How to get water hot enough
- How long to leave tea bag in
- When to add milk (afterwards!!)
- How much milk to add
- Should you add sugar
- Does it need to be stirred? if so how long for?
- What type of tea (will impact on the other sub problems)