Instructor 
John Gill
Email: gill@ee.stanford.edu
Telephone: 6507234715
Office: Packard 266
Office hours: M 3:004:30pm, Th 10:0011:30am, and by appointment

Administrator 
Katt Clark
Email: katt@ee.stanford.edu
Telephone: 6507211060. Fax: 6507232564
Office: Packard 217

Lectures 
MF 12:502:05pm, Meyer 143

Prerequisites 
Linear algebra: matrices, Gaussian elimination
Elementary probability: binomial probability distribution

Textbook 
Richard E. Blahut, Algebraic Codes for Data Transmission

Bibliography 
Shu Lin and Daniel J. Costello, Jr.,
Error Control Coding, second edition
S. B. Wicker,
Error Control Systems for Digital Communication and Storage
A. D. Houghton,
The Engineer's Error Coding Handbook
Peter Sweeney,
Error Control Coding: From Theory to Practice
Juergen Bierbrauer,
Introduction to Coding Theory

Course topics 
Chapters 18, 12 of Blahut's Algebraic Codes for Data Transmission:
Introduction to error detection and error correction
Introduction to algebra: groups, rings, finite fields, vector spaces
Linear block codes: definitions, minimum distance, bounds
Cyclic codes and linear feedback shift register circuits
BCH and ReedSolomon codes
Burst error correcting codes and error trapping
Logic circuits for finite field arithmetic operations
Product codes; coding gain

Homework 
Homework assignments are handed out on Fridays and are due by
5pm the following Friday.
Some assignments will include simple programming problems.

Examinations 
Midterm examination: Friday, November 2, 12:302:05pm, Meyer 143
Final examination: Wednesday, December 12, 8:3011:30am, Meyer 143
Both exams are open book, open notes.

Grading 
30% Homework assignments
25% Midterm examination
45% Final examination

Class webpages 
Primary (handouts): http://www.stanford.edu/class/ee387
SOE CCNet (scores): http://ccnet.stanford.edu/ee387
