This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CSE 545, Error Correcting Codes: Combinatorics, Algorithms and Applications Spring 2011 Mon Wed Fri 2:00-2:50pm, Norton 218 • Please complete the (anonymous) feedback form. Instructor information Atri Rudra ( http://www.cse.buffalo.edu/ ∼ atri ) • Email: atri "at" buffalo "dot" edu • Office: CSE 123 • Phone: 645-2464 • Office Hours: By Appointment. It is preferable to set up an appointment if you want to talk to me. However, you can drop by if my office door is open. Course Description Error correcting codes are systematic ways of introducing redundancy into data so that the original infor- mation can be recovered even when the data is corrupted. Error correcting codes (or just codes) are used ubiquitously in communication systems and data storage. The study of error correcting codes (or coding theory) started with the seminal works of Shannon and Hamming in the late 1940s. This course will discuss the theoretical aspects of codes and will focus mostly on the worst case noise model pioneered by Hamming. However, we will discuss quite a few results on the stochastic noise model pioneered by Shannon. We will use techniques from combinatorics, probability theory and algebra among other areas. The course will be roughly divided into three parts. The first part will look at the combinatorial issues in the design of codes. This part will mostly be classical results that talk about limits to what can and cannot be done using codes. The second part of the course will deal with the algorithmic aspects of codes. In particular, we will focus on efficient algorithms that recover the original information from corrupted data (called decoding). In this part we will discuss some exciting recent developments that bridge the “divergent” schools of thoughts of Shannon and Hamming. Finally, we will study some application of codes outside of the “traditional” error correcting applications. In particular, we will see how codes can be used to obtain results in theoretical computer science in general. If there is interest, we might also look at more practically motivated applications e.g. secure biometrics. 1 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 beexposure to) computational complexity will be useful....
View Full Document
- Spring '11
- Algorithms, Wikipedia, Coding theory, Hamming Code, Error Correcting Codes