The world is noisy place, and errors can occur whenever information is stored or transmitted. Error detection techniques add extra parity bits to data to determine when errors have occurred.
This activity is a magic trick which most audiences find intriguing. In the trick the demonstrator is “magically” able to figure which one out of dozens of cards has been turned over, using the same methods that computers use to figure out if an error has occurred in data storage.
Activity description (PDF)
Translations and other versions:
- Arabic Language Version
- Chinese Language Version
- Italian Language Version
- French Language Version
- Polish Language Version
- Turkish Language Version
- Greek Language Version
- Russian Language Version
- Portugese (Brazil) Language Version
- Hungarian Language Version
- Slovenian Language Translation
Videos
Photos
Related Resources
- An older version of this activity can be downloaded in PDF format here. The content is similar to the current version, but there’s some extra technical information.
- More activities and lessons:
- [Flash player required] Hiroki Manabe has created a Flash animation version of the Error Detection activity
- Centre for Innovation in Mathematics Teaching has the following resources on bar codes developed for their Maths Curriculum:
- Barcodes
- See also their EAN Bar Codes teaching package:
- The Mathmaniacs web site has a similar activity (lesson A)
- The Magic of Computer Science book, a collection of magic tricks based on Computer Science (including the one in this activity), available as part of CS4FN
- Try Engineering has an activity called Cracking the Code which explores the concept of how computerized barcoding has simplified distributing and pricing of products. Students learn about encoding and decoding, the barcoding system, and how a mathematical formula is embedded in barcoding to safeguard against errors. Students use websites to identify product barcodes, test codes from everyday product, and work as an “engineering team” to come up with the next generation of information embedding systems.
- Frances M. Gasman at Center for Discrete Mathematics & Theoretical Computer Science at Rutgers University has an fully developed lesson plan in Hamming Codes: Detecting and Correcting Errors.
- If you want to find out more:
- Wikipedia: Parity Bit
- Wikipedia: Error Correction
- The ISBN example in the books uses the ISBN-10 code. A new code, ISBN-13, started use on 1 January 2007. ISBN-13 also uses a checksum, but has a simpler formula. For details, see the Wikipedia article on ISBN
- Videos:
- Error Correction – Computerphile
- Error Detection and Flipping the Bits – Computerphile
- A TED talk on the prisoner hat riddle, put in a slightly more family-friendly format involving alien overlords who are hungry but logical. The optimal solution relates to parity as described in this activity.
- Additional resources:
- Mordechai (Moti) Ben-Ari from the Weizmann Institute of Science, Israel has programmed the Error Detection and Parity Unplugged activity in Scratch which can be downloaded in a zip file of the complete set of activities. Please read the ReadMe.txt for documentation.
Curriculum Links
Great Principles of Computer Science [info]
Communication, Recollection
ACM K12 Curriculum [info]
- Level I (Grades K2) Topic 11: Understand how 0s and 1s can be used to represent information, such as digital images and numbers.
New Zealand Curriculum [info]
-
- Mathematics Level 1: Equations and expressions
- Communicate and explain counting, grouping, and equal-sharing strategies, using words, numbers, and pictures.
- Mathematics Level 1: Equations and expressions
-
- Mathematics Level 1: Number strategies
-
- Use a range of counting, grouping, and equal-sharing strategies with whole numbers and fractions.
-
- Understand that technological outcomes are products or systems developed by people and have a physical nature and a functional nature.
- Understand that technology is purposeful intervention through design.
-
- Mathematics Level 1: Number strategies
- Technology Level 3: Technological systems
- Understand that technological systems are represented by symbolic language tools and understand the role played by the black box in technological systems.