← IGCSE Computer Science Paper 1

What an echo check cannot tell you

An echo check cannot tell if the error happened on the way there or back, and it can miss errors if both trips are damaged the same way.

Understanding What an echo check cannot tell you in IGCSE Computer Science Paper 1

What it does: The arrived data equals the sent data, so the receiver is correct, but the echo is different, so the check gives a false alarm. The receiver returns a full copy of what it got, so the total traffic is twice the size of the original data. The sender only compares the original with the echo. The mismatch could come from either trip, so an echo check cannot say which one was damaged. Two matching errors can reverse each other. For example, a bit flipped 0 to 1 on the way there and 1 to 0 on the way back gives the original value again.

Common mistakes: In this scenario the data arrived fine and only the echo was corrupted on the way back. So received should still be "1100", the same as sent. For the errors to cancel out, the first trip must also damage the data. received should be "1100", with a bit changed, and the return trip then flips it back so the echo matches sent.

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 168–178) and word search (Modules 168–188).

Take this worksheet further — free with Cloodit

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

Learning
Duo
An echo check finds that the returned data does not match the original. Can it tell you which trip caused the error?
Yes, it always shows the error happened on the way thereNo, it cannot tell if the error happened on the way there or on the way back
Matches
if echo != sent: print('Error on the way there')
↓
A mismatch does not show where the error happened. It could have occurred on the way there or on the way back, so the code cannot name the outbound trip.
Applying
Meanings
Term
echo check limit
Meaning
An echo check cannot tell if the error happened on the way there or back, and it can miss errors if both trips are damaged the same way.
Practice
SEND data TO receiver
Testing
Gaps
IF sent echo THEN OUTPUT "Resend"
Check Answer
Spots
1sent ← "1100"
2received ← "1110"

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

The 'Camel' badge — Endurance Champion, 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. An echo check finds that the returned data does not match the original. Can it tell you which trip caused the error?
A. No, it cannot tell if the error happened on the way there or on the way back ✓
B. Yes, it always shows the error happened on the way there
The sender only compares the original with the echo. The mismatch could come from either trip, so an echo check cannot say which one was damaged.
2. The data arrived at the receiver perfectly, but it was corrupted on the way back to the sender. What does the echo check show?
A. A mismatch, even though the original data was fine ✓
B. A match, because the receiver got the correct data
The sender compares the echo with the original. Damage on the return trip causes a mismatch, which is a false alarm because the data sent was actually fine.
3. Which is a limit of an echo check?
A. It can flag an error when the data was actually received correctly ✓
B. It can only be used with text, not numbers
If the echo is corrupted on the way back, the sender sees a mismatch even though the receiver has the correct data. This is a limit of an echo check.
4. The data is damaged on the way there, and then the same bits are damaged in the same way on the way back. What does the echo check show?
A. A mismatch, so the error is caught
B. A match, so the error is missed ✓
The two errors cancel out. The echo looks identical to the original, so the sender wrongly thinks the data arrived correctly.
5. Which sentence is correct about errors that cancel out in an echo check?
A. If both trips are damaged, the echo check always catches it because there are two errors
B. If both trips are damaged in the same way, the echo can match the original and the error is missed ✓
Two matching errors can reverse each other. For example, a bit flipped 0 to 1 on the way there and 1 to 0 on the way back gives the original value again.

Match the Pairs

sent = 10110010, echo = 10110011 → The echo differs from the original, but the check cannot tell whether the damage happened on the way there or on the way back.
sent = 10110010, arrived = 10110110, echo = 10110010 → Both trips damaged the same bit in the same way, so the errors cancel out and the echo check misses them.
The data arrived correctly, but the copy sent back was corrupted, so the sender sees a mismatch and wrongly thinks the original data is bad. → arrived = 01101100, echo = 01101101, sent = 01101100
An echo check doubles the amount of data sent, because every item is sent once and then sent back again. → dataSent = 1000 bytes, echoReturned = 1000 bytes, total = 2000 bytes
if echo != sent: print('Error on the way there') → A mismatch does not show where the error happened. It could have occurred on the way there or on the way back, so the code cannot name the outbound trip.
if echo == sent: print('Data is definitely correct') → A matching echo does not prove the data is correct, because both trips can be damaged in the same way so that the errors cancel out.

Key Term

echo check limit
An echo check cannot tell if the error happened on the way there or back, and it can miss errors if both trips are damaged the same way.

Fill in the Blanks

1. sent ← 10110010 echo ← 10110011 IF sent ≠ echo THEN OUTPUT "Resend"
Hint: Type the comparison operator that tests whether the two values are different.
2. sent ← 1010 echo ← 1010 IF sent = echo THEN OUTPUT "Looks OK"
Hint: Type the comparison operator that tests whether the two values are the same.
3. size ← 8 total ← size * 2 OUTPUT total
Hint: Type the arithmetic operator that doubles the data because it travels there and back.
4. IF sent ≠ echo THEN OUTPUT "Error there or back" ENDIF
Hint: Type the keyword that closes the selection block.
5. errorWhere ← "unknown" IF sent ≠ echo THEN OUTPUT errorWhere
Hint: Type the variable that holds where the error happened, which an echo check cannot work out.

Spot the Error

Question 1
A sent ← "1100"
B received ← "1110"
C echo ← "1110"
D IF sent <> echo THEN
E OUTPUT "Mismatch found"
Line B — In this scenario the data arrived fine and only the echo was corrupted on the way back. So received should still be "1100", the same as sent.
Question 2
A sent ← "1000"
B received ← "1000"
C echo ← "1000"
D IF sent = echo THEN
E OUTPUT "Looks fine"
Line B — For the errors to cancel out, the first trip must also damage the data. received should be "1100", with a bit changed, and the return trip then flips it back so the echo matches sent.
Question 3
A total ← size + 2
B OUTPUT "Echo doubles the data"
C OUTPUT total
Line A — An echo check sends the data there and back, so it doubles the amount of data sent. The total should be size * 2, not size + 2.
Question 4
A IF sent <> echo THEN
B OUTPUT "Error found"
C ELSE
D OUTPUT "Data is perfect"
E ENDIF
Line D — A matching echo does not prove the data is perfect. Errors on both trips can cancel out and go unnoticed, so the message should say the data may still be wrong.
Question 5
A sent ← "1010"
B echo ← "1110"
C OUTPUT "Which trip? Way back"
D OUTPUT "Resend the data"
Line C — A mismatch only shows that an error happened somewhere. An echo check cannot tell whether it happened on the way there or on the way back, so the output should say the trip is unknown.

Student with a class code? Join your class →