Abstraction and decomposition
Reduce a problem to essential details, then break it into input, process, output and storage components.
Mapped to the Cambridge IGCSE Computer Science 0265 syllabus for exams in 2029. These original explanations and self-checks are independent study support, not Cambridge papers, official marks or grades. Practical programming is taught with worked code and trace tasks; an executable Python workspace and timed digital-exam simulation are not yet available.
Before you begin
- Use the 2029 syllabus for this course. Cambridge specifies Python 3.10 or higher for programming and digital exams for both components. The syllabus currently identifies this route for 2029 only; confirm later-year availability with Cambridge and your school.
Work on paper. Try each question before revealing help, and explain why your method works.
Quick readiness check
Before abstraction and decomposition, which statement is the safest starting point?
What you will learn
- Describe and use abstraction
- Describe and use decomposition
- Explain why these methods help solve a given problem
Abstraction focuses on what matters
Abstraction creates a simplified model that preserves the features needed for a task and ignores irrelevant detail. A map, for example, may preserve routes and locations but omit the colour of each building.
The useful details depend on the problem. Identify the decision or output the system must produce, then keep the data that affects it. Explain what was omitted and why it does not change the result for the stated purpose.
Decomposition makes a large task manageable
Decomposition breaks a problem into smaller subproblems. A useful first breakdown identifies inputs, processes, outputs and storage. Smaller parts can be designed and tested separately, then connected to form the whole solution.
For each part, state what it receives, what it does and what it returns or saves. Avoid decomposing so far that the parts no longer solve the original task; the subproblems must connect to the intended outcome.
Pause and explain
Which habit best checks your understanding of abstraction and decomposition?
Worked example
Design a simple system that calculates a learner's average score. Identify its input, process, output and storage.
Show the worked solution
- Input: the learner's scores.
- Process: add the scores and divide by the count.
- Output: the average; optional storage retains the scores and result for later review.
Answer Input scores → calculate mean → display/store average.
Try a topic test
Choose Easy, Normal or Difficult. Save your answers and open worked review after finishing.
Test this topic →From guided practice to a new situation
Write your answer and reasoning first. Use a hint only if you are stuck. The model solution is for self-checking; your written work is not automatically marked.
A school wants a program to decide whether a student passed based on three test scores. Identify useful inputs and one irrelevant detail to omit.
Give me a hint
Keep data that affects the pass decision.
Compare my reasoning
- The three scores and pass threshold affect the calculation.
- A student's favourite colour does not affect the pass decision.
- Omitting irrelevant detail simplifies the model without changing this outcome.
Use scores and threshold; omit unrelated personal details such as favourite colour.
Look for these in your work
- Relevant inputs
- Irrelevant detail
- Reason linked to result
Decompose an online book order into inputs, processes, outputs and storage.
Give me a hint
Think about what a customer enters, what the system calculates, what it returns and what it saves.
Compare my reasoning
- Inputs: selected books, quantity and delivery details.
- Process: check stock, calculate price and delivery, validate address.
- Outputs: order confirmation and total; storage: order record and stock update.
Inputs → validation/stock/price processing → confirmation; store order and stock changes.
Look for these in your work
- All four components
- Processes fit context
- Links between parts
A weather app must advise whether to carry an umbrella. Propose an abstraction and explain one limit of it.
Give me a hint
Keep weather variables relevant to rain and state what the simplified model ignores.
Compare my reasoning
- Use forecast precipitation probability and time at the destination.
- Ignore unrelated details such as wind direction if they do not affect the umbrella decision.
- A binary recommendation may ignore personal preferences or changing forecast uncertainty.
Model relevant rain probability for the time/place, while recognising that thresholds and uncertainty affect the advice.
Look for these in your work
- Model chosen
- Irrelevant data removed
- Limit acknowledged
Common mistakes
- Removing a detail that changes the required result.
- Listing system parts without explaining how they connect.
- Confusing an input with a process.
What can you explain now?
What does abstraction do to a problem model?
Compare with the explanation
Keeps essential features and omits irrelevant detail
The model is simplified for a particular purpose.
After trying it yourself, choose your next review. This is your self-assessment.
Your review choice appears on Today. Sign in to sync it across devices.
Make it stick
How do abstraction and decomposition simplify a task while keeping the original goal intact?
If you needed the solution, close it and solve the problem again from a blank page. A correct answer is stronger when you can explain the reason for each step.