The four fundamental concepts of computational thinking are abstraction, decomposition, pattern recognition, and algorithmic design. Together, they provide a systematic approach for analysing problems and developing solutions that can be implemented by a computer.
How the Concepts Work
| Concept | Meaning and application |
|---|---|
| Abstraction | Removing unnecessary detail while retaining the information essential to solving the problem. For example, a navigation system may represent a road as connections between locations without modelling every building or tree. |
| Decomposition | Breaking a complex problem into smaller, more manageable subproblems. In an online store, separate components could handle user accounts, product searches, payments, and stock control. |
| Pattern recognition | Identifying similarities, repeated structures, or trends within and between problems. Recognizing that several program features require searching may allow the same search technique to be adapted and reused. |
| Algorithmic design | Developing a finite, ordered, and unambiguous sequence of steps that solves a problem. An algorithm may be represented using pseudocode, a flowchart, or program code. |
These concepts often operate as a connected process. A programmer might first decompose a school scheduling problem into student, teacher, room, and timetable components. They could then identify recurring constraints through pattern recognition, apply abstraction to model only relevant data, and use algorithmic design to produce the steps for assigning lessons.
A common misconception is that computational thinking simply means writing code. Coding implements a solution, whereas computational thinking is the problem-solving process used to formulate that solution; it can occur before any programming language is selected.
IB Exam Technique
For B1.1, do more than list the four concepts. If asked to explain or apply them, define each concept and connect it to the given scenario. Keep the distinctions clear: decomposition divides a problem, abstraction removes irrelevant detail, pattern recognition finds similarities, and algorithmic design creates the ordered solution steps.