← IGCSE Computer Science Paper 1

Automatic repeat query (ARQ)

Automatic repeat query: the receiver checks data for errors and replies. If the data is bad or no reply arrives, the sender automatically resends it until it is received correctly.

Understanding Automatic repeat query (ARQ) in IGCSE Computer Science Paper 1

What it does: The sender sends, then waits for a reply. If the timeout passes with no reply, the loop sends the data again, which is the automatic resend in ARQ. The loop repeats the send until an ACK (positive acknowledgement) is returned, showing that ARQ resends until the data is received correctly. ARQ stands for automatic repeat query. It is an error handling method built on replies from the receiver and automatic resending by the sender.

Common mistakes: The loop ends with UNTIL, so it must start with REPEAT. The sender keeps resending until an ACK arrives. Line 1 should be REPEAT. A NAK tells the sender the data arrived with an error. ARQ means the sender automatically resends it, so line 4 should be SEND packet again.

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 179–188) 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
What does ARQ stand for?
Automatic repeat queryAutomatic receive question
Matches
Receiver gets bad data -> receiver says nothing -> sender assumes it was fine and stops
↓
In ARQ the receiver must reply. If no reply arrives before the timeout, the sender resends rather than assuming success
Applying
Meanings
Term
ARQ
Meaning
Automatic repeat query: the receiver checks data for errors and replies. If the data is bad or no reply arrives, the sender automatically resends it until it is received correctly.
Practice
sent ← FALSE
Testing
Gaps
FOR reply
Check Answer
Spots
1WHILE
2 SEND packet

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

The 'Leopard' badge — Savannah Perfectionist, 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. What does ARQ stand for?
A. Automatic repeat query ✓
B. Automatic receive question
ARQ stands for automatic repeat query. It is an error control method that makes the sender repeat data that did not arrive correctly.
2. In ARQ, who checks the received data for errors?
A. The receiver, using a check such as parity or a checksum ✓
B. The sender, before it has even sent the data
The receiver runs the error check (for example parity or a checksum) on the data it receives, then replies to the sender.
3. Data arrives and the error check fails. What does the receiver do in ARQ?
A. Sends a positive acknowledgement and keeps the bad data
B. Sends a negative acknowledgement so the data is resent ✓
A failed check means the data has an error. The receiver sends a negative acknowledgement, so the sender resends the data.
4. The sender sends a packet and no reply comes back before the timeout ends. What does ARQ do?
A. The sender automatically resends the packet ✓
B. The sender assumes it arrived and moves on
The sender waits for a reply. If the timeout runs out with no acknowledgement, it resends the packet.
5. Which statement about ARQ is correct?
A. The sender sends each packet once and never resends it
B. The sender resends until the data is received correctly ✓
ARQ keeps resending until the receiver confirms the data arrived without error with a positive acknowledgement.

Match the Pairs

ARQ → Automatic repeat query: the receiver replies to say if data arrived without error, and the sender automatically resends data that did not
IF error_found THEN SEND NAK → The receiver checks the data (e.g. with parity or a checksum) and, if it finds an error, replies with a negative acknowledgement so the sender resends
The sender waits for a reply after sending, and resends automatically if no reply arrives before the timeout → REPEAT SEND data WAIT timeout UNTIL reply_received
The sender keeps resending until the receiver confirms the data was received correctly with a positive acknowledgement → WHILE reply <> ACK SEND data ENDWHILE
Receiver gets bad data -> receiver says nothing -> sender assumes it was fine and stops → In ARQ the receiver must reply. If no reply arrives before the timeout, the sender resends rather than assuming success
Receiver detects an error -> receiver fixes the data itself -> no resend needed → ARQ does not correct errors at the receiver. The receiver only detects the error and replies, and the sender resends the data

Key Term

ARQ
Automatic repeat query: the receiver checks data for errors and replies. If the data is bad or no reply arrives, the sender automatically resends it until it is received correctly.

Fill in the Blanks

1. SEND packet WAIT FOR reply IF reply = NAK THEN SEND packet
Hint: Type the keyword that makes the sender pause until the receiver answers.
2. REPEAT SEND packet UNTIL reply = ACK
Hint: Type the reply that tells the sender the data arrived without errors, so it can stop resending.
3. IF errorFound = TRUE THEN SEND NAK ELSE SEND ACK
Hint: Type the negative reply the receiver sends when its error check finds a problem.
4. SEND packet IF no reply within timeout THEN SEND packet
Hint: Type the name for the set time the sender waits before assuming the data was lost and resending.
5. SEND packet WHILE reply <> ACK RESEND packet
Hint: Type the operator that means not equal to, so the sender keeps resending until the reply is positive.

Spot the Error

Question 1
A WHILE
B SEND packet
C WAIT for reply
D UNTIL reply = ACK
Line A — The loop ends with UNTIL, so it must start with REPEAT. The sender keeps resending until an ACK arrives. Line 1 should be REPEAT.
Question 2
A SEND packet
B WAIT for reply
C IF reply = NAK THEN
D DISCARD packet
Line D — A NAK tells the sender the data arrived with an error. ARQ means the sender automatically resends it, so line 4 should be SEND packet again.
Question 3
A RECEIVE packet
B IF parity is wrong THEN
C SEND ACK
D ELSE SEND NAK
Line B — The receiver should send an ACK only when the parity check passes. Line 2 should be IF parity is correct THEN. As written, bad data would be acknowledged.
Question 4
A SEND packet
B START timer
C IF ACK received THEN
D SEND packet again
Line C — The packet should be resent when no reply arrives before the timeout. Resending after an ACK is pointless. Line 3 should be IF no reply by timeout THEN.
Question 5
A RECEIVE data and checksum
B CALCULATE new parity bit
C IF new = received THEN
D SEND ACK
Line B — The receiver must recalculate the checksum using the same method as the sender, so it can compare the two values. Line 2 should be CALCULATE new checksum.

Student with a class code? Join your class →