Fetching your paper…
Paper 12, worked through. Cambridge IGCSE Computer Science, May/June 2026: worked solutions
Computer Science 0478/12 · May/June 2026 · 7 questions · 75 marks

Seventy-five marks in an hour and three quarters, so there is time to think. No calculator is allowed, which is why the number conversions use small values: show your working beside them. Count the marks before you answer. "Give two" wants two short points. "Explain" for three or more marks wants that many separate points, each one a new fact. Brand names earn nothing: write "solid-state drive", not the name of a product.
- 1(a)Deciding what kind of device a microphone is.[1]
The question as printed, from page 2 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- A microphone takes sound in from the outside world and sends it to the computer as data.
- A device that sends data into a computer is an input device.
AnswerA: input
Tick one box only. If two are ticked, no mark can be given.
Revise this: Input devices - 1(b)Naming the smallest unit of data.[1]
The question as printed, from page 2 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- All data is stored in binary, as 1s and 0s. A single 1 or 0 is a bit.
- A nibble is 4 bits and a byte is 8, so the bit is the smallest.
AnswerA bit
A byte is the most familiar unit, but it is not the smallest.
Revise this: Measuring storage and calculating file sizes - 1(c)(i)Identifying the number base of two's complement.[1]
The question as printed, from page 2 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Two's complement is a way of writing positive and negative integers using only 1s and 0s.
- A system with two digits is binary, which is base 2.
AnswerA: base 2
The "two" in the name is a hint, but the real reason is that it is a binary system.
Revise this: Two's complement - 1(c)(ii)Writing a positive number as an 8-bit two's complement integer.[1]
The question as printed, from page 2 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- A positive number in two's complement is the same as in ordinary binary, with a 0 as the leftmost bit.
- The place values are −128, 64, 32, 16, 8, 4, 2, 1. Only the 32 is needed.
- Put a 1 under 32 and 0 everywhere else.
Answer00100000
Write all eight bits. The leading zeros are required for the mark.
Revise this: Two's complement - 1(c)(iii)Writing a negative number as an 8-bit two's complement integer.[1]
The question as printed, from pages 2 and 3 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Start with +14 in 8-bit binary: 8 + 4 + 2 = 14, so 00001110.
- Flip every bit: 11110001.
- Add 1: 11110010.
- Check with the place values: −128 + 64 + 32 + 16 + 2 = −14.
Answer11110010
Always check a negative answer by adding the place values, with the leftmost worth −128. It takes ten seconds.
Revise this: Two's complement - 1(d)Naming a sensor that a smartwatch would contain.[1]
The question as printed, from page 3 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Think about what a smartwatch does: it counts steps and wakes its screen when the wrist turns. Both need to detect movement.
- The sensor that detects movement and tilt is an accelerometer.
AnswerAn accelerometer
Name the sensor. "It measures movement" is a description, not a name, and is not accepted. A light, temperature, pressure or proximity sensor would also do.
Revise this: Sensors - 2(a)Stating what the CPU is for.[1]
The question as printed, from page 4 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- The CPU is the part of the computer that carries out the instructions of programs.
AnswerTo process data and execute instructions (it carries out the fetch–decode–execute cycle).
Say "instructions" or "data". "It runs programs" or "it does tasks" is too vague.
Revise this: The CPU and Von Neumann architecture - 2(b)Naming two registers other than the two given.[2]
The question as printed, from page 4 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- The registers in the syllabus are the PC, MAR, MDR, CIR and ACC. The MAR and MDR are given in the question, so they cannot be used.
- That leaves the program counter, the current instruction register and the accumulator.
AnswerThe program counter (PC) and the accumulator (ACC). The current instruction register (CIR) is also accepted.
Read the question for what has been ruled out. Repeating the MAR or MDR earns nothing. The ALU and the control unit are not registers.
Revise this: The CPU and Von Neumann architecture - 2(c)Explaining what the MAR and MDR do when a value is fetched from RAM.[3]
The question as printed, from page 4 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Three marks, so make three points.
- The MAR holds an address: the address of the place in RAM where the value is stored.
- The MDR holds data: the value is copied from that address into the MDR.
AnswerThe MAR holds the address of the location in RAM of the value to be fetched. The value stored at that address is then copied to the MDR, which holds it.
"Address" goes with the MAR and "data" goes with the MDR. The names tell you which is which.
Revise this: The fetch–decode–execute cycle - 2(d)Describing what a clock speed of 3 GHz means.[2]
The question as printed, from page 4 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Hertz means "per second". Giga means a billion. So 3 GHz is 3 billion per second.
- What is counted is cycles: fetch–decode–execute cycles.
AnswerThe CPU can carry out 3 billion fetch–decode–execute cycles each second.
Two marks: the number (3 billion) and what it measures (cycles, or instructions processed, per second). "It is fast" earns nothing.
Revise this: Cores, cache and clock speed - 3(a)Finding the statement about hexadecimal that is not true.[1]
The question as printed, from page 5 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Hexadecimal is shorter than binary, so it takes less room on a screen and is easier for people to read. Shorter codes are also easier to debug.
- But hexadecimal is only a way of showing a number to people. Inside the computer the value is still stored in binary, so it takes exactly the same storage.
AnswerD: it is not true that hexadecimal uses less storage space than binary.
The benefits of hexadecimal are all for people. It never saves memory or storage.
Revise this: Hexadecimal - 3(b)Converting two three-digit hexadecimal codes to binary.[2]
The question as printed, from page 5 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Each hex digit becomes its own group of four bits.
- 152: 1 is 0001, 5 is 0101 and 2 is 0010.
- 30F: 3 is 0011, 0 is 0000 and F (15) is 1111.
Answer152 is 000101010010. 30F is 001100001111.
Every hex digit needs four bits, even 0 and 1. Three digits must give twelve bits.
Revise this: Hexadecimal - 3(c)Converting two 12-bit binary numbers to hexadecimal.[2]
The question as printed, from page 5 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Split each number into groups of four bits, starting from the right.
- 0100 0111 0101: these are 4, 7 and 5.
- 1010 1110 1000: these are 10 (A), 14 (E) and 8.
Answer010001110101 is 475. 101011101000 is AE8.
Write the place values 8, 4, 2, 1 above each group. 10 to 15 become the letters A to F.
Revise this: Hexadecimal - 3(d)Converting two three-digit hexadecimal codes to denary.[2]
The question as printed, from page 6 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- The place values of a three-digit hex number are 256, 16 and 1.
- 0A2: 0 × 256 + 10 × 16 + 2 = 160 + 2 = 162.
- 104: 1 × 256 + 0 × 16 + 4 = 260.
Answer0A2 is 162. 104 is 260.
The third place from the right is worth 256, which is 16 × 16. Forgetting it gives 20 for the second answer.
Revise this: Hexadecimal - 3(e)(i)Naming the other two parts of a packet.[2]
The question as printed, from page 6 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- A packet has three parts. The payload is the data itself.
- In front of it is the header, with the addresses and the packet number. After it is the trailer.
AnswerThe header and the trailer.
Revise this: Packets and packet switching - 3(e)(ii)Explaining what a router does in packet switching.[3]
The question as printed, from page 6 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Three marks, so three things the router does.
- It reads the destination address in the header of each packet.
- It decides which route the packet should take, choosing the most efficient one at that moment.
- It sends the packet on towards its destination.
AnswerThe router reads the destination IP address of each packet. It decides the route the packet will take, choosing the fastest one. It then forwards the packet towards its destination.
The answer has to be about the router. "Each packet takes a different route" on its own does not say what the router does, so it earns nothing.
Revise this: Packets and packet switching - 3(f)(i)Giving two features of magnetic storage, other than moving parts.[2]
The question as printed, from page 6 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Picture a hard disk drive. Data is stored on spinning platters.
- Each platter is divided into tracks and sectors. Data is read and written by a read/write head that uses electromagnets.
AnswerIt stores data on platters that are divided into tracks and sectors. It uses electromagnets to read and write the data.
Write "electromagnets". "It uses magnets" is too vague to earn the mark.
Revise this: Secondary storage: magnetic, optical and solid state - 3(f)(ii)Choosing storage with faster read and write speeds than magnetic.[1]
The question as printed, from page 7 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- A magnetic drive is slowed down by its moving parts: the platter has to spin and the head has to move.
- Solid-state storage has no moving parts, so it reads and writes much faster.
AnswerSolid-state storage (a solid-state drive)
Revise this: Secondary storage: magnetic, optical and solid state - 3(g)(i)Giving two reasons for choosing lossless compression for the videos.[2]
The question as printed, from page 7 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Lossless compression loses no data, so the original video can be rebuilt exactly.
- Say why that matters to the service: it keeps the original version, and the picture quality is not reduced.
AnswerThe original video can be recovered exactly. The quality of the videos is not reduced.
"No data is permanently removed" only says what lossless means. The question asks why they chose it, so give the benefit: full quality, and the original kept.
Revise this: Compression - 3(g)(ii)Giving one advantage of lossy compression for the service.[1]
The question as printed, from page 7 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Lossy compression removes data permanently, so the files are much smaller than with lossless.
- Smaller files take less storage, and are quicker to send, using less bandwidth.
AnswerThe video files would be smaller (so they take less storage space, or are quicker to transmit).
Give one clear advantage. For a streaming service, "less likely to buffer" is also accepted.
Revise this: Compression - 3(g)(iii)Explaining how lossless compression makes a video smaller.[4]
The question as printed, from page 7 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Four marks, so four points, in order.
- A compression algorithm is used, such as run-length encoding (RLE).
- It looks for data that repeats: pixels of the same colour next to each other, or frames that are the same.
- Each run of repeated data is stored once, together with the number of times it repeats.
AnswerA compression algorithm such as run-length encoding is used. Repeating pixels or frames are identified. Each repeated item is stored once, with a count of how many times it occurs, so no data is lost.
Say what repeats: pixels or frames. "Repeating data" or "repeating patterns" is too vague for the mark.
Revise this: Compression - 4(a)Working out the parity bit for three bytes, using odd parity.[3]
The question as printed, from page 8 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- With odd parity, each complete byte, including its parity bit, must contain an odd number of 1s.
- First byte, 0101110: it has four 1s. Four is even, so the parity bit must be 1 to make five.
- Second byte, 1110111: it has six 1s. The parity bit must be 1 to make seven.
- Third byte, 1000100: it has two 1s. The parity bit must be 1 to make three.
Answer1, 1 and 1
Count the 1s: do not add up place values. If the count is already odd, the parity bit is 0. Here all three counts are even.
Revise this: Finding errors: parity, checksums and echo checks - 4(b)(i)Explaining why a parity check can miss an error.[2]
The question as printed, from page 8 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- A parity check only counts the 1s in each byte.
- If two bits change, or two bits swap places (a transposition), the number of 1s is still odd.
- The byte still passes the check, so the error is not noticed.
AnswerAn even number of bits may have changed, or two bits may have swapped places. The number of 1s in the byte is then still odd, so the byte still passes the parity check.
Two marks: what happened to the bits, and why the check still passes.
Revise this: Finding errors: parity, checksums and echo checks - 4(b)(ii)Naming two other ways of detecting errors in transmitted data.[2]
The question as printed, from page 8 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- The methods for transmission errors are the parity block check, the checksum, the echo check and automatic repeat query.
AnswerA checksum and an echo check. (A parity block check or automatic repeat query would also do.)
Not a check digit. A check digit finds mistakes in data entry, and this question is about transmission.
Revise this: Finding errors: parity, checksums and echo checks - 4(c)(i)Naming a method of encryption.[1]
The question as printed, from page 9 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- There are two: symmetric encryption, which uses one key, and asymmetric encryption, which uses a public key and a private key.
AnswerSymmetric encryption (or asymmetric encryption)
SSL is not accepted. It is a protocol that uses encryption, not a method of encryption.
Revise this: Encryption - 4(c)(ii)Saying what an encryption key is.[1]
The question as printed, from page 9 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Encryption uses an algorithm to scramble the data. The key is the value the algorithm uses to do it.
AnswerA string of characters used by an encryption algorithm to encrypt (and decrypt) data.
Revise this: Encryption - 4(c)(iii)Naming data that has been encrypted.[1]
The question as printed, from page 9 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Data before encryption is called plaintext. After encryption it is ciphertext.
AnswerCiphertext
Revise this: Encryption - 5(a)Completing a table of cyber security threats: three names and two descriptions.[5]
The question as printed, from page 10 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Repeatedly trying different combinations to crack a password is a brute-force attack.
- Hacking needs a description: gaining unauthorised access to a computer system or an account.
- Many computers sending a huge number of requests to crash a web server is a distributed denial of service (DDoS) attack.
- Spyware needs a description: malware that records what the user does, such as their key presses, and sends it to a third party.
- Software that examines data packets as they are transmitted is data interception.
AnswerBrute-force attack. Hacking: a person gains unauthorised access to a device, system or account. Distributed denial of service (DDoS) attack. Spyware: malware that records the user's key presses and sends them to a third party. Data interception.
For hacking, the idea of unauthorised access is the mark. "Stealing data" alone is too vague. For spyware, say what is recorded: "it tracks the user" is too vague.
Revise this: Cyber security threats - 5(b)Explaining how access levels reduce the damage an attacker can do.[5]
The question as printed, from page 11 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Five marks, so five separate points. Start with what access levels are.
- Each user is given a level of access, with permissions such as read-only, read and write, or administrator. This limits the data each user can reach.
- Now think about an attacker who gets into one account. They only have that user's permissions.
- So they can only see the data that user can see, and cannot reach more confidential data.
- With read-only access they cannot change or delete data. Without administrator rights they cannot install malware.
AnswerAccess levels limit the data each user can reach, by giving users different permissions, such as read-only or administrator. An attacker who gets into an account can only reach the data that user can. They are stopped from seeing more confidential data, from changing or deleting data they have no write permission for, and from installing malware without administrator rights.
Name a permission, such as "read-only". "Different levels of access" just repeats the question. Then make each consequence a separate sentence: one mark each.
Revise this: Keeping data safe - 6(a)Explaining how a photograph becomes binary.[3]
The question as printed, from page 12 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Three marks, three steps.
- The image is broken down into a grid of tiny squares called pixels.
- Each pixel is a single colour.
- Each colour has its own binary value, and the value for every pixel is stored.
AnswerThe image is divided into pixels. Each pixel is one colour. Each colour is given a binary value, and these values are stored for all the pixels.
Resolution and colour depth are not asked for and are not credited here. The question is how the image becomes binary, not how good it is.
Revise this: Images - 6(b)Explaining how an AI app gets better at naming flowers.[4]
The question as printed, from page 12 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Getting better with experience is machine learning: the program adapts its own data and rules.
- Say how it happens here. The app can be trained by being shown many pictures of flowers with their names.
- It analyses the pictures to find the patterns that go with each kind of flower.
- It can also use feedback from users, storing which identifications were right and which were wrong.
AnswerThe app can use machine learning: it adapts its own rules and data. It is trained with many images of flowers and analyses the patterns in them. It uses feedback from users about whether each identification was correct, and stores the successful and unsuccessful ones to improve.
"It can learn and adapt" is not enough on its own. Say what it adapts (its data or rules) and what it learns from (training images, or users' feedback).
Revise this: Artificial intelligence - 6(c)(i)Giving an advantage to the user of the app keeping its data in the cloud.[1]
The question as printed, from pages 12 and 13 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- The app needs a large database of flower images. In the cloud, that database is on remote servers, not on the phone.
- So it does not use up the phone's storage.
AnswerThe app's data does not take up storage space on the user's smartphone.
Fit the answer to this user. "It can be accessed anywhere" is too vague: a phone goes everywhere anyway. Not having to maintain hardware is not relevant to a phone user either.
Revise this: Cloud storage - 6(c)(ii)Giving two disadvantages to the user of the data being in the cloud.[2]
The question as printed, from pages 12 and 13 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- The data is somewhere else, so it has to be fetched over the internet. With no connection, the app cannot reach it.
- The data is on someone else's servers. If they fail, the app stops working. And the user relies on that company to keep any data secure.
AnswerAn internet connection is needed to reach the data, so the app may not work without one. If the cloud servers are down, the app cannot be used.
Say "internet connection". "Wi-Fi" or "a network" is too vague. The cost of cloud storage is not accepted here: the user of the app does not pay for it.
Revise this: Cloud storage - 7(a)Saying what a low-level language is.[1]
The question as printed, from page 14 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Programming languages sit on a scale. At one end are languages close to human language. At the other are languages close to what the processor itself works with.
- A low-level language is at the processor's end.
AnswerA language that is close to machine code, the language processed by the computer.
Describe what it is. An advantage, such as "it can control hardware directly", does not answer the question. Nor does "it uses mnemonics": machine code does not.
Revise this: High-level and low-level languages - 7(b)Naming two low-level languages.[2]
The question as printed, from page 14 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- There are two kinds: machine code, which is binary, and assembly language, which uses mnemonics.
AnswerAssembly language and machine code
Revise this: High-level and low-level languages - 7(c)Naming a translator for a low-level language.[1]
The question as printed, from page 14 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- Assembly language is translated into machine code by an assembler.
AnswerAn assembler
Compilers and interpreters translate high-level languages.
Revise this: High-level and low-level languages - 7(d)Giving two reasons for writing a vending machine's program in a low-level language.[2]
The question as printed, from page 14 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- A vending machine is an embedded system: one fixed piece of hardware with little memory, doing one job.
- A low-level program can control that hardware directly, and it can be written to use memory efficiently and run fast.
AnswerIt can directly manipulate the hardware of the vending machine. The program will use memory more efficiently (or will run faster).
Use the word "directly". A high-level program can also work with hardware, so "it can communicate with the hardware" is too vague.
Revise this: High-level and low-level languages - 7(e)Picking the three functions of an IDE out of a list of eight terms.[3]
The question as printed, from page 14 of the paper.The paper couldn’t be fetched just now, so the question isn’t shown. Open the whole paper Show how to do itHide the working
- An IDE provides tools for writing, running and debugging code. Check each term against that.
- Auto-correction fixes typing mistakes in code. Prettyprint colours and indents code. A run-time environment runs the program inside the IDE. These are all IDE functions.
- IP addresses, MAC addresses and protocols belong to networks. Machine independence is a property of high-level languages. A binary converter is not an IDE function.
AnswerAuto-correction, prettyprint and run-time environment
When choosing from a list, cross out the ones that belong to another topic first. Here that removes four straight away.
Revise this: Integrated development environments
What this paper asked about
Got one wrong? That’s the topic to revise next.
- Hexadecimal4 parts
- High-level and low-level languages4 parts
- Two's complement3 parts
- Compression3 parts
- Finding errors: parity, checksums and echo checks3 parts
- Encryption3 parts
- The CPU and Von Neumann architecture2 parts
- Packets and packet switching2 parts
- Secondary storage: magnetic, optical and solid state2 parts
- Cloud storage2 parts
- Input devices1 part
- Measuring storage and calculating file sizes1 part
- Sensors1 part
- The fetch–decode–execute cycle1 part
- Cores, cache and clock speed1 part
- Cyber security threats1 part
- Keeping data safe1 part
- Images1 part
- Artificial intelligence1 part
- Integrated development environments1 part
These explanations are Papermunch’s own, written to teach the method. The answers have been checked against the exam board’s mark scheme, which has the final say: open it above. The question paper and mark scheme belong toCambridge University Press & Assessment: each question shown here is drawn from the paper itself as you read, and is not kept on this site.