- Algebraic coding: linear codes, basics of finite fields, Hamming, Reed-Solomon and BCH codes.
- Bounds on Error Correcting Codes: Sphere-packing, Plotkin, and linear programming bounds. .
- Random Coding and Communications: Shannon's coding theorem, convolutional codes and LDPC codes.
- Emerging topics in coding theory: Codes for distributed storage, locally recoverable codes, network coding and related topics.

- Linear Algebra: Vector spaces, linear transformations, matrices.
- Elementary probability theory
- Elementary discrete mathematics

CLASS HOURS: MWF 1:25 PM - 2:15 PM

INSTRUCTOR: Viveck Cadambe (111 J EE West, viveck@engr.psu.edu)

OFFICE HOURS: Instructor available after class or by appointment.- Error Correction Coding: Mathematical Methods and Algorithms (1st Edition), by Todd K. Moon.
- Online lecture notes by Prof. Madhu Sudan and a draft of a textbook by Venkat Guruswami, Madhu Sudan and Atri Rudra
- Online video lectures (https://goo.gl/63Kc29) by Prof. P. Vijay Kumar on the "nptelhrd" channel on youtube.

- A 25 minute short presentation in class that clearly explains the topic/problem, the model considered in the paper/papers/books, and the main technical contribution. If the project is done in a group, the time allocated for presentation should be split among the members of the group.
- A project report of approximately 10 pages + references going to more details and formal statements. The report should not reproduce the paper or any text, but explain the student's understanding of the topic in his or her own words. If the project is done in a group, each member of the group should submit his or her own report.

- Literature survey. The literature survey should demonstrate a comprehensive understanding of the history of the topic. It should give a sense of why the problem considered is important, and was missing before the topic/paper.
- Results and ideas: The main technical idea that helped filled this gap should be explained in a clear and understandable manner. The performance of the idea must be evaluated using numerical or analytical means as appopriate.
- Clarity of presentation and writing: Points will be given for clear and lucid presentation and writing.

- Locally recoverable codes: A Family of Optimal Locally Recoverable Codes,
- Codes with good Repair Bandwidth in Distributed Storage: The paper introduced the problem, and/or this recent repair strategy for Reed-Solomon code Codes
- Array codes for distributed storage systems: EVENODD Code, "RDP" Code, MDS array codes with independent parity symbols and other variants.
- Rateless codes: this survey on fountain codes, and/or or this survey, and/or Raptor codes and references therein.
- Polar codes: This paper, and/or this this tutorial
- Shannon Capacity of a graph: On the Shannon capacity of a graph
- Topics in LDPC and graph-based codes: Density Evolution Analysis for LDPC Codes (found in various textbooks, including "Modern Coding Theory" by Urbanke and Richardson), Factor graphs and the sum-product algorithm
- Network Coding: This network coding algorithm, Subspace network coding