Computational Thinking Concepts

IB Syllabus: B1.1.2 – Describe the fundamental concepts of computational thinking (abstraction, algorithmic design, decomposition, pattern recognition). B1.1.3 – Explain how applying CT is used to approach and solve problems.

Table of Contents

  1. Why This Page Exists
  2. The Four CT Concepts
    1. 1. Decomposition
    2. 2. Pattern Recognition
    3. 3. Abstraction
    4. 4. Algorithmic Design (Algorithmic Thinking)
  3. Applying CT to Real-World Domains
    1. CT in Software Development
    2. CT in Data Analysis
    3. CT in Network Security
    4. CT in Database Design
  4. Quick Check
  5. Code Completion
  6. Practice Exercises
    1. Core
    2. Extension
    3. Challenge
  7. Connections

Why This Page Exists

Computational thinking is not about coding – it is about thinking like a computer scientist to solve problems. The four CT concepts on this page are thinking tools you can apply to any problem, whether or not a computer is involved.

IB exams test whether you can identify which CT concept is being applied in a scenario and explain how it helps solve the problem.


The Four CT Concepts

1. Decomposition

Breaking a complex problem into smaller, manageable parts.

Instead of trying to solve the entire problem at once, you split it into sub-problems that are easier to understand, solve, and test independently.

Example: Building a school app

Rather than building everything at once, decompose into modules:

  • Login system
  • Attendance tracking
  • Grade management
  • Messaging
  • Timetable display

Each module can be designed, built, and tested separately.

Example: Planning a school trip

  • Transport (book bus, plan route)
  • Budget (calculate costs, collect payments)
  • Activities (research options, book venues)
  • Safety (risk assessment, emergency contacts)
  • Communication (inform parents, send reminders)

Why it works: Small problems are easier to solve than big ones. Different people can work on different parts simultaneously. Bugs are easier to find in a small module than in a massive program.

IB exam phrasing: “Identify how decomposition has been applied in this scenario.”

2. Pattern Recognition

Identifying similarities, trends, or repeated structures in data or problems.

When you spot a pattern, you can reuse a solution you have already developed instead of solving the same type of problem from scratch.

Example: E-commerce websites

Shopping cart logic (add item, remove item, calculate total) is nearly identical across Amazon, eBay, and every online store. Recognising this pattern means you can design one shopping cart solution and reuse it.

Example: Exam score analysis

A teacher notices that students who score above 80% on homework consistently score above 70% on the exam. This pattern can be used to predict which students might need extra support.

Example: Spam detection

Emails containing phrases like “win money” or “click here now” follow a recognisable pattern. A spam filter uses pattern recognition to classify emails automatically.

Why it works: Patterns allow you to apply known solutions to new problems. They also help you make predictions and generalise from specific cases.

3. Abstraction

Focusing on the essential information and ignoring unnecessary detail.

Abstraction means removing complexity by hiding details that are not relevant to the current problem.

Example: A map

A London Underground map is an abstraction. It shows station names and connections but ignores the actual physical distances and surface geography. The unnecessary detail (exact distances, street names) is removed so you can focus on what matters: which trains connect which stations.

Example: A class in OOP

A Student class with attributes name, grade, and email is an abstraction of a real student. A real student has thousands of characteristics (height, favourite colour, shoe size), but for a school management system, only a few are relevant.

Example: A GPA

Instead of looking at every individual grade across every subject, a GPA abstracts all grades into a single number. This makes it easier to compare students and make decisions (e.g., honour roll eligibility).

Why it works: By hiding irrelevant detail, abstraction makes problems simpler to understand and solutions easier to design. You focus your attention on what matters.

IB exam tip: When asked to “identify abstraction,” look for what information has been kept and what has been removed or simplified.

4. Algorithmic Design (Algorithmic Thinking)

Designing a clear, step-by-step sequence of instructions to solve a problem.

An algorithm is a set of precise instructions that, if followed exactly, will produce the correct result every time for any valid input.

Example: Making a cup of tea

  1. Fill kettle with water
  2. Boil the water
  3. Place tea bag in cup
  4. Pour boiling water into cup
  5. Wait 3 minutes
  6. Remove tea bag
  7. Add milk (if desired)

This is an algorithm – unambiguous, sequential, and repeatable.

Example: “Forgot password” process

  1. User clicks “Forgot password”
  2. System asks for email address
  3. System checks if email exists in database
  4. If yes: send reset link to email
  5. If no: display “email not found” message
  6. User clicks reset link
  7. User enters new password
  8. System updates password in database

