


 [Instructors  Announcements  Lectures  Homework  Course Outline  References  Online Resources]
Instructors
 Navin Kashyap
Office: SP 2.17
P. Vijay Kumar
Office: SP 2.03
 Lectures
 Mondays & Wednesdays, 11:30am to 1pm
Location: L4CL
 Homework Assignments
 Homework assignments will be posted here roughly every two weeks. While students are expected to solve all homework problems, the solutions will not be graded. Discussion sessions will be held for the purpose of helping students solve homework problems.
Discussion sessions will be held on alternate Wednesdays, 6:00pm to 7:30pm, in Room 1.08 of the ECE building.
(Please note the exception for Homework Assignment 3 below.)
 Exams
 There will be one midterm exam, and a final exam.
The midterm exam will be held on Wednesday, October 5, 6:007:30pm, in ECE 1.08.
 Grading
 The course grade will be based on the two exams, with 40% weightage assigned to the midterm, and 60% to the final exam.
Course Outline
 Introductory Concepts: Noisy channels, block codes, encoding and decoding, maximumlikelihood decoding, minimumdistance decoding, error detection and correction. Shannon's noisychannel coding theorem.
 Linear codes: Minimum distance, generator and paritycheck matrices, dual codes, standard array decoding, syndrome decoding. Repetition codes, Hamming codes.
 Bounds on Code Parameters: Hamming bound, Singleton bound, GilbertVarshamov bound, Plotkin bound. Using bounds to determine and design good codes for a given set of parameters.
 Convolutional Codes: Definitions, encoders, state and trellis diagrams, Viterbi decoder, catastrophic error propagation
 The Generalized Distributive Law: As expounded in the paper

S.M. Aji and R.J. McEliece, "The generalized distributive law", IEEE Transactions on Information Theory, vol. 46, no. 2, pp. 325343, March 2000.
 LowDensity ParityCheck (LDPC) Codes: Definitions, Tanner graph, iterative messagepassing decoding algorithms. Material largely based on the paper
 T. Richardson and R.L. Urbanke, "The capacity of lowdensity paritycheck codes under messagepassing decoding", IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 599618, Feb. 2001.
 Basic Finite Field Theory: Definitions, prime fields, construction of prime power fields via irreducible polynomials, existence of primitive elements, minimal polynomials.
 Algebraic Codes: BoseChoudhuryHocquenghem (BCH) codes, ReedSolomon codes, and alternant codes as instances of generalized ReedSolomon (GRS) codes. Decoding algorithms for GRS codes. Applications of ReedSolomon codes in digital communications and storage.
 Cyclic codes: Definition, characterization as ideals of polynomial rings. BCH codes viewed as cyclic codes.
 Other topics to be selected from, as time permits: List decoding of ReedSolomon codes, Golay codes, ReedMuller codes, Goppa codes and algebraic geometry codes, convolutional codes, turbo codes, expander codes, lowdensity paritycheck (LDPC) codes.
 References
The following books are recommended as references:
 R.M. Roth, Introduction to Coding Theory, Cambridge University Press, 2006. (An excellent textbook primarily covering block codes.)
 T. Richardson and R. Urbanke, Modern Coding Theory, Cambridge University Press, 2008. (Focuses on LDPC and related codes.)
 R. Johanneson and K.Sh. Zigangirov, Fundamentals of Convolutional Coding, IEEE Press, 1999. (Covers exactly what the title says.)
 S. Lin and D.J. Costello, Error Control Coding (2nd edition), PrenticeHall, 2004. (A good introduction from the engineering perspective.)
 R.E. Blahut, Algebraic Codes for Data Transmission, Cambridge University Press, 2002. (This is an updated version of the original classic, now out of print, Theory and Practice of ErrorControl Codes, AddisonWesley, 1983.)
 F.J. MacWilliams and N.J.A. Sloane, The Theory of ErrorCorrecting Codes, Elsevier/NorthHolland, 1977. (All you wanted to know about classical coding theory but were afraid to ask. An encyclopaedic reference.)
 E.R. Berlekamp, Algebraic coding theory, McGrawHill, 1968. Revised edition published by Aegean Park Press in 1984.
 W.C. Huffman and V. Pless, Fundamentals of Error Correcting Codes, Cambridge University Press, 2003. (A good book from which to learn the basics. Written at an undergraduate level, assuming only knowledge of linear algebra.)
 R.J. McEliece, Theory of Information and Coding (2nd edition), Cambridge University Press, 2002. (A concise and wellwritten introduction to information and coding theory.)
 Vera Pless, Introduction to the Theory of ErrorCorrecting Codes (3rd edition), WileyInterscience, 1998. (A classic undergraduate text.)
 J.H. van Lint, Introduction to Coding Theory (3rd edition), SpringerVerlag (Graduate Texts in Mathematics), 1999. (Not really the most accessible introduction to the subject, but if you are comfortable with elementary abstract algebra and combinatorics, then it's a great book to read. Written for advanced undergraduates and graduate students in mathematics.)
 Online Resources
The following online resources are likely to be useful:
 Lecture notes from a video course on errorcorrecting codes given by Prof. P. Vijay Kumar as part of the National Programme on Technology Enhanced Learning (NPTEL).
 Online lecture notes on coding theory, prepared and maintained by Prof. Jonathan I. Hall. [Link provided with the permission of Prof. Hall.]


