📄 Paper 1 · 4.4 Theory of Computation
🆓 Free
4.4.1a Problem Solving, Abstraction & Decomposition
AQA 7517 · A-Level Computer Science · ~18 min read

Computational Thinking

Computational thinking is the thought process involved in expressing problems and their solutions in ways that a computer can execute. AQA identifies four key aspects: abstraction, decomposition, pattern recognition, and algorithm design.

Abstraction

Abstraction means filtering out unnecessary information and focusing on what is important to solving the problem.

  • Data abstraction — representing only the essential data (e.g. a map shows roads, not every blade of grass)
  • Procedural abstraction — hiding how something works (a function) while exposing what it does
  • Problem abstraction — extracting the key problem from a complex real-world scenario

Example

A city map abstracts real geography by showing roads, landmarks, and districts only — ignoring trees, buildings' internal layouts, etc.

A sorting function abstracts the sorting algorithm — the user calls sort(arr) without needing to know whether bubble sort or merge sort runs internally.

Decomposition

Decomposition means breaking a complex problem into smaller, more manageable sub-problems that are easier to solve individually.

Why decompose?

  • Smaller problems are easier to understand and solve
  • Sub-problems can be solved independently and in parallel
  • Solutions can be reused (sub-problems may appear in other contexts)
  • Easier to test and debug individual components

Example

// Building a school management system decomposed:
1. Student registration module
2. Timetabling module
3. Attendance tracking module
4. Grade recording module
5. Report generation module

Pattern Recognition

Pattern recognition involves identifying similarities or repeated patterns in problems or data. Recognising patterns allows solutions to be generalised and reused.

  • Finding the same sub-problem recurring (e.g. sorting appears in many applications)
  • Recognising sequences or structures in data
  • Using known algorithms when a new problem matches a familiar pattern

How These Work Together

ConceptWhat it doesExample
AbstractionFilter out irrelevant detailMap shows roads, not every pebble
DecompositionSplit into sub-problemsSplit school system into modules
Pattern recognitionSpot similarities/repeatsAll modules need user authentication
Algorithm designCreate step-by-step solutionsDesign the login algorithm once, reuse it
Exam tip: AQA often asks you to apply these concepts to a scenario. For abstraction: explain what details are being ignored and why. For decomposition: break the problem into named sub-problems. Know the difference: abstraction is about removing detail; decomposition is about splitting into parts. Pattern recognition helps identify reusable solutions.
Click through the slides at your own pace. Use arrow keys or click to advance.
Click slide or press arrow keys to navigate

Worksheet — 4.4.1a Problem Solving, Abstraction & Decomposition

8 questions · instantly marked · AQA 7517 standard

Q1Define abstraction in the context of computational thinking.[2]
✅ Mark scheme
Mark scheme
Abstraction is the process of filtering out unnecessary detail from a problem [1]; focusing only on the information relevant to solving it / hiding complexity to focus on key features [1].
Q2Define decomposition and explain why it is useful when developing large software systems.[3]
✅ Mark scheme
Mark scheme
Decomposition is breaking a complex problem into smaller, more manageable sub-problems [1]; each sub-problem can be solved, tested, and debugged independently [1]; sub-problems may be assigned to different team members or reused in other projects [1].
Q3A student creates a map of their school for a mobile app. The map shows buildings and pathways but not benches, trees, or lampposts. What computational thinking technique is being used and why?[2]
✅ Mark scheme
Mark scheme
Abstraction [1]; irrelevant details (benches, trees) are removed, keeping only the information needed for navigation (buildings and pathways) [1].
Q4Decompose the problem of "creating a social media platform" into at least four distinct sub-problems.[4]
✅ Mark scheme
Mark scheme
Any four from: user authentication / profile management [1]; posting / content creation [1]; news feed / content display [1]; messaging / chat system [1]; search functionality [1]; notifications system [1]; content moderation [1]. Award 1 mark per clearly distinct and relevant sub-problem (max 4).
Q5Explain the difference between data abstraction and procedural abstraction with an example of each.[4]
✅ Mark scheme
Mark scheme
Data abstraction: represents only essential data, ignoring irrelevant attributes [1]; e.g. a student record stores name, ID, grade — not physical description [1]; Procedural abstraction: hides HOW a procedure works, exposing only what it does [1]; e.g. calling sort() without knowing the algorithm used internally [1].
Q6What is pattern recognition in computational thinking? Give one example.[2]
✅ Mark scheme
Mark scheme
Pattern recognition is identifying repeated patterns, similarities or common features in problems or data [1]; e.g. recognising that multiple modules all require user login, so one authentication sub-system can be designed and reused [1].
Q7A programmer writes a function called `calculateTax(income)`. This hides the complex tax rules inside the function. What type of abstraction is this?[1]
✅ Mark scheme
Mark scheme
Procedural abstraction [1] — the complexity of tax calculation is hidden; the caller just provides income and receives a result.
Q8Evaluate how decomposition and abstraction work together when solving a complex real-world problem.[4]
✅ Mark scheme
Mark scheme
Decomposition splits the problem into manageable parts [1]; abstraction is then applied to each sub-problem to identify the essential features needed to solve it [1]; together they reduce complexity — decomposition makes the scope manageable and abstraction makes each part focused [1]; this allows each sub-problem to be solved independently using clear, simplified models [1].
Topic Quiz
Question 1 of 15
You scored
out of 15
Card 1 of 8
Click to reveal definition
🎉
All cards reviewed!
TermDefinition
🎯

Mini Test — Problem Solving

10 questions · 10 minutes

← 4.3.6 Dijkstra's
25 of 70 · AQA 7517
4.4.1b Composition & Automation →