Computational Thinking · Breaking Problems Down · Focusing on What Matters
CSZoneEdexcel GCSE Computer Science 1CP2
The Three Pillars
Computational Thinking
Decomposition — breaking a complex problem into smaller, more manageable sub-problems. Each sub-problem can be solved independently.
Abstraction — focusing only on the information and details relevant to solving the problem. Removing unnecessary complexity.
Algorithmic thinking — designing a step-by-step set of instructions (an algorithm) that can be followed to solve the problem.
Also:Pattern recognition — identifying similarities between problems to reuse solutions.
Abstraction in Practice
Hiding Unnecessary Detail
When designing a map navigation system, we don't need to know the surface material of each road. We abstract it to: roads, junctions, distance, one-way restrictions. Everything else is hidden. This is abstraction.
A car driver uses abstraction — they don't need to know how the engine works to drive
Programming uses abstraction — functions hide complex code behind a simple name
Good abstraction makes problems tractable and solutions reusable
Decomposing a Problem
Example: Building a School App
Main problem: Build a school timetable app
Sub-problem 1: Student login system
Sub-problem 2: Display timetable for each student
Sub-problem 3: Allow teachers to edit the timetable
Sub-problem 4: Send notifications for changes
Each sub-problem can be coded and tested independently by different team members
Exam Practice
Have a go at this question
Edexcel-style question
Explain what is meant by abstraction and give one example of how it is used in computing.
3 marks
Abstraction means removing unnecessary details and keeping only the information relevant to solving a problem [1]. It simplifies complex systems so they are easier to work with [1]. Example: a map shows roads and landmarks but not the colour of buildings — irrelevant details are abstracted away [1].
Key Takeaways
What to Remember
Decomposition: break complex problems into smaller, solvable sub-problems
Abstraction: focus on relevant detail only — hide unnecessary complexity
Algorithmic thinking: design step-by-step solution the computer can follow
Pattern recognition: reuse solutions to similar problems