What computational thinking covers, how its problem specification, four core concepts and flowcharts are used in every other topic and the internal assessment, and why it is the same at SL and HL.
From the subject guide: what you need to know and be able to do.
Breaking a real-world problem down so that a computer can solve it.
Each one has its own page once something is published for it.
Computational thinking is a way of approaching a problem so that a computer, or a person following precise steps, can solve it. It starts by stating the problem exactly, breaks it into parts, looks for patterns, keeps only the details that matter and then designs a step-by-step solution that can be checked by tracing it.
These habits organise the whole course. Designing a database, writing a program, planning a network or choosing a machine learning model all begin with the same moves: decide what the solution must achieve, split the work into manageable pieces and describe each piece precisely. A student who uses them well can tackle problems that look unfamiliar, because the method stays the same even when the subject changes.
The topic has a single subtopic, B1.1, Approaches to computational thinking, whose ideas follow the order in which a problem is solved. A problem specification comes first: the problem statement, constraints, objectives, inputs, outputs and the success criteria by which a solution will be judged. Then come the four core concepts: decomposition, pattern recognition, abstraction and algorithmic design, applied together to real problems in computer science.

The last part makes an algorithm precise enough to check. A flowchart shows the algorithm with standard symbols for start and end, processes, input and output, decisions, flowlines and connectors, and a trace table records the value of every variable as the flowchart is followed step by step, so a wrong result can be found before any code is written.
Computational thinking is identical at both levels. It contains no HL-only statements, and HL students study it in the same depth as SL students.
Subtopic | Level | HL-only statements inside it |
|---|---|---|
B1.1 Approaches to computational thinking | SL and HL | None |
The subtopic is short, but its methods are practised throughout the rest of theme B, where algorithms become Python or Java code and trace tables are used on programs as well as flowcharts.
Each topic leans on one idea more than the others. Programming in topic B2 turns algorithmic design into code, and modularisation is decomposition applied to a program. Database normalisation in subtopic A3.2 decomposes one large table into several, and machine learning in topic A4 automates pattern recognition. The layered models of topics A1 and A2, from logic gates to operating systems and from cables to applications, are abstraction at work.
"Abstraction" has three meanings in the course. In computational thinking it means removing detail that does not matter to a problem; in subtopic B3.2 (HL) it means abstract classes and interfaces in object-oriented programming; in topic B4 (HL) an abstract data type describes data by its operations rather than its storage. The internal assessment applies the whole process: its problem specification, success criteria and planning diagrams are computational thinking used on a problem of the student's own choosing.
The official deck for this part of the syllabus.
With a free account, Augment remembers where you stopped and what you have practiced.