Cambridge IGCSE Computer Science · 0478
IGCSE Computer Science (0478) Algorithm design and problem-solving past paper questions
Revise IGCSE Computer Science (0478) — Algorithm design and problem-solving with real Cambridge past-paper questions grouped by topic, each shown with its marking scheme. Working one topic at a time targets exactly the skill each question tests.
104 free questions from 2016–2021, each with its marking scheme. Open the full topical bank to filter by subtopic, paper, and year.
Algorithm design and problem-solving in IGCSE Computer Science 0478 exams, 2020–2025
Across 2020–2025, Algorithm design and problem-solving accounted for 164 questions worth 1,320 marks in Cambridge IGCSE Computer Science (0478) papers.
| Year | Questions | Marks |
|---|---|---|
| 2020 | 14 | 135 |
| 2021 | 19 | 159 |
| 2022 | 20 | 174 |
| 2023 | 40 | 334 |
| 2024 | 36 | 241 |
| 2025 | 35 | 277 |
2021 Feb/Mar · Paper 2 · Q1 · 20 marks




Marking scheme
2021 May/Jun · Paper 2 · Q1 · 20 marks



Marking scheme
2021 Feb/Mar · Paper 2 · Q2 · 11 marks


Marking scheme
2021 May/Jun · Paper 2 · Q2 · 8 marks


Marking scheme
2021 Oct/Nov · Paper 2 · Q2 · 8 marks


Marking scheme
Showing 5 of 104 free Algorithm design and problem-solving questions.
See them all in the topical bank



![Mark scheme: Section A 1(a) Array TrainUpPassengers // TrainUpPassengers[] Data type Integer/int Use storing the number of passengers on…](/api/pastpapers/0478/asset/0478_MJ21_22/ms1.webp?v=1789211676)
![Mark scheme: Section A 1(a) Array TrainUpPassengers // TrainUpPassengers[] Data type Integer/int Use storing the number of passengers on… (continued)](/api/pastpapers/0478/asset/0478_MJ21_22/ms1_2.webp?v=1789211676)
![Mark scheme: Section A 1(a) Array TrainUpPassengers // TrainUpPassengers[] Data type Integer/int Use storing the number of passengers on… (continued)](/api/pastpapers/0478/asset/0478_MJ21_22/ms1_3.webp?v=1789211676)
![Mark scheme: Section A 1(a) Array TrainUpPassengers // TrainUpPassengers[] Data type Integer/int Use storing the number of passengers on… (continued)](/api/pastpapers/0478/asset/0478_MJ21_22/ms1_4.webp?v=1789211676)
![Mark scheme: Section A 1(a) Array TrainUpPassengers // TrainUpPassengers[] Data type Integer/int Use storing the number of passengers on… (continued)](/api/pastpapers/0478/asset/0478_MJ21_22/ms1_5.webp?v=1789211676)



![Mark scheme: Section B 2(a) Line 1 should be Counter ← 0 Line 3 RandNum[Counter] ← Rand(1, 100)should be RandNum[Counter] ← Rand(1, 101)…](/api/pastpapers/0478/asset/0478_ON21_21/ms2.webp?v=1789211677)