What are abstraction, decomposition and algorithmic thinking, and how do they help you solve a problem with a computer?
Computational thinking: abstraction, decomposition and algorithmic thinking, and how these techniques are used to break down and solve a problem.
An Eduqas GCSE Computer Science answer on computational thinking: abstraction (removing unnecessary detail), decomposition (breaking a problem into smaller parts) and algorithmic thinking (working out the steps), with a worked example of applying all three.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
What this dot point is asking
Eduqas wants you to define the three parts of computational thinking: abstraction, decomposition and algorithmic thinking, and to explain how each helps you solve a problem with a computer. The marks come from precise definitions and from applying the techniques to a given scenario.
Abstraction
Abstraction helps because a simpler model is easier to think about and to program: you handle only the data and rules that matter, and you can reuse the same abstraction for many similar problems.
Decomposition
Decomposition helps because it turns one overwhelming task into a set of smaller ones. For a library program you might decompose into: add a book, search for a book, issue a book, return a book, and list overdue items, each becoming its own part of the program (often a subprogram).
Algorithmic thinking
Try this
Q1. Define abstraction. [1 mark]
- Cue. Removing or hiding unnecessary detail to focus on the important features of a problem.
Q2. State one benefit of decomposition. [1 mark]
- Cue. Each smaller sub-problem is easier to solve and test (and parts can be shared among programmers).
Q3. A program must run a quiz. Give two sub-problems that decomposition might produce. [2 marks]
- Cue. For example: ask a question and read the answer; check whether the answer is correct and update the score.
Exam-style practice questions
Practice questions written in the style of WJEC Eduqas exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
Eduqas Component 1, 20224 marksDefine abstraction and decomposition, and explain how each helps when designing a program.Show worked answer →
Abstraction (up to 2 marks): removing or hiding unnecessary detail so you can focus on the important features of a problem. It helps by making the problem simpler to think about and model, for example representing a train route as a list of stops without the geography.
Decomposition (up to 2 marks): breaking a large, complex problem into smaller, more manageable sub-problems. It helps because each part can be solved, tested and even shared out among programmers separately, which is easier than tackling the whole thing at once.
Markers reward "remove unnecessary detail" for abstraction and "break into smaller parts" for decomposition, each with a reason it helps.
Eduqas Component 1, 20233 marksA student is writing a program to manage a school library. Describe how decomposition could be used to plan this program.Show worked answer →
Break the overall task into smaller sub-problems that can each be solved separately (1 mark), then give sensible sub-problems (up to 2 marks), for example: adding a new book to the catalogue; searching for a book; issuing a book to a borrower; returning a book; tracking overdue items.
Each sub-problem becomes a part of the program (often its own subprogram) that can be written and tested on its own. Markers reward a clear statement of decomposition plus relevant sub-problems for the library scenario.
Related dot points
- Designing, expressing and tracing algorithms using pseudocode and flowcharts, and using a trace table to follow an algorithm step by step.
An Eduqas GCSE Computer Science answer on designing and expressing algorithms in pseudocode and flowcharts, the standard flowchart symbols, and using a trace table to follow an algorithm step by step and find its output.
- The linear search and binary search algorithms, how each works, the requirement that binary search needs sorted data, and how their efficiency compares.
An Eduqas GCSE Computer Science answer on the linear and binary search algorithms: how each works step by step, why binary search needs sorted data, and how their efficiency compares.
- The bubble sort and merge sort algorithms, how each puts a list into order, and how their efficiency on large lists compares.
An Eduqas GCSE Computer Science answer on the bubble sort and merge sort algorithms: how each orders a list step by step, a worked bubble-sort pass, and how their efficiency on large lists compares.
- The logic operators AND, OR and NOT, their logic gates and truth tables, and combining them in simple logic circuits and Boolean expressions of up to three inputs.
An Eduqas GCSE Computer Science answer on the AND, OR and NOT logic gates and their truth tables, and how to build and evaluate simple logic circuits and Boolean expressions of up to three inputs.
- Subprograms (procedures and functions), the difference between them, parameters and arguments, local and global variables, and why subprograms make programs easier to write and maintain.
An Eduqas GCSE Computer Science answer on subprograms: the difference between a procedure and a function, parameters and arguments, local and global variables, and why subprograms support decomposition, reuse and easier maintenance.
Sources & how we know this
- WJEC Eduqas GCSE Computer Science specification (from 2016) — Eduqas (2020)