We are exposed to a lot of information every day, from viewing content on a website on the Internet to listening to a song on our smart phone. This information (or data) is constantly stored, transmitted and processed. It is important that the data is correct or relatively error-free. Some amount of error is acceptable, depending on the application. For example, a few bit errors in a music data file in an MP3 format are acceptable, but a few bit errors in the data being transferred to the flight controls of a rocket could be catastrophic.
Information theory is a branch of applied mathematics and electrical engineering involving the quantification of information. When Claude Shannon developed information theory in 1948, thus ushering in the information age, he introduced the concept of entropy to information. This entropy or shortage of information in a message is what gives rise to errors in the data. Most communication systems and data storage and processing systems are unreliable to some degree, which means that errors may be introduced in the communications channel or while retrieving data from a memory device. These errors must be controlled.
The purpose of this course is to describe four different error detection techniques and to discuss the advantages and disadvantages of each. This course describes the parity check method as well as the checksum and cyclic redundancy check (CRC) methods. It describes hash functions and when they should be employed. This course also briefly discusses error correction techniques.
At the conclusion of this course the student will learn:
- Four different error detection techniques
- How to compute odd parity and even parity for a sequence of bits
- How to compute a checksum for a given block of data
- How to compute a CRC for a given block of data
- The benefits and drawbacks of a parity check, checksum and CRC
- How a cryptographic hash function is used to ensure the integrity of a software program or electronic document