What does decomposition mean?

The word decomposition means to break down into smaller parts. We use it in several different areas.
- Science - when a substance starts to break down and decay.
- Maths - when we partition numbers and difficult calculations to help us solve tricky number problems.
- Design technology - when we break down a project into a series of smaller tasks.
- Computing - when we break down a computing task into a series of steps or an algorithm.
We also use decomposition to help with everyday tasks and problems - like planning and shopping for family meals, organising a birthday party or even doing our homework!

Using decomposition for complicated projects
Breaking things down can make complicated projects and tasks easier to manage.
A series of smaller tasks, instead of one large task, makes it is easier to see what needs to be done. The smaller tasks can then be shared by a team.
Different people can then work on each small part of the problem, combining their solutions and outcomes to complete the project together.

Designing a computer game
Designing and making a computer game is a complicated project.
There are many things to think about, to design and to plan.
Game designers use decomposition to help break the process down into smaller parts.
The first thing is to make a list of the main parts of the computer game.

Story

We need to plan the narrative.
- What is our game about?
- Where do the players start?
- What is their mission in the game?
- How do they win or lose?
- What is the end goal?

Setting

- Where is the game set?
- Are we going for a castle which has been taken over by fire-eating dragons, or maybe a fast-paced racing game with points to collect on the way?

Characters

- Who is in the game?
- What powers do they have?
- What are their quests and missions?
- What actions can they perform?

Breaking it down into even smaller parts
Once the game designers have broken down the game and thought about each smaller part, they then might decomposeBreak a problem or task down into smaller steps. each part even further.
For example in the game setting you would need to look at background graphics, music and sound effects.
For each character you'll need to think about hair colour, costumes, accessories and how they move.

Working with different teams and groups

Once we have decomposed the whole project, each smaller part can be tackled individually.
The code for each section can also be broken down and created separately.


The game designer might even send some jobs to other teams and specialist companies, such as graphic designers or music composers.
Once all these smaller parts are finished, they can be combined to make the finished computer game.



Breaking down complex real-world systems
Let's think about an even larger and more complicated problem - how to control the traffic in a busy city.
Imagine all the different devices and systemA series of connected parts that work together. that need to work to make sure the traffic flows smoothly. There might be:

- road signs
- traffic lights
- cameras
- speed cameras
- crossing lights


The computer systems and programs that control all these devices are very complex and need to deal with the constantly changing conditions.
The job is too big for just one system or one program to control.
Without decomposing all of these complicated parts down into smaller, easier to manage sections, it would be impossible to stop the traffic from jamming up completely.

Each small section of the system is handled separately by different devices, programs and teams of people.
All the different parts are connected into networks that can communicate with each other and work together to keep the traffic flowing.
See if you can spot some of these devices and systems when you are next out and about and remember - stay safe.

Watch: Decomposition
Find out more about decomposition with this video from BBC Teach.
NARRATION: Decomposition. No, it’s not your smelly socks or mouldy food rotting away on your bedroom floor. You probably know what decomposition means in everyday life - it’s when stuff breaks down into smaller and smaller parts, and it’s usually not very pleasant.
In computer programming terms, decomposition is much less smelly - it means breaking complicated problems and tasks down into smaller, easier to manage sections. When a computer programmer is faced with a big problem, they start by breaking it down into smaller problems. They ‘decompose’ the problem. They can then break those smaller problems down even further into smaller, simpler parts. By breaking things down it’s often easier to see what needs to be done.
A computer game is a complicated business. So many things to think about, to design, to plan. Computer programmers use decomposition to help break the process down into smaller parts. The first thing is to make a list of all the different parts of the game. It’s a bit like planning a story, we need to make sure we have a beginning, middle and end. Let’s break these down.
Story - We need to plan the narrative. What’s our game about? Where do the players start? What’s their mission in the game? How do they win or lose? What's the end goal?
Setting - Where is the game set? Are we going for a castle which has been taken over by fire-eating dragons, or maybe a fast-paced racing game with loads of points to collect along the way?
Characters - Who’s in the game? What powers do they have? What are their quests and missions? How do they gain points and lose lives?
Levels - What are the levels in the game? What does the player have to do to pass each level?
End - How does the player win the game? What’s the end goal?
Once the game designer has broken down the game and thought about each smaller part, then they might decompose each part even further. So for the game setting you would need to look at background graphics, music, sound effects. And for each character you’ll need to think about hair colour, costumes, accessories, how they move.
After breaking everything down each smaller part can be tackled individually. The game designer might even send some of the jobs to other companies such as graphic designers or music composers. Once all these smaller parts are finished they can be combined to make the finished computer game.
On a larger scale, imagine the computer systems that control all the traffic lights, crossing lights and road signals in a big city. Think about all the different devices and programs that need to work together to make sure the traffic flows smoothly. And all of the decisions and actions that those programs need to control. Without decomposing all of those complicated parts down into smaller, easier to manage sections it would be impossible to stop the traffic from jamming up completely.
So remember, if you have a big problem that needs a solution, try breaking it down using decomposition.
Activities
SATs preparation resources. activitySATs preparation resources
Get ready for the SATs papers with videos, activities, quizzes and games to refresh your knowledge and practise your skills.

More on Computer science
Find out more by working through a topic
- count15 of 24
- count16 of 24
- count17 of 24
- count18 of 24