EE5160: Error-Control Coding (Jan.–May 2026)

Instructor: Arvind Rameshwar

Time and Location: Wednesdays (15:30–16:45 hours), Fridays (14:00–15:15 hours) at ESB-242

Office Hours: Thursdays (15:00–16:00 hours); do send me an email in advance

Course Description

The objective of error-control coding (or coding theory) is, at a high level, to maximize the amount of information transmitted/stored across/in a noisy, erroneous medium, while ensuring reliable recovery of the information. The theory of error-correcting codes goes back to Shannon (1948) and Hamming (1950), and has been a cornerstone in the evolution of modern communication technologies and the internet. With the growth of research and development in quantum computing, error-correcting codes will play an increasingly important role in ensuring the fidelity of data against noise, both classical and quantum. In addition, coding theory has applications beyond data computation and storage, in fields ranging from cryptography to synthetic biology to computational epidemiology.

In this course, we shall build the foundational tools for designing “good” error-correcting codes. The course can be partitioned into four unequal parts:

  1. Foundations: What makes a code “good”?
  2. Fundamental limits: How “good” can a code get?
  3. Classical constructions: How does one use the rich mathematical theory of linear algebra to design “good” codes?
  4. Modern constructions: What are “good” codes for “information-theoretic” channels?

Prerequisites

Comfort with basic linear algebra and probability, in addition to familiarity with understanding and writing mathematical proofs.

Tentative List of Topics

Block codes, linear codes via an introduction to vector spaces, bounds on code parameters, Shannon’s noisy coding theorem, operations on codes, finite field arithmetic, Reed-Solomon codes, BCH codes, Reed-Muller codes, list decoding, LDPC codes and factor-graph interpretations, a brief overview of density evolution for the erasure channel

Grading

There will be three examinations: two midterms and a final, and a collection of take-home assignments. The exams will closely follow the course material, and the take-home assignments are meant to supplement and extend the lectures.

  • Midterms: 40% (20% each)
  • Final: 40%
  • Assignments: 10%
  • Class participation: 10%

Schedule

Handwritten lecture notes will be made available at the end of every module.

  1. Introduction and course overview