Computer Science / Math  235


Information and Coding Theory


Fall 2009


Instructor:                              Steven Lindell                          Office: Link 308

                                                Phone: -1203                           E-mail: slindell


Class schedule and room:       MWF 3:00-4:00                     Link 310 (CS research lab)


Consultation hours:                after class; and also by appointment


Course Description:                Covers the mathematical theory of the transmission (sending or storing) of information. Included will be encoding and decoding techniques, both for the purposes of data compression, and for the detection and correction of errors.


Co-requisite:                           Math 215 (linear algebra) or its equivalent.


Text:                                     Coding and Information theory, by Richard W. Hamming, 2nd edition, Prentice-Hall © 1986 ISBN 0131390724 (out-of-print: copies available in bookstore have been duplicated with the permission of the publisher).


Supplement:    (harder)         Information and Coding theory, by Gareth A. Jones & J. Mary Jones, Springer Verlag © 2000. [on reserve in library]


Lecture:                                  Attendance in class is expected. More than three unexcused absences will result in a lowered grade.


Grading:                                 Participation                            10%     (includes attendance)

                                                Homework                               30%    (see rules below)

                                                Midterm                                   30%    (one)

                                                Final Exam                              30%    (comprehensive)


Rules:                                     Homework will be collected about every ten days, and students are encouraged to work together on problems by sharing ideas, but not solutions. Both exams will be take-home, with no collaboration or help allowed.


Comments:                             This class is not intended to be difficult, but does require concentration in dealing with the abstract mathematical concepts involved.


Online course information:    Have you ever wondered how a CD can sound completely pristine, even though it is scratched?  Is it possible to discern spoken text even when the background noise is so great that the speech signal is inaudible?  How can files, especially music and pictures, be compressed to a fraction of their original size without any discernible difference?  These questions, and many more, can be answered by a fundamental mathematical theory of communication which quantifies the amount of information in a message, regardless of whether it is transmitted or stored. This quantity, known as entropy, is given by a surprisingly elegant formula with deep connections to physics. The entropy of a message (or file) determines how much it can be compressed without losing information -- the subject of information theory.  But those same messages can have their information corrupted by errors introduced in the process of communication or storage. Coding theory studies methods for detecting (and correcting) those errors, in ways that are completely transparent to the user (your cell phone uses these techniques). The crowning achievement of these theories (known as Shannon's theorem) is that both compression (removing redundancy) and correction (adding redundancy) can be achieved simultaneously! It has important applications everywhere.


Course Outline


Lectures will follow the table of contents for the text fairly closely.


1.         Introduction (the signaling channel, communication versus storage, analog versus digital)

2.         Error-Detecting Codes (simple parity checks, modular arithmetic, weighted codes)

3.         Error-Correcting Codes (Hyper-dimensional cubes, Hamming code, Hamming distance)

4.         Variable-Length Codes: Huffman Codes (instantaneous decoding, Kraft inequality)

5.         Miscellaneous Codes (ergodic Markov processes, predictive run length coding)

6.         Entropy and Shannon's First Theorem (Gibbs inequality, Shannon-Fano, code extensions)

7.         The Channel and Mutual Information (binary symmetric channel, system entropies)

8.         Channel Capacity (uniformity, application to error detecting and correcting codes)

9.         Some Mathematical Preliminaries (Stirling’s approximation, binomial bounds, Gamma function)

10.       Shannon's Main Theorem (the average random code)

11.       Algebraic Coding Theory (double error correction, use of shift registers)

12.       Appendix: Bandwidth and the Sample Theorem (analog bandwidth, signal to noise ratio)