Scope
Error-correcting codes are methods for protecting transmitted or stored data against errors that are caused by factors such as noise, failing nodes in a network, physical defects in a storage medium, or malfunctioning of a memory device. Reed–Solomon codes and BCH codes are examples of error-correcting codes that are widely used in applications such as computer memories, disks, solid-state drives (flash memories), optical storage (DVD, Blu-ray), disk arrays (RAID), and bar codes (QR code, PDF417). Numerous other applications of error-correcting codes can be found in other branches of computer science.
The course provides the basics of the theory of error-correcting codes. The topics to be covered include the following:
- Basic concepts: error correction, error detection, [and erasure correction]
- Linear error-correcting codes; Hamming codes
- Introduction to finite fields
- Specific constructions: Reed-Solomon codes, BCH codes, and alternant codes
- Decoding algorithms
- Bounds on the parameters of error-correcting codes
Prerequisites
Knowledge of basic terms in linear and modern algebra is assumed (but will nevertheless be recapped in the recitation class during the first few weeks of the semester). Examples of such terms include: vector spaces, groups, and rings.
Topics
- Introduction
- The q-ary symmetric channel
- Maximum-likelihood decoding
- Error correction, error detection, [and erasure correction]
- Linear codes
- Representation through generator and parity-check matrices
- Syndrome decoding
- Hamming codes
- Introduction to finite fields and double-error-correcting codes
- Irreducible polynomials
- Primitivity
- Double-error-correcting codes
- Bounds on the parameters of codes
- The Singleton bound; MDS codes
- The Hamming sphere-packing bound; perfect codes
- The Gilbert-Varshamov bound
- Reed-Solomon and related codes
- Generalized Reed-Solomon (GRS) codes
- BCH codes and alternant codes as subfield subcodes of GRS codes
- [Concatenated codes]
- Decoding GRS codes using Euclid's algorithm
- Structure of finite fields and cyclic codes
- Minimal polynomials
- Cyclic codes
- BCH codes as cyclic codes
- The BCH bound
Lecture notes
- Soft copies of the course material (the first eight chapters of the textbook) will be provided to students who are enrolled to the course. To obtain the material, please send an email to Boaz with the subject “textbook” and include in that email your name and ID number. Enrolled students will be mailed back a pdf copy of the relevant chapters of the textbook.