Open the app
  1. Home
  2. Lessons
  3. GCSE & IGCSE Computer Science
  4. Decomposition and abstraction

Decomposition and abstraction

🎬 The doodle video for this lesson is coming soon. Subscribe on YouTube to see it first.

Computational thinking is how programmers tackle big problems. Two key skills are breaking problems down and hiding unnecessary detail.

Decomposition

Decomposition means breaking a problem into smaller, more manageable sub-problems.
Each part can be solved, tested and even shared between team members separately.

Abstraction

Abstraction means removing unnecessary detail to focus on what matters.
A London Underground map is an abstraction: it shows stations and connections, not real distances or streets.

Why it helps

Smaller parts are easier to understand, write and test.
Abstraction makes models simpler, so programs are quicker to write and run.
Together they let programmers tackle problems that would be too complex in one go.
Worked example

Decompose the problem: "Create a quiz game."

  1. Store the questions and answers.
  2. Display a question and get the player's answer.
  3. Check the answer and update the score.
  4. Show the final score at the end.

Answer: Store questions, ask, check and score, show result.

Key idea

Decomposition breaks a problem into smaller sub-problems. Abstraction removes unnecessary detail. Both make complex problems manageable.

Check you have got it

Answer 6 quick questions with instant marking. If you get one wrong, GCSE-ready shows you why and gives you another go. It is free, and you do not need an account.