For 9618 in 2027–2029, section 6.2 names validation and verification, including byte/block parity, checksum and check digit. State the scheme before calculating a check value: different legitimate schemes give different answers.
Content owner: Michael Print · Written for A-Level learners · Checked against official specifications
The idea to start with
Validation checks whether data satisfies allowed rules; verification checks correspondence with its source or a transmitted representation. Neither proves that the underlying real-world claim is true.
Parity, checksums and check digits add redundancy so selected errors can be detected. Detection does not automatically correct the data. A protocol can request/retry transmission after detection, but no simple check guarantees detection of every alteration.
Cambridge International 9618 · 9618 (2027–2029): 6.2; supporting transmission context from 2.1/14.1; ARQ is an explicitly labelled extension
Before you start
Useful foundations
Binary and modular arithmetic
Packets and sender/receiver roles
By the end, you should be able to
Distinguish validation and verification
Construct/check byte and block parity
Calculate a specified checksum/check digit
Explain detection limitations and a supporting retransmission protocol
Validation checks permitted rules
This guide uses 2027–2029 syllabus version 2; the checked 2026 version 2 has the same section 6.2 content. Validation methods include range, format, length, presence, existence, limit and check digit.
A range check tests a permitted interval; presence rejects a missing required field. Format checks a pattern; length checks character count; existence looks for an allowed stored value; limit imposes an upper or lower bound.
These checks establish acceptability under rules, rather than factual truth. A plausible but incorrect age can pass its range check.
Verification checks agreement with a source
Entry verification includes visual comparison and double entry. Transfer verification includes byte/block parity and checksum. Double entry detects inconsistent typing, but misses the same wrong value entered twice.
Detection is separate from correction or retransmission. A passed check establishes limited consistency, rather than guaranteeing the data is true or detecting every possible alteration.
Error checking: what each stage establishes
1
Add redundancy
The sender calculates check information from the data using a declared scheme.
2
Transfer both
The receiver obtains the data and its check information; either may be corrupted.
3
Check consistency
A failed check reveals an inconsistency. A passed check can still miss errors outside the scheme’s detection ability.
4
Choose a response
Reject, request another copy or correct only when the error model supports it. Detection alone does not repair the data.
Byte parity: count the ones
Even parity makes the total number of ones in the checked unit even; odd parity makes it odd. State whether displayed bits already include the parity bit.
Here eight data bits 10110010 contain four ones. Appending even-parity bit 0 gives nine transmitted bits, 101100100. One flipped bit changes the parity and is detected.
Two flips can escape: changing the first two data bits gives 01110010, still four ones. Byte parity detects odd numbers of flips within its unit, but cannot locate the bit or reliably detect even numbers. It is not cryptographic proof.
Block parity: intersect the failed row and column
Two-dimensional even parity checks each row and column. The worked block has four data columns, rather than eight, to keep every bit visible. One corrupted data bit makes its row and column fail.
Under the single-error assumption, their intersection locates the bit. With multiple errors, that conclusion may be wrong: flipping four rectangle corners changes two bits in each affected row/column, leaving all parity checks satisfied.
Additional redundancy provides more information, but the error model determines the conclusions. A failed row/column is not a licence to correct arbitrary multi-bit corruption.
Checksum: use the declared formula
A checksum summarises a sequence through a specified calculation. This teaching scheme sums bytes modulo 256 and chooses a checksum making the final sum zero modulo 256. Actual protocols may use other formulas.
For bytes 100,150,25, sum = 275. Checksum = (−275) MOD 256 = 237; the receiver checks (100+150+25+237) MOD 256 = 0. Do not assume this formula when a task supplies another.
Collisions are possible. Increasing one byte by 1 and decreasing another by 1 preserves this sum, so the check can pass changed data.
Check digit: validate an entered identifier
Our four-digit scheme applies weights 3,1,3,1 from left to right. Add a digit making the weighted sum divisible by 10. Identifier 4821 gives 27, requiring check digit 3.
Passing establishes consistency with the scheme. It does not prove the item exists or belongs to the user. A check digit and a checksum also do not provide encryption or protection against deliberate tampering.
Extension: ARQ and acknowledgements
Automatic Repeat reQuest (ARQ) provides useful context after transmission errors. It is an extension here: the checked 9618 teaching tables do not name ARQ as a requirement.
In stop-and-wait, send a numbered frame and start a timer. The receiver checks it and acknowledges valid reception; the sender retries when no suitable acknowledgement arrives before timeout.
A lost acknowledgement can trigger a duplicate even after correct delivery. Sequence numbers let the receiver recognise it, acknowledge again and avoid delivering the same payload twice.
Some protocols use negative acknowledgements; others use timeout. Start the timer after sending, not after an acknowledgement. Retries address selected failures; permanent disruption needs a failure policy.
Worked example
Locate one flipped bit with block parity
Construct even parity for each shown row and column. The final parity cell also makes the parity row/column even.
Flip row 2, column 3 from 1 to 0. Row 2 now has one one and fails; column 3 now has one one and fails. Their intersection locates the single error.
The conclusion assumes one flipped bit. If four rectangle corners flip, all row/column parity can remain valid.
Uncorrupted block; the last row/column contain parity bits
Row
Column 1
Column 2
Column 3
Column 4
Row parity
1
1
0
1
1
1
2
0
1
1
0
0
3
1
1
0
0
0
Column parity
0
0
0
1
1
Worked example
Calculate the declared checks
The Python functions validate their expected inputs. checksum([100,150,25]) prints 237; appending that value gives a receiver remainder of 0. check_digit('4821') prints 3.
checksum([]) is 0 in this declared scheme. Negative/out-of-byte-range values and identifiers other than four ASCII digits are rejected; neither exception should be interpreted as a valid checksum.
For a retransmission trace: frame 0 arrives valid; its ACK is lost; timeout causes frame 0 to be resent; the receiver recognises the sequence number, repeats the ACK and delivers no duplicate.
Runnable Python 3: original checksum/check-digit schemespython
def checksum(values):
if any(type(value) is not int or not 0 <= value <= 255 for value in values):
raise ValueError("Expected byte values")
return (-sum(values)) % 256
def check_digit(identifier):
if len(identifier) != 4 or any(c not in "0123456789" for c in identifier):
raise ValueError("Expected four ASCII digits")
weighted = sum(int(c) * w for c, w in zip(identifier, [3, 1, 3, 1]))
return (-weighted) % 10
data = [100, 150, 25]
check = checksum(data)
print(check)
print((sum(data) + check) % 256)
print(check_digit("4821"))
Original A-Level practice
5 original questions total 17 marks. Attempt each before opening the independently written indicative marking guidance.
Question 1
4 marks
Distinguish validation and verification using range checking and double entry.
1 mark: a range check rejects a value outside declared bounds.
1 mark: verification checks consistency with source/duplicate entry.
1 mark: double entry compares two entries but can miss the same error made twice.
Question 2
3 marks
Eight data bits 11001001 use even parity appended at the end. Give the parity bit, write the transmitted nine-bit unit and explain why two flipped bits can escape detection.
Show solution and marking guidance+
Indicative answer
1 mark: four ones means parity bit 0.
1 mark: transmitted bits are 110010010.
1 mark: two flips preserve an even total parity, so the parity check can pass incorrect data.
Question 3
3 marks
In this block, row 3 column 4 flips from 0 to 1. Which checks fail and what assumption allows correction?
Block before the error
The last row and column contain even-parity bits. All other cells are data bits; the indicated flip affects one of those data bits.
Uncorrupted block
Row
Column 1
Column 2
Column 3
Column 4
Row parity
1
1
0
1
1
1
2
0
1
1
0
0
3
1
1
0
0
0
Column parity
0
0
0
1
1
Show solution and marking guidance+
Indicative answer
1 mark: row 3 fails even parity.
1 mark: column 4 fails even parity.
1 mark: assuming a single error, their intersection identifies the bit to reverse; arbitrary multi-bit errors do not justify that inference.
Question 4
4 marks
Use these schemes to calculate a checksum for bytes 10,20,30 and a check digit for identifier 1234.
Declared checksum and check-digit schemes
Checksum: add the data bytes and choose a checksum from 0–255 so that (sum of bytes + checksum) MOD 256 = 0.
Check digit: multiply the four identifier digits by weights 3,1,3,1 from left to right. Append one digit from 0–9 so that the weighted sum plus that digit is divisible by 10.
Show solution and marking guidance+
Indicative answer
1 mark: byte sum is 60.
1 mark: checksum is (−60) MOD 256 = 196.
1 mark: digit weighted sum is 1×3+2+3×3+4 = 18.
1 mark: check digit is 2 so 18+2 is divisible by 10.
Question 5
3 marks
Extension: a valid frame arrives but its acknowledgement is lost. Explain the sender/receiver actions needed to avoid duplicate delivery.
Show solution and marking guidance+
Indicative answer
1 mark: sender times out and retransmits the frame.
1 mark: receiver recognises its repeated sequence number.
1 mark: receiver acknowledges again without delivering the payload twice. This question is supporting protocol practice rather than a newly claimed 9618 named requirement.
Specification and references
This guide addresses Cambridge International 9618 9618 (2027–2029): 6.2; supporting transmission context from 2.1/14.1; ARQ is an explicitly labelled extension. Check your examination year and the complete specification for the assessment scope.
These are independently written explanations and practice questions. CompSciTutoring.co.uk is not affiliated with or endorsed by an examination board. The marking guidance is indicative; always check the syllabus for your examination year.