Example: Finding the largest number in a list

  1. Set max to the first number
  2. For each remaining number:
    • If it is greater than max, update max
  3. Return max

Why it works: Algorithms remove ambiguity. A human or computer can follow the steps exactly and get the correct result. This is what makes problems computable.


Applying CT to Real-World Domains

CT is not just for programming. The IB syllabus (B1.1.3) specifically tests how CT applies across different domains.

CT in Software Development

Concept Application
Decomposition Split an app into modules (login, database, UI, API)
Pattern Recognition Shopping cart logic reused across e-commerce sites
Abstraction Define a User class with only the relevant attributes
Algorithmic Thinking Step-by-step process for “forgot password” feature

CT in Data Analysis

Concept Application
Decomposition Separate workflow: clean data, organise into tables, create charts
Pattern Recognition Exam scores show trends (higher in maths, lower in language)
Abstraction Focus on key metrics like GPA instead of every individual grade
Algorithmic Thinking Write a query to automatically find the top 10 students per class

CT in Network Security

Concept Application
Decomposition Break security into layers: application, transport, network, physical
Pattern Recognition Identify common attack patterns (phishing, port scanning, DDoS)
Abstraction Use standard protocols (TLS, VPN) to simplify secure communication
Algorithmic Thinking Step-by-step process for authentication and encryption

CT in Database Design

Concept Application
Decomposition Design in stages: identify entities, link tables, add rules
Pattern Recognition Notice repeating structures like many-to-many relationships
Abstraction Store only useful attributes (StudentID, CourseName), ignore irrelevant ones
Algorithmic Thinking Plan queries (INSERT, SELECT, UPDATE) to manage data

Quick Check

Q1. A developer splits a school app into modules: login, attendance, grades, and messaging. Which CT concept is being applied?

Q2. A developer notices that the shopping cart logic is almost identical on every e-commerce site. Which CT concept does this illustrate?

Q3. Instead of analysing every individual grade, a school uses GPA as a single summary number. Which CT concept is this?

Q4. Designing a step-by-step "forgot password" process (enter email, check database, send reset link) is an example of:

Q5. Which statement about computational thinking is correct?


Code Completion

Identify which CT concept is being applied in each scenario.

Fill in the blanks: Name the CT concept for each scenario.

// A teacher separates a large project into 5 milestones
// CT concept: 

// A spam filter detects emails with "win money" phrasing
// CT concept: 

// A map shows train routes but hides street-level detail
// CT concept: 

// A recipe gives numbered steps to bake a cake
// CT concept: 

Practice Exercises

Core

  1. Identify all four – For the problem “organising a school sports day,” give one example of each CT concept:
    • (a) Decomposition
    • (b) Pattern Recognition
    • (c) Abstraction
    • (d) Algorithmic Thinking
  2. Classify scenarios – For each scenario, name the primary CT concept and explain why:
    • (a) A hospital groups patients by symptom similarity to predict diagnoses
    • (b) A weather app shows temperature and rain chance but not atmospheric pressure
    • (c) A project manager breaks a software project into sprints
    • (d) A GPS calculates the shortest route between two points
  3. CT is not coding – Give two examples of how computational thinking can be applied in everyday life without using a computer.

Extension

  1. Apply CT to a domain – Choose one: machine learning, database design, or network security. For your chosen domain, explain how each of the four CT concepts applies, with a specific example for each.

  2. Abstraction trade-offs – A GPA abstracts many grades into one number. What useful information is lost in this abstraction? When might a teacher need the full detail instead of the GPA? Discuss the trade-off between simplicity and detail.

Challenge

  1. Full CT analysis – Your school wants to reduce energy waste (lights and computers left on in empty rooms). Apply all four CT concepts to this problem:
    • Decompose the problem into sub-problems
    • Identify patterns in the data you would collect
    • State what you would abstract and what you would keep
    • Design an algorithm (step-by-step instructions) for a solution
    • Define evaluation criteria to measure success

Connections

  • Prerequisites: Problem Specification – define the problem before applying CT
  • Forward: Flowcharts – visualise algorithms designed through CT
  • Forward: Selection – CT decisions become if/else in code
  • Forward: Iteration – CT repetition becomes loops in code
  • Related: OOP Concepts – abstraction in CT connects to abstraction in OOP

© EduCS.me — A resource hub for IB Computer Science

This site uses Just the Docs, a documentation theme for Jekyll.