Decomposition and Abstraction
Decomposition breaks a big problem into smaller parts, and abstraction removes unnecessary detail to focus on what matters.
▶ Interact
Play with the controls to see the idea in action.
📘 Learn
Decomposition breaks a big problem into smaller parts, and abstraction removes unnecessary detail to focus on what matters.
- Solve small parts separately
- A map is an abstraction
- Both are parts of computational thinking
🧠 Quick quiz
Three questions. Score 2 or more to complete the topic.
What is Decomposition and Abstraction?
Within Computer Science, which covers algorithms, programming, data, networks, hardware and safe, responsible use of technology, this topic explains Decomposition and Abstraction. Computing topics explain how software, hardware and data work, with diagrams and models that show each step in order.
Check that you can explain Decomposition and Abstraction in your own words and give one example from everyday life. If you can do that, you have understood the core idea.
Understanding Decomposition and Abstraction helps you design, test and explain programs, websites and systems, from small projects to exam questions.
Decomposition and Abstraction in detail
Decomposition is breaking a complex problem into smaller, simpler sub-problems that can be solved separately and then combined. Planning a school trip, for instance, divides into transport, costs, permissions and activities. In programming, it leads to functions and modules.
Abstraction is removing unnecessary detail and focusing on the important features. A map of the Underground leaves out real distances and shows only stations and connections. Abstraction lets you build models and hide complexity, so a user can press a button without knowing how it works. Both are key parts of computational thinking.
How the interactive helps you understand Decomposition and Abstraction
Click a step, or use the Previous and Next buttons, to move through the sequence one stage at a time. Auto-play moves on for you.
Before you change anything, predict the result. Then change one value at a time and check whether your prediction was right. This is a quick way to build a correct mental model of Decomposition and Abstraction.
Real-life uses and examples
- Apply Decomposition and Abstraction when you design a small program, website or spreadsheet.
- Explain Decomposition and Abstraction to someone new to computing by comparing it to a familiar process.
- Trace through a process that uses Decomposition and Abstraction to check what it does step by step.
Common mistakes to avoid
- Testing only the normal case and forgetting the edge cases.
- Using the term without being able to say what the computer actually does.
- Learning the definition without testing it. Use the quiz and the interactive to check that you can apply the idea.
Frequently asked questions about Decomposition and Abstraction
What is Decomposition and Abstraction?
Decomposition breaks a big problem into smaller parts, and abstraction removes unnecessary detail to focus on what matters.
What are the most important points about Decomposition and Abstraction?
The main points are: Solve small parts separately; A map is an abstraction; Both are parts of computational thinking.
Why is Decomposition and Abstraction useful?
Understanding Decomposition and Abstraction helps you design, test and explain programs, websites and systems, from small projects to exam questions.
How can I practise Decomposition and Abstraction?
Open the interactive at the top of this page and change the controls one at a time. Predict the result before each change, then take the three-question quiz. A score of two or more marks the topic as complete on this device.
Which topics are related to Decomposition and Abstraction?
Related topics in Computer Science include Variables and Data Types, Iteration: Loops, Functions and Procedures.