CSE 545, Error Correcting Codes: Combinatorics, Algorithms and Applications


Instructor

Atri Rudra
Email:
Phone:
(716) 645-2464
Office:
319 Davis Hall
Office Hours:
By appointment

Class Meetings

Monday, Wednesday, Friday. 2:00-2:50pm
260 Capen Hall




Previous course offerings (with lecture notes): Fall 2007, Spring 2009, Spring 2010, Spring 2011

Course Announcement

Course Syllabus

Course Blog

We will be using a blog for the course in lieu of a course newsgroup. All announcements will be made on the blog. If you are attending the course, you must check the blog regularly (and consider subscribing to the RSS feed or subscribe to receive email notifications for new posts.).

Homeworks

Handouts

Lectures

  • Lecture 1: Introduction (Slides: ppt ). [Book: Pg. 1] (Proof Reader: Brian Rosenberg)
  • Lecture 2: Definitions. [Book: Sec 1.1, 1.2, 1.3] ( Proof Reader: Shreyas C. Sunil)
  • Lecture 3: More on Parity and Repetition Codes. [Book: Sec 1.3]. (Proof reader: Raman Sonkhla)
  • Lecture 4: Distance of a Code. [Book: Sec 1.4]. (Proof reader: Kushal Satrasala) (Guest Lecture by Jesse Hartloff)
  • Lecture 5: Hamming Code. [Book: Sec 1.5]. (Proof reader: Anup Kumar)
  • Lecture 6: Hamming Bound. [Book: Sec 1.6, 1.7] (Proof reader: Maulik Dave)
  • Lecture 7: Linear Codes. [Book: Sec 2.1] (Proof reader: Mahendhar Katakam)
  • Lecture 8: More on linear Codes. [Book: Sec 2.2, 2.3] (Proof reader: Matthew Biernat)
  • Lecture 9: General Hamming codes. [Book: Sec 2.3 and 2.4]. (Proof reader: Madhura Suresh)
  • Lecture 10: Dual of linear Codes. [Book: Sec 2.5, 2.6 and 2.7]. (Proof reader: Sujith Velliyattikuzhi)
  • Lecture 11: Bounds on the Volume of a Hamming Ball. [Book: Sec 2.7, Sec 3.3]. (Proof Reader: Aditi Yadav)
  • Reading Assignment: Probability Basics [Book: Chap 3]. (Proof Readers: Shilpa Ochani and Sandeep Satheesan)
  • Lecture 12: Gilbert-Varshamov Bound. [Book: Sec 4.1]. (Proof Reader: Kiran Kamisetty)
  • Lecture 13: Singleton Bound. [Book: 4.1, 4.2]. (Proof Reader: Harinath Pathuri)
  • Lecture 14: Plotkin Bound. [Book: Sec 4.3]. (Proof Reader: Shravya Bethi)
  • Lecture 15: Proof of Geometric Lemmas. [Book: Sec 4.3.1]. (Proof Reader: Harish Sitharaman)
  • Lecture 16: Polynomials over Finite fields. [Book: Sec 5.1] (Proof Reader: Ramakanth Chennupati)
  • Lecture 17: Reed-Solomon Codes. [Book: Sec 5.2]. (Proof Reader: Saicharan Poduri)
  • Lecture 18: Hashing [Book: Sec 12.1, 12.2]. (Proof Reader: Hitesh Jain)
  • Lecture 19: More on Hashing [Book: Sec 12.3, 12.4]. (Proof Reader: Jun Wu)
  • Lecture 20: Shannon's Theorem. [Book: Sec 6.1, 6.2]. (Proof Reader: Praveen Burugu)
  • Lecture 21: Converse of Shannon's Theorem. [Book: Sec 6.3]. (Proof Reader: Pradeep Yenneti)
  • Lecture 22: Proof of Shannon's Theorem. [Book: Sec 6.3, 6.4]. (Proof Reader: Raghunandan Siddapuram)
  • Lecture 23: Shannon vs. Hamming. [Book: Sec 6.3, 6.4]. (Proof Reader: Prasanth Chakka)
  • Lecture 24: List Decoding [Book: Sec 7.1-7.3]. (Proof Reader: Brian)
  • Lecture 25: List Decoding Capacity [Book: 7.4]. (Proof Reader: Shreyas)
  • Reading Assignment: Proof of Johnson Bound. [Book: Sec 7.3] (Proof Reader: Anup)
  • Reading Assignment: List Decoding from Random Errors. [Book: Sec 7.5] (Proof Reader: Pradeep)
  • Lecture 26: List Decoding and Data Possession. [Book: Sec 14.4.1] (Proof Reader: Raman)
  • Lecture 27: Elias-Bassalygo Bound. [Book: Chap 8] (Proof Reader: Kushal)
  • Lecture 28: Code Concatenation [Book: Sec 9.1, 9.2]. (Proof Reader: Anup)
  • Lecture 29: Justesen Codes [Book: Sec 9.3]. (Proof Reader: Maulik)
  • Lecture 30: Decoding Concatenated Codes [Book: Sec 10.1]. (Proof Reader: Mahendhar)
  • Lecture 31: Generalized Minimum Distance Decoding [Book: 10.2, 10.3]. (Proof Reader: Matthew)
  • Lecture 32: Generalized Minimum Distance Decoding-II [Book: 10.3]. (Proof Reader: Aditi)
  • Lecture 33: Achieving BSC Capacity [Book: Sec 11.1-11.3]. (Proof Reader: Sandeep, Sujith)
  • Lecture 34: Achieving BSC Capacity-II [Book: Sec 11.4, 11.5, 12.1]. (Proof Reader: Harinath, Kiran)
  • Lecture 35: Welch-Berlekamp [Book: Sec 12.1]. (Proof Reader: Harish, Shravya)
  • Lecture 36: Analyzing Welch-Brelekamp Algorithm [Book: Sec 12.1] (Proof Reader Ramakanth, Saicharan)
  • Lecture 37: List Decoding RS Codes [Book: Sec 12.2]. (Proof Readers: Pradeep, Praveen)
  • Lecture 38: Folded Reed-Solomon Codes. [Book: Chap 13] (Proof Readers: Raghunandan, Prasanth)
  • Reference material

    We will follow a draft of a book based on lecture notes from previous offerings that I am writing. Be sure to check out the latest version of the book.

    Another good resource is the excellent set of lecture notes for Madhu Sudan's coding theory course at MIT: Notes from 2001, 2002, 2004 and 2008. You might also want to check out the notes from Venkat Guruswami's coding theory course. The book we are going to follow is heavily influenced by these courses.

    The basic material on codes that we will discuss in initial lectures can be found in one of many textbooks (some of the standard ones are listed below), but the recent algorithmic developments and applications in computer science are not covered in any of these: Though we won't cover much information theory in this course, if you are interested to know more on topics such as entropy, capacity theorems, source coding, etc., there is the classic information theory text

    Optional Reading

    Course Pre-requisites

    There is no specific course pre-requisite for this course. However, some "mathematical maturity" will be essential. In particular, comfort with basics of linear algebra (vector spaces, basis, dual spaces); finite fields, field extensions and polynomials over finite fields; elementary probability; analysis of algorithms; and (some exposure to) computational complexity will be useful. Some of these topics (for example finite fields) can be learned on a need to know basis as the course progresses. Email the instructor if you have any questions on the pre-requisites.

    Workload

    The workload will be moderate: there will be no exams. The following will be the major components:

    Grading Policy

    Here is a rough split of grades:

    Academic Honesty

    I have zero tolerance for cheating and will follow the CSE Deparptment Policies on Academic Integrity.

    Acknowledgment

    The material in this webpage is supported in part by the National Science Foundation under CAREER grant CCF-0844796. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).