Harvard CS 229r: Essential Coding Theory (Spring 2020)

General Info:
  • Lecturer: Madhu Sudan;  MD 339; email: first name at cs dot harvard dot edu; Office Hours: MW 4:30-5:30pm
  • Teaching Fellow: Chi-Ning Chou: MD 138, email: chiningchou at g.harvard.edu; Office hours: TuFr 4:30pm-5:30pm (MD 1st floor common space).
  • Lecture Time and Location: MW 3pm-4:15pm in Northwest B108.

Other links for the course:

  • Course announcement: Brief description of the course.
  • Grading policy.
  • Piazza site: All announcements will be routed through this site - so please sign up right away!!
  • Canvas site: You will need access to Canvas to submit your problem sets.

Announcements:

  • 03/31/20: PS5 released (tex, pdf). Due 04/14/20.
  • 03/23/20: Solutions to PS2 posted (behind canvas firewall).
  • 03/16/20: Solutions to PS1 posted (behind canvas firewall).
  • 03/13/20: PS4 released (tex, pdf). Due 04/03/20.
  • 03/03/20: PS3 released (tex, pdf). Due Tuesday 03/24/20.
  • 02/24/20: Solutions to PS0 (behind canvas firewall).
  • 02/21/20: PS2 released (tex, pdf). Due 03/06/20.
  • 02/07/20: PS1 released (tex, pdf). Due 02/21/20.
  • 02/04/20: All future lectures will be in Northwest B108.
  • Problem set 0 is now out. (tex, pdf). Submit solutions here on canvas. (Email madhu your solutions if you don't have canvas access.)
  • Make sure you've signed up for piazza and know how to access your canvas account. If any of these is a problem, reach out to Madhu or Chi-Ning.
  • Please sign up for scribing! Signup instructions and sheet here. Template for scribing here (preamble, sample.tex).

Topics (Very Tentative), Calendar and Handouts:

  • Lecture 01 (Mon. 01/27): Introduction. Hamming's Paper. Codes, Distance, Examples, Limits and Algorithms. Notes from 2008 (use these notes for technical content; not for grading policy etc.!). Reading [Chapter 1 and Chapter 2 from the text.]. Scribe notes (tex, pdf).
  • Lecture 02 (Wed. 01/29): Shannon's Theorems. Noiseless coding. Noisy Coding. Shannon Capacity. Notes from 2008. Reading [Chapter 6]. Scribe notes (tex, pdf).
  • Lecture 03 (Mon. 02/03): Converse to Shannon's theorem. Random codes. Linear codes. Gilbert-Varshamov theorems. Asymptotics of error-correcting codes. Notes from 2008. Reading [Chapter 1 and Chapter 4]. Scribe notes (tex, pdf).
  • Lecture 04 (Wed. 02/05): Simple Impossibility Results for Codes. (Pigeonhole argument, packing argument, geometric arguments). Reading [Chapter 4 and Chapter 8]. Notes from 2008, Scribe notes (tex, pdf).
  • Lecture 05 (Mon. 02/10): Bounds on codes continued: List-decoding, Elias-Bassalygo bound. Musing on bounds. Reed-Solomon codes. (Notes from 2008). Readings [Chapter 8, Chapter 5]. Scribe notes (tex, pdf).
  • Lecture 06 (Wed. 02/12): Algebra review. Reed-Solomon Codes. Extension fields. Wozencraft ensemble. Notes from 2008 (Reed-Muller etc., BCH). Scribe notes (v1.tex, v1.pdf, v2.tex, v2.pdf).
  • Monday 02/17: Presidents' Day Holiday
  • Lecture 07 (Wed. 02/19): Concatenated codes. Justesen codes. Mutltvariate polynomials. Reed-Muller codes. Notes from 2013. Scribe notes (tex, pdf).
  • Lecture 08 (Mon. 02/24): Reed-Muller codes - some choices of parameters. Hadamard codes, Hamming codes. BCH codes. Scribe notes (tex, pdf).
  • Lecture 09 (Wed. 02/26): Algebraic Geometry Codes. Decoding Reed-Solomon Codes. Reading materials.
  • Lecture 10 (Mon. 03/02): Reed-Solomon decoding (contd.). Reed-Solomon list-decoding. Scribe notes (tex, pdf).
  • Lecture 11 (Wed. 03/04): Decoding concatenated codes. List-decoding to capacity - the question. Scribe notes (tex, pdf).
  • Lecture 12 (Mon. 03/09): Folded Reed-Solomon Codes and List-decoding. Notes. Additional Notes. Scribe notes (tex, pdf).
  • Lecture 13 (Wed. 03/11): Graph-theoretic codes (Sipser-Spielman codes). Linear time encoding and decoding. Notes from 2008. No scribe notes this time, but here are notes from previous years (tex, pdf).
  • Sat. 3/14- Sun 3/22: Spring break
  • Lecture 14 (Mon. 03/23): Graph-theoretic codes I (Spielman codes). My notes. Scribe notes (tex, pdf).
  • Lecture 15 (Wed. 03/25): Graph-theoretic codes II (Alon-Luby construction, Guruswami-Indyk). Notes. Scribe notes (tex, pdf).
  • Lecture 16 (Mon. 03/30): Polar codes. Introduction to the notion. My notes. (See also Chapter  11 from book). Scribe notes (tex, pdf).
  • Lecture 17 (Wed. 04/01): Polar codes. Shannon capacity with polynomial convergence. Notes. Scribe notes (tex, pdf).
  • Lecture 18 (Mon. 04/06): Locality in coding: Introduction, Locally Recoverable Codes. Notes. Scribe notes (tex, pdf).
  • Lecture 19 (Wed. 04/08): Locality in coding: Locally Decodable Codes. Notes. Scribe notes (tex, pdf).
  • Lecture 20 (Mon. 04/13): Locality in Coding: Locally Testable Codes. Notes.
  • Lecture 21 (Wed. 04/15): Local Testability of Tensor Products and Low-degree polynomials. Notes
  • Lecture 22 (Mon. 04/20): Codes and derandomization: Limited independence, epsilon-bias, almost independence. Notes.
  • Lecture 23 (Wed. 04/22): Interactive Coding - I.
  • Lecture 24 (Mon. 04/27): Interactive Coding - II.
  • Lecture 25 (Wed. 04/29):  Codes and complexity: Pseudorandom generation from one-way functions, Hardness amplification. Notes. Scribe notes (tex, pdf).

Reference Materials: