Skip to content
IGCSE·Tuition
Computer Science · Lesson

Distinguish error detection from correction

Parity, checksums and repeat requests all get called error checking, but they do very different jobs.

On this page
  1. What does each method do?
  2. How does ARQ work?
  3. Worked example: correcting with repetition
  4. What mistake do students make?
  5. Check yourself
  6. Where this leads next

Error detection finds out that data has changed. Error correction repairs the data. Questions often ask which one a method does, so the exact verb in your answer matters.

This lesson completes data transmission and checking. It builds on parity and checksums.

What does each method do?

MethodWhat it doesFixes the data?
Parity bitDetects an odd number of flipped bitsNo
ChecksumDetects most accidental changesNo
Check digitDetects typing or scanning errors in a codeNo
Echo checkSender compares returned data with the originalNo
ARQReceiver says “good” or “send again”; sender retries on timeoutRecovers by resending
Repetition codeEach bit sent several times; majority voteYes, for a limited number of flips

Check with your syllabus which of these names appear, since Cambridge sets the content and may update it.

How does ARQ work?

  1. The sender transmits a packet with check data.
  2. The receiver runs the check.
  3. If it passes, the receiver sends a positive acknowledgement. If it fails, it sends a negative acknowledgement or says nothing.
  4. The sender waits for a timeout. With no acknowledgement, or a negative one, it resends. After a set number of tries it gives up.

ARQ does not repair the damaged data. It replaces it with a fresh copy.

Worked example: correcting with repetition

A sender wants to send the bits 1, 0, 1. It sends each bit three times: 111 000 111.

The receiver gets 111 010 111. For each group it counts the 1s and takes the majority.

ones ← 0
FOR i ← 1 TO 3
   IF Group[i] = 1 THEN
      ones ← ones + 1
   ENDIF
NEXT i
IF ones >= 2 THEN
   result ← 1
ELSE
   result ← 0
ENDIF

Trace for the middle group 0, 1, 0: i=1 gives ones 0, i=2 gives ones 1, i=3 stays 1. Since 1 is less than 2, result = 0. So the middle bit is corrected to 0.

The groups 111 and 111 give 3 ones, so both results are 1. The message is repaired as 1, 0, 1 without asking for a resend. The cost is that the data takes three times as long to send.

What mistake do students make?

A common statement is: “Parity checks the data and corrects any errors.”

It does not. Parity only detects.

To correct, the receiver needs enough extra information to work out the right value, as in the majority vote above, or it must ask for a new copy. Write “detects” for parity and checksum, and “resends” for ARQ.

Check yourself

1. State whether each one detects or corrects: (a) parity bit, (b) majority vote on three copies of a bit.

Show answer

(a) Detects. (b) Corrects, if only one of the three copies is wrong.

2. A group of three bits arrives as 1, 1, 0. What bit was probably sent?

Show answer

Two 1s and one 0, so the majority is 1. The bit sent was probably 1.

3. An ARQ sender gets no reply before the timeout. What does it do?

Show answer

It resends the packet, up to the set number of tries.

Where this leads next

Take what you have learnt into the practice set, which mixes all five lessons. Return to the module overview if you need the order of topics.

Mixing up “detects” and “corrects” is an easy way to lose marks, and a teacher can drill the difference with you in online one-to-one Computer Science tuition.

Questions people ask

What is the difference between detection and correction?

Detection tells the receiver that something is wrong. Correction repairs the data without going back to the sender. Parity and checksums only detect. Extra redundant bits, as in repetition codes, can also correct. Resending the data after an error is detected is a recovery method rather than true correction.

What is ARQ?

Automatic repeat request is a method where the receiver replies with an acknowledgement if the data passed its check, or a request to resend if it failed. The sender also resends if no acknowledgement arrives before a timeout. It depends on a detection method such as parity or a checksum.

What is an echo check?

In an echo check the receiver sends the data back and the sender compares it with the original. If they match, the data probably arrived correctly. It has a weakness: an error could have occurred on the return trip, so a mismatch does not prove the first transmission failed.

Updated:

Your next step

If the difference between detecting and correcting keeps blurring in your answers, a one-to-one teacher can sort each method into place with you using fresh examples.

Paid one-hour trial at your assigned teacher’s confirmed rate, starting from RM80.

Tuition is arranged with a parent or guardian. Send them this page on WhatsApp and they can enquire for you.

Parents: enquire here

  • 9,000+ students helped through our service
  • 9+ years helping IGCSE students