In simple terms
A friendly intro before the formal notes — no formulas yet.
Thinking Like a Problem Solver
Computational thinking is a set of problem-solving methods that involve breaking down complex problems, focusing on what's important, and creating step-by-step solutions. It's the blueprint you create before you even think about writing code.
Imagine you have to build a large, complex LEGO model. You wouldn't just tip all the bricks onto the floor and start sticking them together randomly. First, you'd follow the instruction booklet, which breaks the build into smaller stages (decomposition). The diagrams in the booklet show you which pieces you need and how they connect, ignoring the tiny 'LEGO' logo on each stud (abstraction). The sequence of diagrams and steps is your plan to follow from start to finish (algorithm).
- 1
Decomposition: Break the main problem into smaller, more manageable sub-problems.
- 2
Abstraction: For each sub-problem, identify the crucial information needed and filter out irrelevant details.
- 3
Algorithm Design: Create a precise, step-by-step sequence of instructions to solve each sub-problem.
- 4
Integration & Evaluation: Combine the algorithmic solutions for the sub-problems to solve the original problem and test that it works correctly.
Explore the concept
Use the live diagram and synced steps — play it or tap a step card to walk through.
Full topic notes
Formal explanation with the rigour you need for the exam.
1. Decomposition: Breaking It Down
Imagine being asked to build a car from scratch. The task seems impossible. However, if you break it down into smaller jobs—build the engine, assemble the chassis, fit the wheels, install the electronics—it becomes manageable. This is decomposition. In computer science, we use decomposition to break down a large software project into smaller modules or functions. Each module has a specific purpose and can be developed, tested, and maintained independently, making the entire process more efficient and less error-prone.
Breaks a complex problem into smaller, simpler sub-problems.
Each sub-problem can be examined and solved independently.
Makes large projects more manageable and easier to test and maintain.
Facilitates teamwork, as different people or teams can work on different sub-problems simultaneously.
2. Abstraction: Focusing on the Essentials
Abstraction is the art of hiding complexity to make things simpler. When you drive a car, you use a steering wheel, pedals, and a gear stick. You don't need to know about the intricate workings of the combustion engine, the transmission system, or the precise angle of the drive shaft. These details are abstracted away, leaving you with a simple interface. In programming, variables are a form of abstraction; abstracts away the physical memory address where the value is stored, letting us think about it simply as 'score'.
The process of removing or hiding unnecessary complexity and detail.
Focuses on the general idea or model rather than the specific implementation.
Helps in managing complexity by creating simplified representations of systems.
The level of abstraction depends on the purpose; a mechanic needs a less abstract view of a car than a driver.
3. Algorithms: The Step-by-Step Plan
Once you have decomposed a problem and used abstraction to identify the key components, you need a plan to solve it. An algorithm is that plan. It is a precise, step-by-step set of instructions for solving a problem or achieving a specific outcome. Think of a recipe: it lists ingredients (your data) and provides a sequence of unambiguous instructions (mix, bake, cool) that, if followed correctly, will result in a cake (your solution). In computing, algorithms are the logic that underpins all software.
A finite, ordered, and unambiguous set of instructions.
Forms the core logic of a computer program, turning input into desired output.
Can be represented in various forms, including natural language, flowcharts, and pseudocode.
A good algorithm is not only correct but also efficient in terms of time and memory.
In Paper 1, you may be asked to write an algorithm in pseudocode. There is no single 'correct' pseudocode syntax, but clarity and logic are crucial. Use clear variable names, indentation for loops and conditionals, and simple, unambiguous commands like INPUT, OUTPUT, SET, IF...THEN...ELSE, and WHILE...DO. Always trace your algorithm with sample data to check it works before finalising your answer.
Worked examples
See the formulas applied — reveal one step at a time, like the exam.
A team is developing a new smartphone application for online shopping. Decompose the problem of creating this application into four distinct sub-problems. For each sub-problem, identify one essential feature.
- 1
User Account Management: [1 mark] This module handles user registration, login, and profile settings.
You are creating a simulation of a school's daily timetable. Identify two examples of abstraction you would use to represent a 'Lesson'. Justify your choices.
- 1
Lesson Time Representation: [1 mark] A lesson could be represented by a start time and a duration (e.g., starts at 09:00, duration 60 minutes). [1 mark]
How it all connects
The big idea sits in the middle — tap a linked idea to explore the link.
Tap a linked idea to see how it connects back to the main topic — that connection is what examiners reward.
Glossary
Try to recall each definition before you reveal it.
Quick check
Answer in your head first — then tap to check. No pressure.
Revision flashcards
Flip the card. Test yourself before the exam.
What is Computational Thinking?
A problem-solving approach that involves decomposition, abstraction, and algorithm design to formulate a solution that can be executed by a computer (or a human).
Key takeaways
Review these before you close the topic — retrieval beats re-reading.
- ✓
Breaks a complex problem into smaller, simpler sub-problems.
- ✓
Each sub-problem can be examined and solved independently.
- ✓
Makes large projects more manageable and easier to test and maintain.
- ✓
Facilitates teamwork, as different people or teams can work on different sub-problems simultaneously.
Practice — then mark it
The whole point: a real Cambridge question, marked mark-by-mark.
Test Your Understanding
Test Your Understanding
Extra simulations & links
PhET, GeoGebra and other curated tools — open in a new tab.
Frequently asked
Checkpoint
One marked question is worth ten re-reads — close the loop before you move on.
Reading it isn’t knowing it — prove it.
Before you move on: do Test Your Understanding on paper, snap a photo, and get examiner-style feedback on exactly where you win and lose marks.