What an echo check cannot tell you

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

What an echo check cannot tell you

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

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
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
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
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
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

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1sent = 10110010, echo = 10110011 ABoth trips damaged the same bit in the same way, so the errors cancel out and the echo check misses them.
2sent = 10110010, arrived = 10110110, echo = 10110010 BdataSent = 1000 bytes, echoReturned = 1000 bytes, total = 2000 bytes
3The data arrived correctly, but the copy sent back was corrupted, so the sender sees a mismatch and wrongly thinks the original data is bad. Carrived = 01101100, echo = 01101101, sent = 01101100
4An echo check doubles the amount of data sent, because every item is sent once and then sent back again. DA 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.
5if echo != sent: print('Error on the way there') EA 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.
6if echo == sent: print('Data is definitely correct') FThe echo differs from the original, but the check cannot tell whether the damage happened on the way there or on the way back.

Definitions

echo check limit

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
sent ← 10110010 echo ← 10110011 IF sent _ echo THEN OUTPUT "Resend"
2.
sent ← 1010 echo ← 1010 IF sent _ echo THEN OUTPUT "Looks OK"
3.
size ← 8 total ← size _ 2 OUTPUT total
4.
IF sent ≠ echo THEN OUTPUT "Error there or back" _____
5.
errorWhere ← "unknown" IF sent ≠ echo THEN OUTPUT __________

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A sent ← "1100"
B received ← "1110"
C echo ← "1110"
D IF sent <> echo THEN
E OUTPUT "Mismatch found"
Question 2
A sent ← "1000"
B received ← "1000"
C echo ← "1000"
D IF sent = echo THEN
E OUTPUT "Looks fine"
Question 3
A total ← size + 2
B OUTPUT "Echo doubles the data"
C OUTPUT total
Question 4
A IF sent <> echo THEN
B OUTPUT "Error found"
C ELSE
D OUTPUT "Data is perfect"
E ENDIF
Question 5
A sent ← "1010"
B echo ← "1110"
C OUTPUT "Which trip? Way back"
D OUTPUT "Resend the data"

Answer Key

What an echo check cannot tell you
Section A: Quick Questions
Q1
A — No, it cannot tell if the error happened on the way there or on the way back
Q2
A — A mismatch, even though the original data was fine
Q3
A — It can flag an error when the data was actually received correctly
Q4
B — A match, so the error is missed
Q5
B — If both trips are damaged in the same way, the echo can match the original and the error is missed
Section B: Match the Pairs
Q1
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.
Q2
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.
Q3
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
Q4
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
Q5
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.
Q6
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.
Section C: Definitions
Q1
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.
Section D: Fill in the Blanks
Q1
sent ← 10110010 echo ← 10110011 IF sent ≠ echo THEN OUTPUT "Resend"
Q2
sent ← 1010 echo ← 1010 IF sent = echo THEN OUTPUT "Looks OK"
Q3
size ← 8 total ← size * 2 OUTPUT total
Q4
IF sent ≠ echo THEN OUTPUT "Error there or back" ENDIF
Q5
errorWhere ← "unknown" IF sent ≠ echo THEN OUTPUT errorWhere
Section E: Spot the Error
Q1
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.
Q2
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.
Q3
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.
Q4
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.
Q5
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.