GCSE · Computer Science · Edexcel · Spec 1CP2

Abstraction

Try putting a whole football match into a computer: every blade of grass, every fan, every shout. Impossible, and pointless. The real skill is keeping only what your problem needs.

One situation · two problems

Same football match, two different programs

Here is one situation: a football match between two teams. Two programs are being built about it. The results app shows the final score and updates the league table. The match game lets you play the match yourself. For each detail below, tick the program that needs it: one, both, or neither.

  • A Needed by the results app
  • B Needed by the match game
  1. The names of the two teams
  2. How many goals each team has scored
  3. Each team's points in the league table so far
  4. Where each player and the ball are on the pitch
  5. The size and markings of the pitch
  6. The price of a ticket to watch
  7. What the crowd was singing

From situation to program

Build the model, then the data

Example: a cinema wants a program that lets customers book seats for a film online. Go from the real cinema to the data the program needs. Fill in the missing decisions.

  1. Situation: a cinema screen with rows of seats, showing a film. Problem: let customers book a seat online.
  2. Ask what the problem needs: a customer must choose a free seat, for the right showing.
  3. missing step
Which line is step 3?

Why bother?

?

Reason it through

Why does abstraction make a problem easier to solve?

Link 1 of 4

First link · your turn

You've left out every detail the problem doesn't need. What are you left with?

2
Locked — reveal the link above first
3
Locked — reveal the link above first
4
Locked — reveal the link above first

Don't mix these two up

DecompositionvsAbstraction

They're both ways of making a big problem manageable, which is exactly why people confuse them.

Focus

What it does to the problem

Decomposition

Breaks it into smaller sub-problems.

Abstraction

Removes the detail the problem doesn't need.

The insight

One splits, the other strips. If you remember one thing from this section, make it this.

The question you ask

Decomposition

What smaller problems is this made of?

Abstraction

What does this problem actually need?

What you end up with

Decomposition

Several sub-problems, each easier to tackle.

Abstraction

A simpler problem, or model, that keeps only what matters.

How they work together

Decomposition

Break the big problem into sub-problems first.

Abstraction

Then remove the unnecessary detail from the problem and from each sub-problem.

Check your thinking

What is abstraction, really?

Which of these is closest to what you think abstraction is right now?
How sure are you?

Your turn

Abstract a new problem

The sports centre has 4 badminton courts, numbered 1 to 4. Courts can be booked for one hour at a time, between 9 am and 9 pm. Each court has a floor colour and a net. Each member has a membership number, a name, a favourite sport and a photo on their card.

A sports centre wants a program that lets its members book a badminton court for an hour. Using the details below, explain how abstraction would be applied when designing this program, and give one benefit of doing so. [4 marks]

0 words · your answer stays on this page and is not sent anywhere.

WHAT YOU'VE LEARNED

A quick recap of today's lesson.

The trick isn't keeping less. It's keeping exactly what this problem needs.

What you need to know

  • Abstraction is removing or hiding details that are not needed for the problem being solved, so attention stays on the details that matter.
  • Carrying out abstraction means deciding, for a particular problem, which details are relevant (keep them) and which are irrelevant (leave them out).
  • Relevance depends on purpose. The same real-world situation can be abstracted differently for different problems, keeping different details each time.
  • Abstraction builds a model: a simplified representation of part of the real world that keeps only the features needed, so a problem about it can be analysed and solved, including by a computer program.
  • When a situation is turned into a program, abstraction decides which data the program needs to store and process. Everything else is left out of the program.
  • Abstraction reduces complexity. A simpler model or problem is easier to understand, easier to design a solution for and quicker to program, and the solution is less likely to contain unnecessary work.
  • Abstraction is used alongside decomposition. Decomposition breaks a large problem into sub-problems; abstraction removes the unnecessary detail from the problem and each sub-problem, so each can be understood and solved.

The big picture

