General Info:

- Lecturer:
Madhu
Sudan; MD 339; email: first name at cs dot
harvard dot edu; Office Hours: TuTh 5-6pm (tentative)

- Lecture Time and Location: TuTh 11:30am-1:00pm in Cruft 309.

**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 this link to submit your problem sets

**Announcements:**

- LECTURE on 02/09/17 CANCELLED!!
- Please sign up for scribing! Signup instructions and
sheet here. Template for
scribing here (preamble,
lect01.tex).

- Problem Set 1 (tex, pdf). Due Wednesday 02/08/2017. Canvas link.
- Problem Set 2 (tex, pdf). Due Wednesday 2/22/2017. Canvas link.
- Problem Set 3 (tex, pdf). Due Wednesday 3/8/2017. Canvas link.
- Here is a list of potential projects (or you can suggest your own idea). I will email the editable link and you can edit the sheet to express interest in a project. If you don't have a partner in mind, it might be good to trawl the sheet for a combination of project+partner.
- PROJECTS + PRESENTATIONS: Schedule here.
All presentations will be held in MD 323 on Tuesday, May
2, 2017.

**Topics (Tentative), Calendar
and Handouts:
**

- Lecture 01 (Tue. 01/24): Introduction. Hamming's Paper.
Codes, Distance, Examples, Limits and Algorithms. Notes from 2008 (use these
notes for technical content; not for grading policy
etc.!). Scribe Notes (tex,
pdf). Reading [Chapter
1 and Chapter
2 from the text.]

- Lecture 02 (Thu. 01/26): Shannon's Theorems. Noiseless
coding. Noisy Coding. Shannon Capacity. Notes from 2008. Reading [Chapter
6]. Scribe notes (tex,
pdf).

- Lecture 03 (Tue. 01/31): 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 (Thu. 02/02): Simple Impossibility Results for Codes. (Pigeonhole argument, packing argument, geometric arguments). Reading [Chapter 4 and Chapter 8]. Notes from 2008, Scribed notes from 2001. Scribe notes (tex, pdf).
- Lecture 05 (Tue. 02/07): Finish impossibility results. (Notes from 2008). Algebraic
codes: Reed-Solomon codes. Concatenated codes. (Notes from 2008). Readings [Chapter
8, Chapter
5]. Scribe notes (tex,
pdf).

- Lecture 06 (Thu. 02/09): LECTURE CANCELLED due to
weather.

- Lecture 07 (Tue. 02/14): Codes from univariate
polynomials contd.: Forney, Justesen. BCH codes. Codes
from Multivariate polynomials: Reed-Muller, Hadamard.
Notes from 2008 (Reed-Muller
etc., BCH).
Scribe notes (tex, pdf).

- Lecture 08 (Thu. 02/16): Dual BCH codes. Algebraic
Geometry Codes. Notes
from 2013. Scribe notes (tex,
pdf).

- Monday 02/20: Presidents' Day Holiday
- Lecture 09 (Tue. 02/21): Algorithmic problems in Coding
theory. Decoding Reed-Solomon Codes. Reading materials.

- Some of the old papers are very interesting to read. The actual history of the simple algorithm is not easy to determine. Here are some relevant links. The Peterson paper. The Welch-Berlekamp patent. Paper with P. Gemmell (see Appendix A). Preprint of Ruud Pellikaan. Paper by Duursma and Kotter.
- Actual reading: Chapter 13 of the text. Notes from 2008.
- Scribe notes (tex, pdf).

- Lecture 10 (Thu. 02/23): Decoding Concatenated Codes.
Achieving Shannon Capacity. Notes
from 2008. Scribe notes (tex,
pdf).

- Lecture 11 (Tue. 02/28): List-decoding: Combinatorics.
List-decoding Reed-Solomon Codes. Notes
from 2008. Scribe notes (tex,
pdf).

- Lecture 12 (Thu. 03/02): Folded Reed-Solomon Codes and
List-decoding. Notes. No
scribe notes, but the notes from 2013 should be pretty
close to what we did (tex,
pdf).

- Lecture 13 (Tue. 03/07): Graph-theoretic codes
(Gallager, Tanner, Sipser-Spielman). Linear time encoding
and decoding. Notes
from 2008. Scribe notes (tex,
pdf).

- Lecture 14 (Thu. 03/09): Graph-theoretic codes II
(Alon-Luby construction, Guruswami-Indyk). Notes. Scribe notes (tex, pdf).

- Sat. 3/11- Sun 3/19: Spring break
- Lecture 15 (Tue. 03/21): Polar codes. Introduction to the notion. Encoding + Decoding. References:
- My notes.

- Arikan's original paper.
- Guruswami and Xia's paper.
- Sasoglu's monograph.
- Handwritten scribe notes from Venkat Guruswami's lectures. [Closest to the steps I am following.]
- Scribe notes (tex, pdf).

- Lecture 16 (Thu. 03/23): Polar codes. Shannon capacity
with polynomial convergence. Notes.
Scribe notes (tex, pdf).

- Lecture 17 (Tue. 03/28): CANCELLED.
- Lecture 18 (Thu. 03/30): Locality in coding:
Introduction, Locally Recoverable Codes. Notes. Scribe notes (tex, pdf).

- Lecture 19 (Tue. 04/04): Locality in coding: Locally
Decodable Codes. Notes.
Scribe notes (tex, pdf).

- Lecture 20 (Thu. 04/06): Locality in Coding: Locally Testable Codes. Notes.
- Lecture 21 (Tue. 04/11): Local Testability of Tensor Products and Low-degree polynomials. Notes.
- Lecture 22 (Thu. 04/13): Codes and derandomization:
Limited independence, epsilon-bias, almost independence. Notes.

- Lecture on Tue 04/18 Guest Lecture
by Pritish Kamath. Interactive Coding - I. My notes (part I and part II).

- Lecture on Tue 04/20 Guest Lecture
by Pritish Kamath. Interactive Coding - II. Pritish's Notes.

- Lecture 23 (Tue. 04/25): (Last lecture) Codes and
complexity: Pseudorandom generation from one-way
functions, Hardness amplification. Notes. Scribe notes (tex, pdf).

**Reference Materials:**

- Link to a draft of a textbook (with Venkatesan Guruswami and Atri Rudra).
- Previous incarnations of this course: Fall 2001, Fall 2002, Fall 2004, Spring 2008, Spring 2013.
- Links to other courses on coding theory: Coming Soon.