Computational thinking is a problem-solving approach that involves breaking down complex problems so that a computer (or human) can solve them. It is a fundamental skill in computer science and consists of four key principles:
1. Decomposition
Breaking a complex problem down into smaller, more manageable sub-problems. Each sub-problem can then be solved individually and the solutions combined.
Makes large problems less overwhelming
Sub-problems can be worked on by different people simultaneously
Easier to test and debug individual parts
Example: Building a school website. Decompose into: design the homepage; build the navigation menu; write the content pages; add the contact form; create the admin login. Each part is tackled separately.
2. Pattern Recognition
Identifying similarities, trends, and patterns within a problem or between problems. Recognising patterns allows solutions to be reused rather than reinvented.
Find recurring structures or rules
Allows generalisation — a solution to one pattern works for all instances of it
Basis for loops and reusable code
Example: Drawing multiple shapes. You notice all shapes are drawn by repeating: draw a line, turn. You can use a loop rather than writing separate code for each shape.
3. Abstraction
Focusing on the essential details of a problem while ignoring irrelevant information. Removing unnecessary complexity to focus on what matters.
Simplifies problems by filtering out unnecessary detail
Creates a model or representation of the key features
Used in data modelling, class diagrams, API design
Example: A map of the London Underground. It shows station names and which lines connect them — it does NOT show the exact geography, distances, or bends in tunnels. The irrelevant details (geography) are abstracted away. What matters is connectivity.
4. Algorithmic Thinking (Algorithm Design)
Developing a step-by-step solution (algorithm) to a problem that can be followed by a computer. An algorithm must be:
Unambiguous — each step must have only one interpretation
Finite — it must eventually terminate
Correct — it must produce the right output for all valid inputs
Example: Algorithm for making a cup of tea: 1. Fill kettle with water. 2. Boil kettle. 3. Place teabag in mug. 4. Pour boiling water into mug. 5. Wait 3 minutes. 6. Remove teabag. 7. Add milk and sugar if desired. Each step is clear and unambiguous.
Summary Comparison
Concept
Key idea
Real-world analogy
Decomposition
Break big problem into smaller parts
Building a house room by room
Pattern recognition
Find similarities and repeat solutions
Recognising a tune you've heard before
Abstraction
Remove irrelevant detail; focus on essentials
Underground map vs actual geography
Algorithmic thinking
Create step-by-step instructions
A recipe
Why Is Computational Thinking Important?
Computational thinking is used by programmers to plan solutions before writing code. It also underpins many other areas: machine learning (pattern recognition), database design (abstraction), software architecture (decomposition), and algorithm analysis.
The four pillars work together: decompose the problem → identify patterns → abstract away irrelevant detail → design an algorithm to solve each part.
Exam tip: Questions ask you to identify which aspect of computational thinking is being used in a given scenario. Know all four definitions precisely. "Abstraction" is commonly confused with "decomposition" — abstraction removes unnecessary detail; decomposition breaks a problem into parts. The London Underground map is the classic OCR abstraction example. Always use the correct term and explain it in context.
⚠️ Common Mistakes
Confusing abstraction and decomposition — abstraction removes irrelevant details; decomposition breaks into sub-problems
Saying abstraction means "making something abstract" without explaining removing unnecessary detail
Forgetting that pattern recognition enables reuse of solutions — it's not just "finding similarities"
Not explaining algorithmic thinking as step-by-step and unambiguous — "solving the problem" alone is not enough
Mixing up computational thinking with coding — you can apply CT without writing any code
✅ Notes completed!
▶
Video coming soon
Click slide or press arrow keys to navigate
Worksheet — 2.1.1 Computational Thinking
8 questions · 25 marks
Q1Name the four aspects of computational thinking.[4]
Q2What is decomposition? Give one reason why it is useful.[2]
✅ Mark scheme
Decomposition is breaking a complex problem down into smaller, more manageable sub-problems [1]; useful because: easier to solve individual parts; sub-problems can be worked on simultaneously by different people; easier to test and debug [1].
Q3Explain what abstraction means in computational thinking. Use the London Underground map as an example.[3]
✅ Mark scheme
Abstraction means removing/ignoring irrelevant details and focusing on only the essential information [1]; the Underground map shows station names and which lines connect them [1]; it removes irrelevant detail such as exact distances, geography, and the bends in tunnels — these don't matter for a passenger who just needs to know how to get from A to B [1].
Q4A programmer writes a game that has 50 levels. Each level follows the same structure: load map, spawn enemies, wait for player to reach the exit. Which aspect of computational thinking is being applied? Explain why.[2]
✅ Mark scheme
Pattern recognition [1] — the programmer has identified a repeating pattern/structure across all 50 levels, allowing them to write one solution that can be reused for every level rather than writing separate code for each [1].
Q5What properties must an algorithm have? State three.[3]
✅ Mark scheme
Any three: Unambiguous — each step has only one interpretation [1]; Finite — it must eventually terminate [1]; Correct — produces the right output for all valid inputs [1]; Steps must be in the correct order [1].
Q6A school wants to create a new website. Using decomposition, break this task into at least four sub-problems.[4]
✅ Mark scheme
Any four reasonable sub-problems, e.g.: Design the layout/visual style [1]; Create the navigation menu [1]; Write the content for each page [1]; Build the contact form [1]; Add a staff login system [1]; Ensure the site is mobile-responsive [1]; Test the site in different browsers [1].
Q7Explain the difference between abstraction and decomposition. Use an example to support your answer.[4]
✅ Mark scheme
Abstraction: removing unnecessary detail to focus on what is essential [1]; example: a weather app shows temperature and forecast but not the complex atmospheric equations used to calculate it [1]; Decomposition: breaking a problem into smaller sub-problems [1]; example: building the app is decomposed into: design the UI, write the data fetch code, connect to a weather API, test the app [1].
Q8Write a simple algorithm (as numbered steps) for calculating the area of a rectangle.[3]
✅ Mark scheme
1. Input the length of the rectangle [1]; 2. Input the width of the rectangle [1]; 3. Calculate area = length × width [1]; 4. Output the area. Award marks for: steps in correct order; unambiguous instructions; produces correct result.
?
out of 25 — self-mark above
Topic Quiz
Question 1 of 15
You scored
out of 15
Card 1 of 8
Click to reveal definition
🎉
Complete!
Term
Definition
🎯
Mini Test — 2.1.1 Computational Thinking
10 questions · 10 marks · 10 minutes
⏱ 10:00
10 marks
Section A — Multiple Choice [5 marks]
Q1Which aspect of computational thinking involves breaking a problem into smaller sub-problems?
Q2The London Underground map is a classic example of which computational thinking concept?
Q3Which aspect of computational thinking enables reuse of solutions by identifying similarities?
Q4An algorithm must be unambiguous. What does this mean?
Q5Which computational thinking concept focuses on only the essential details of a problem?
Section B — Short Answer [5 marks]
Q6Define abstraction in the context of computational thinking.
Mark schemeRemoving unnecessary/irrelevant details and focusing only on the essential information needed to solve the problem. [1]
Q7A developer creates a function to calculate the area of any shape. Which computational thinking concept does this demonstrate? Explain.
Mark schemePattern recognition [1] — the developer has identified that calculating area follows a similar pattern for different shapes, allowing one reusable function rather than separate code for each shape. [1 for explanation]
Q8State one benefit of decomposing a large programming project.
Mark schemeAny valid benefit: different team members can work on sub-problems simultaneously; easier to test and debug individual parts; makes the overall project less overwhelming. [1]
Q9State two properties an algorithm must have.
Mark schemeAny two: Unambiguous (each step has one interpretation); Finite (must terminate); Correct (produces right output for all inputs); Steps in correct order. [1 each]
Q10Name all four aspects of computational thinking.
Mark schemeDecomposition; Pattern recognition; Abstraction; Algorithmic thinking (algorithm design). [1 for all four correct]