← IGCSE Computer Science Paper 2

Applying abstraction to a scenario

Read the scenario, list the details the solution needs and cross out the rest, saying 'because' for each choice (e.g. a bus app keeps times, not bus colour).

Understanding Applying abstraction to a scenario in IGCSE Computer Science Paper 2

What it does: A kept detail is explained with 'because', linking it to what the solution needs to do. Keep only details the solution needs. The score is needed to show results. Bag colour has no effect on a quiz, so it is crossed out. Departure times are essential for a timetable app. Bus colour does not help passengers plan a journey, so it is removed. Abstraction starts with reading the scenario carefully and listing which details are needed. Coding comes later. A scoreboard needs names and scores to rank players. Favourite food is not needed, so it is ignored. Being mentioned in a scenario does not make a detail necessary. If the solution does not use it, cross it out.

Common mistakes: The quiz needs the score to rank students, so it must be kept. The line should start with KEEP, not REMOVE. Bus colour does not help riders find a bus, so it should be removed. Line 2 should keep the times because riders wait for them.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 107–118) and word search (Modules 94–118).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A school quiz app needs to store each student's score. Which detail should be kept?
The student's score, because the app must show resultsThe colour of the student's school bag, because it is part of the scenario
Matches
REMOVE departure times from the bus app
↓
Departure times are essential to a timetable app, so removing them is wrong. Only details the solution does not need should be crossed out.
Applying
Meanings
Term
abstract a scenario
Meaning
Read the scenario, list the details the solution needs and cross out the rest, saying 'because' for each choice (e.g. a bus app keeps times, not bus colour).
Practice
Scenario: bus timetable app
Testing
Gaps
// Quiz app: keep Score it is used
Check Answer
Spots
2KEEP questions because asked
3REMOVE score because it ranks

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Rhinoceros' badge — Thick-Skinned Coder, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A school quiz app needs to store each student's score. Which detail should be kept?
A. The colour of the student's school bag, because it is part of the scenario
B. The student's score, because the app must show results ✓
Keep only details the solution needs. The score is needed to show results. Bag colour has no effect on a quiz, so it is crossed out.
2. You are abstracting a bus timetable app. Which detail would you cross out?
A. The colour of the bus, because it does not help passengers find times ✓
B. The departure time, because it is the same for every bus
Departure times are essential for a timetable app. Bus colour does not help passengers plan a journey, so it is removed.
3. What is the correct first step when applying abstraction to a scenario?
A. Read the description and list the details the solution needs ✓
B. Start writing the program code straight away
Abstraction starts with reading the scenario carefully and listing which details are needed. Coding comes later.
4. A game scoreboard shows the top players. Which detail is needed?
A. The player's favourite food, because it is a detail about the player
B. Each player's name and score, because the scoreboard ranks players ✓
A scoreboard needs names and scores to rank players. Favourite food is not needed, so it is ignored.
5. Which statement about abstraction is correct?
A. Details are crossed out when the solution does not need them ✓
B. Every detail in the scenario must be kept in case it is useful
Abstraction removes unnecessary detail so the solution focuses on what matters.

Match the Pairs

KEEP: stop names, departure times → These details are needed for a bus timetable app to tell passengers when buses leave, so they are listed as needed
REMOVE: bus colour, driver's name → These details are not needed by the timetable app, so they are crossed out as irrelevant
Justify keeping a detail in a school quiz app using 'because' → KEEP score because the app must show how many answers are right
Justify removing a detail from a game scoreboard using 'because' → REMOVE avatar colour because it does not change the ranking
REMOVE departure times from the bus app → Departure times are essential to a timetable app, so removing them is wrong. Only details the solution does not need should be crossed out.
KEEP the quiz writer's favourite colour → The detail is kept with no 'because' and it is not needed by the quiz app. It should be crossed out, with a reason given.

Key Term

abstract a scenario
Read the scenario, list the details the solution needs and cross out the rest, saying 'because' for each choice (e.g. a bus app keeps times, not bus colour).

Fill in the Blanks

1. // Quiz app: keep Score because it is used
Hint: Type the word used to justify each detail you keep or remove.
2. // Keep: Stop and DepartureTime INPUT Stop OUTPUT DepartureTime
Hint: Type the variable name for the detail the bus app asks the user to enter, as listed in the comment.
3. // Scoreboard keeps Points, not the avatar Total ← Total + Points
Hint: Type the pseudocode assignment symbol (typed as <-).
4. // Scoreboard keeps Score, not the logo OUTPUT Score
Hint: Type the pseudocode keyword that displays a value.
5. INPUT Answer IF Answer = CorrectAnswer THEN Score ← Score + 1
Hint: Type the keyword that follows the condition in a pseudocode IF statement.

Spot the Error

Question 1
A APP: school quiz
B KEEP questions because asked
C REMOVE score because it ranks
D REMOVE font because not needed
Line C — The quiz needs the score to rank students, so it must be kept. The line should start with KEEP, not REMOVE.
Question 2
A APP: bus timetable
B KEEP colour because it looks
C REMOVE colour because unused
Line B — Bus colour does not help riders find a bus, so it should be removed. Line 2 should keep the times because riders wait for them.
Question 3
A APP: game scoreboard
B REMOVE name because players see
C KEEP points because it ranks
D REMOVE avatar because unused
Line B — A scoreboard must show who scored, so the player name is needed. It should be KEEP, not REMOVE.
Question 4
A APP: school quiz
B KEEP questions and answers
C KEEP score for each student
D REMOVE answers: not needed
Line D — A quiz cannot mark responses without the answers, so they are needed. The detail to remove is the unrelated room colour.
Question 5
A 1 Write the code first
B 2 List details it needs
C 3 Cross out details not needed
D 4 Say because for each choice
Line A — Abstraction starts by reading the scenario. Writing code comes later, after the needed details are chosen.

Student with a class code? Join your class →