Abstraction means removing or hiding the details a problem doesn't need, so you can focus on the ones that matter. It's a decision: for this problem, what must be kept and what can be left out? Relevance depends on the problem, so one situation can be abstracted in different ways. What's left is a model, and in a program that model decides which data is stored and processed. Abstraction reduces complexity, and it works alongside decomposition, which breaks a problem into sub-problems.

Key points

1Abstraction: remove or hide the details the problem doesn't need.
2It's a decision: keep what's relevant, leave out what isn't.
3Different problem, different details kept, even for the same situation.
4The result is a model: a simplified representation that keeps only what's needed.
5For a program, the model decides what data is stored and processed.
6It reduces complexity: easier to understand, design and program.
7Decomposition splits; abstraction strips. Use both together.

Worked example

Problem

A school library wants a program that lets students search for books and borrow them. Show how decomposition and abstraction could be used together on this problem.

⚠ Watch out

Leaving a detail out because it 'doesn't matter', without asking: doesn't matter to what? Judge every detail against the problem you've been given, not against how important it feels. The same detail can be useless in one question and essential in the next.

🧠

Memory hook

Keep what THIS problem needs. Leave out the rest. Change the problem, change what you keep.

✓

Check yourself

Think of a bus. Name one detail a timetable program needs that a seating-plan program doesn't, and one detail the other way round. Why do the two programs keep different details?

Flashcards

(13)
What is abstraction?
Removing or hiding the details that aren't needed for the problem being solved, so you can focus on the ones that matter.
What decision do you make when you carry out abstraction?
For this particular problem: which details are relevant (keep them) and which are irrelevant (leave them out).
Can the same situation be abstracted in more than one way?
Yes. Different problems need different details, so each abstraction keeps different ones.
Why is there no fixed list of 'irrelevant' details?
A detail that one problem doesn't need can be essential to another, like pitch size: useless to a results app, vital to a match game.
In abstraction, what is a model?
A simplified representation of part of the real world that keeps only the features needed for the problem.
What is a model used for?
To analyse and solve a problem about the real situation, including by a computer program.
When a situation becomes a program, what does abstraction decide?
Which data the program needs to store and process. Everything else is left out of the program.
What is the main benefit of abstraction?
It reduces complexity.
Give two ways a simpler model helps when writing a program.
The solution is easier to design, and it's quicker to program.
How does abstraction affect the finished solution?
It's less likely to contain unnecessary work, because it only handles what the problem needs.
Decomposition vs abstraction: what does each do?
Decomposition breaks a problem into smaller sub-problems. Abstraction removes the detail a problem doesn't need.
How are decomposition and abstraction used together?
Decompose the problem into sub-problems, then remove the unnecessary detail from the problem and each sub-problem, so each can be understood and solved.
Is the aim of abstraction to make a problem as simple as possible?
No. Remove a detail the problem needs and the model can't solve it. Keep everything needed, and nothing else.

Tap any card to flip it, or use Study as deck to go through them one at a time. In the full lesson these run as a spaced-repetition deck — you rate each card Hard, Good or Easy and the tricky ones keep coming back until they stick.

Learning with Lightbulb is opening soon

You can use this lesson now. Join the waitlist and we'll let you know when the full Lightbulb experience is ready.

Keep me posted

More Edexcel GCSE Computer Science topics

See the full Edexcel Computer Science curriculum →

How this lesson was checked. This Edexcel GCSE Computer Science (specification 1CP2)lesson was published through Lightbulb Learning's human-designed editorial process — the educational standards, accuracy rules and publication checks it must pass were authored and approved by Philip Halpin. It passed subject-specific assessment, automated educational checks and technical publication verification before going live (publication checks completed 29 September 2026). Published pages are monitored, human spot-checking is ongoing across the lesson library, and anything found wrong is corrected or withdrawn. How our lessons are made and checked. Spotted a mistake? Email hello@lightbulblearning.co and we'll review it.