EEC269A – Error Correcting Codes I

3 units – Fall Quarter

Lecture: 3 hours

Prerequisite: MAT 22A (linear algebra) and EEC 160

Grading: Letter; homework (60%) and final exam (40%).

Catalog Description:

Introduction to the theory and practice of block codes, linear block codes, cyclic codes, decoding algorithms, coding techniques.

Expanded Course Description:

  1. Error Control Coding
    1. Introduction
    2. Types of Coding
    3. Types of Errors
    4. Decoding
  2. Introduction to Algebra
    1. Groups
    2. Fields, Finite Fields
    3. Vector Spaces
    4. Matrices
  3. Linear Block Codes
    1. Introduction
    2. Syndrome and Error Detection
    3. Hamming Distance
    4. Standard Array and Syndrome Decoding
  4. Important Linear Block Codes
    1. Hamming Codes
    2. Reed-Muller Codes
    3. Majority-Logic Decoding
    4. Low-Density Parity Check Codes
    5. The Bianry Golay Code
  5. Cyclic Codes
    1. Description
    2. Generator and Parity Check Matrices
    3. Encoding
    4. Syndrome Computation and Error Detection
    5. Decoding of Cyclic Codes
  6. Binary BCH Codes
    1. Binary Primitive BCH Codes
    2. Decoding
    3. Correction of Errors and Erasures
    4. Implementation
  7. Nonbinary BCH Codes
    1. Reed-Solomon Codes and their Decoding Algorithms
    2. Nonbinary Linear Block Codes and BCH Codes
    3. The Berlekamp Decoding Algorithm
    4. The Euclidean Decoding Algorithm
    5. Frequency-Domain Decoding
    6. Corection of Errors and Erasures
  8. Interleaving, Product, Concatenation and Code Decomposition
  9. Burst-Error-Correcting Codes
  10. Automatic-Repeat-Request Strategies


  1. S. Lin and D.J. Costello, Jr. Error Control Coding: Fundamentals and Applications, Prentice Hall

Instructor(s): Abdel-Ghaffar, Lin

Course Overlap:

EEC 269A and EEC 269B are the only course sequence on error correcting codes on UC Davis campus.

Last revised: September 2001