Computational thinking
Abstraction, decomposition and algorithmic thinking and how they help solve problems.
Learning Objectives
- 1Understand the three principles of computational thinking: abstraction, decomposition and algorithmic thinking
- 2Explain how each principle is used to define and refine a problem
- 3Apply these principles to a given, specific scenario rather than describing them generically
What is computational thinking?
Think of it like...
Computational thinking is like planning a house before building it, you work out the rooms, what to focus on, and the steps to build it, all before laying a single brick.
Decomposition
Abstraction
Algorithmic thinking
Applying computational thinking to a scenario
Exam Phrasing: Use These Exact Phrases
- ✓Decomposition breaks a complex problem into smaller, more manageable sub-problems
- ✓Abstraction removes unnecessary detail so you can focus on the essential parts of a problem
- ✓Algorithmic thinking is creating a clear, step-by-step solution to a problem
- ✓Answers must reference the specific scenario given, not a generic definition
- 💡When asked to explain abstraction or decomposition, always name something specific from the scenario, a generic dictionary-style definition on its own scores no marks.
- 💡For decomposition, a strong answer describes splitting the actual program/task into separate parts (e.g. a separate algorithm per task), not just how existing data is already stored.
- 💡For abstraction, a strong answer names something specific that was focused on or deliberately ignored, and briefly says why.
- 💡Decomposition, abstraction and algorithmic thinking are three separate, named principles, don't blend them together in one vague answer.
Wrong:
Decomposition means the data was already split into separate variables or tables
Right:
Decomposition means the program or problem itself was deliberately broken into smaller sub-problems, such as a separate algorithm for each task
Why it matters: Examiners specifically noted that simply describing how data was already stored is not true decomposition, it must be an active breaking-down of the problem.
Wrong:
Abstraction means simplifying the whole problem in general
Right:
Abstraction means removing one specific, identifiable piece of unnecessary detail while keeping something specific
Why it matters: A vague "make it simpler" answer does not show understanding, examiners want a specific example of what was focused on or ignored.
Wrong:
Just defining what decomposition or abstraction means answers the question
Right:
The definition must be applied directly to the scenario given in the question
Why it matters: OCR examiners give no marks for generic definitions with no reference to the specific context provided.
Question:
A school is creating a program to manage its sports day. The program stores each student's name, house, and event, and calculates which house wins overall. Describe one example of decomposition and one example of abstraction the school could use when designing this program. [4]
💡 Attempt this before revealing the answer, practice makes perfect!
Model Answer:
Decomposition: the sports day program could be broken down into separate sub-problems, such as a separate algorithm for registering students, a separate algorithm for recording event results, and a separate algorithm for calculating the winning house. Abstraction: the program could focus only on the details needed to calculate the winner, such as house and points scored, while ignoring irrelevant detail like each student's exact date of birth.
Mark Scheme:
- 1Identifies a genuine sub-division of the sports day program into separate parts/algorithms (decomposition)
- 2Links the sub-division directly to the sports day scenario, not a generic description
- 3Identifies a specific detail that would be focused on or ignored (abstraction)
- 4Links the abstraction example directly to the sports day scenario, not a generic description
Tap a card to flip it. Use the arrow keys to move and space to flip.
Exam-style questions. Have a go, then reveal the mark scheme to check your answer.
1.Define the term "decomposition".
[1]2.Define the term "abstraction".
[1]3.A company is designing an app to manage deliveries. The app tracks each driver's name, vehicle, delivery route, and estimated arrival time. Explain, using this scenario, one example of decomposition the designers could use.
[2]4.Using the same delivery app scenario, explain one example of abstraction the designers could use.
[2]5.Explain how algorithmic thinking is used when developing a solution to a problem.
[2]6.A school wants a program to manage lending books from its library. Explain how abstraction and decomposition would be used when designing this program.
[6]The examiners' reports are the most useful and least read of the three: they say what candidates actually got wrong each year. All files are hosted by OCR.
Past-paper questions grouped by topic
The same OCR questions, sorted by topic rather than by year (via Physics & Maths Tutor).
When asked about abstraction and decomposition in a given scenario, no marks were given for generic definitions of the terms. Candidates had to reference the specific scenario: abstraction credit went to answers focusing on/ignoring something sensible within the context (e.g. event names), and decomposition credit went to answers describing a genuine breakdown of the program (e.g. a separate algorithm per event) rather than just how data was already stored.
Decomposition was reported as more difficult for candidates to correctly identify than abstraction, many candidates only described how data was already separated (e.g. into different variables), which was not accepted as true decomposition. The most successful answers discussed decomposing the program itself, such as having a separate algorithm for each event.