2022/2023 Winter Semester
|When:||Wednesday 14:30–16:30 (lecture) 16:30–17:30 (recitation class)|
|Instructor:||Ronny Roth, Taub 637, ronny(at)cs.technion.ac.il|
|Teaching assistant:||Boaz Moav, boazmoav(at)cs.technion.ac.il|
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
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.
- 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
- 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
- R.M. Roth,
Introduction to Coding Theory,
Cambridge University Press, Cambridge, UK, 2006.
Books for further reading
- R.E. Blahut,
Algebraic Codes for Data Transmission,
Cambridge University Press, Cambridge, UK, 2003.
- S. Lin, D.J. Costello, Jr.,
Error Control Coding: Fundamentals and Applications,
Prentice-Hall, Upper Saddle River, New Jersey, 2004.
- F.J. MacWilliams, N.J.A. Sloane,
The Theory of Error-Correcting Codes,
North-Holland, Amsterdam, 1977.
- R.J. McEliece,
The Theory of Information and Coding,
Cambridge University Press, Cambridge, 2002.
- 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.
- There will be five home assignments which will constitute 20% of the final grade. The remaining 80% will be determined by a final exam.