🧠 Component 2 · 2.1 Algorithms
✓ Free lesson
2.1.1 Computational Thinking
OCR J277 · GCSE Computer Science · ~10 min read
Notes
Video
Slides
Worksheet
Quiz

What Is Computational Thinking?

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

ConceptKey ideaReal-world analogy
DecompositionBreak big problem into smaller partsBuilding a house room by room
Pattern recognitionFind similarities and repeat solutionsRecognising a tune you've heard before
AbstractionRemove irrelevant detail; focus on essentialsUnderground map vs actual geography
Algorithmic thinkingCreate step-by-step instructionsA 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]
✅ Mark scheme
Decomposition [1]; Pattern recognition [1]; Abstraction [1]; Algorithmic thinking (algorithm design) [1].
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!
TermDefinition
🎯

Mini Test — 2.1.1 Computational Thinking

10 questions · 10 marks · 10 minutes

← 1.6.1b Utility Software 2.1 Algorithms 2.1.2a Linear Search →