Cambridge IGCSE Spec 0478

Cambridge IGCSE Computer Science Revision (0478)

Cambridge IGCSE Computer Science (0478) is taken by students across the world and provides a strong foundation in computing theory, problem-solving and programming. The course is assessed through two written papers: a theory paper covering hardware, software, data and networks, and a problem-solving paper requiring algorithm design, pseudocode and programming skills. This page provides free revision resources aligned to the Cambridge 0478 specification.

What the Cambridge IGCSE Computer Science exam covers

Paper 1 — Theory

1 hr 45 min
75 marks
  • Data representation — binary, denary, hexadecimal, ASCII, Unicode
  • Data storage — images (resolution, colour depth), sound (sampling rate, bit depth)
  • Networks — LAN, WAN, internet, protocols (TCP/IP, HTTP, FTP, DNS)
  • Hardware — CPU, memory, input/output devices, secondary storage
  • Software — operating systems, application software, translators
  • Internet and its uses — World Wide Web, email, online services
  • Automated and emerging technologies — AI, robotics, expert systems
  • Ethics — privacy, intellectual property, environmental impact

Paper 2 — Problem-solving & Programming

1 hr 45 min
50 marks
  • Computational thinking — abstraction, decomposition, pattern recognition
  • Algorithm design — pseudocode, flowcharts, trace tables
  • Programming concepts — sequence, selection (IF/CASE), iteration (FOR/WHILE)
  • Arrays and data structures — 1D and 2D arrays, records
  • Procedures and functions — parameters, return values, scope
  • File handling — reading and writing text files
  • Searching and sorting — linear search, binary search, bubble sort
  • Validation and testing — type, range, presence and format checks

Free interactive revision tools

All tools are completely free — no account required. They work alongside your classroom teaching and are designed around the Cambridge IGCSE specification.

Sample Cambridge IGCSE Computer Science questions

These questions are in the style of Cambridge IGCSE exam questions. Use the hint to check your approach, then visit the Question Bank for hundreds more with mark schemes.

1

A digital image is 800 × 600 pixels with a colour depth of 24 bits. Calculate the file size of the image in megabytes. Show your working.

Paper 1 — Data Representation [3 marks]

Hint: File size = 800 × 600 × 24 = 11,520,000 bits. ÷ 8 = 1,440,000 bytes. ÷ (1024 × 1024) ≈ 1.37 MB. Marks: correct formula [1], correct bits/bytes [1], correct MB answer [1].

2

State two differences between RAM and ROM.

Paper 1 — Hardware [2 marks]

Hint: RAM is volatile (loses data when power is off); ROM is non-volatile [1]. RAM can be read and written; ROM is read-only [1]. RAM stores currently running programs; ROM stores firmware/BIOS [1]. Any 2 valid differences.

3

Write pseudocode for a function that takes an array of integers and returns the sum of all values.

Paper 2 — Programming [4 marks]

Hint: Use Cambridge pseudocode: FUNCTION TotalSum(arr : ARRAY) RETURNS INTEGER. Initialise total ← 0. FOR loop over array. total ← total + arr[i]. RETURN total. Marks: function declaration [1], initialisation [1], loop [1], correct return [1].

4

Describe how a binary search works on a sorted list. State its advantage over a linear search.

Paper 2 — Searching [4 marks]

Hint: Binary search: find midpoint; if target = midpoint, found; if target < midpoint, search left half; if target > midpoint, search right half; repeat until found or no items remain [3]. Advantage: much faster for large sorted datasets — e.g. a list of 1,024 items needs at most 10 comparisons rather than up to 1,024 for linear search [1].

5

Explain what is meant by "abstraction" in computational thinking and give one example.

Paper 2 — Computational Thinking [2 marks]

Hint: Abstraction: removing unnecessary details from a problem and focusing only on what is needed to solve it [1]. Example: a map leaves out building textures but keeps routes and distances [1]; or a class definition hides internal implementation from the user [1].

Want hundreds more practice questions?

The Question Bank has exam-style questions with worked mark schemes — all free.

Open Question Bank →
🎓

Need one-to-one help with Cambridge IGCSE Computer Science?

Gareth is an experienced Computer Science teacher and tutor specialising in Cambridge IGCSE and A Level. Sessions cover the topics you find most difficult — from understanding the FDE cycle to debugging your NEA code. Lessons are online via video call with a shared digital workspace.

Frequently asked questions — Cambridge IGCSE Computer Science

What programming language is used for Cambridge IGCSE Computer Science?

Cambridge 0478 uses pseudocode in the question papers for Paper 2 algorithm and programming questions. Students may answer programming questions in Python, Visual Basic, Java or any high-level language, but pseudocode is the safest choice as it matches the mark scheme directly. Most UK-based IGCSE students use Python.

What is the difference between Cambridge IGCSE 0478 and 0984?

0478 is the standard IGCSE Computer Science qualification. 0984 is the Cambridge IGCSE Computer Science (9–1) qualification for schools using the UK grading scale. The syllabus content is very similar — check which specification your school is entered for.

How long is Paper 1 and Paper 2 for Cambridge IGCSE Computer Science?

Paper 1 (Theory) is 1 hour 45 minutes and worth 75 marks. Paper 2 (Problem-solving and Programming) is also 1 hour 45 minutes and worth 50 marks. Together they account for 100% of the IGCSE grade.

Is there a practical programming exam for Cambridge IGCSE?

Cambridge previously offered a Paper 3 practical assessment, but many international centres now sit Paper 2 as the problem-solving component instead. Check with your school or exam centre for the exact components being taken.

What topics come up most in Cambridge IGCSE Computer Science Paper 1?

Frequently tested topics include: data representation (binary, hex, ASCII, sound sampling, image resolution and colour depth), network hardware and protocols, types of software, the CPU and FDE cycle, and ethics/privacy issues around computing.

How does Cambridge pseudocode differ from OCR or AQA pseudocode?

Cambridge pseudocode uses slightly different syntax. Arrays are declared with DECLARE name : ARRAY. Assignment uses ←. Procedures use PROCEDURE/ENDPROCEDURE. Functions use FUNCTION/ENDFUNCTION and RETURN. Always use the Cambridge pseudocode guide in your revision rather than OCR or AQA pseudocode.

Related pages