Course 373 - Error-Correcting Codes

Lecturer: Michael Purser and Timothy Murphy

Date: 1995-96

Groups: Optional JS and SS Mathematics, SS Two-subject Moderatorship

Prerequisites: Knowledge of elementary Linear Algebra and Group Theory.

Duration: 21 weeks.

Lectures per week: 3

Assessment:

Examinations: One 3-hour examination

Part I:
The first part of the course, given by Dr Murphy, consists of algebraic preparation for the second and main part of the course, given by Dr Purser. This preparatory course will last for 1 term, and will study:
  1. The finite fields GF(p^n) their existence and uniqueness.
  2. Object-oriented programming and finite fields

Part II:

The second part of the course, given by Dr Purser, will cover:

  1. Introduction to codes, Hamming distance, etc.
  2. Linear block codes, parity check matrices, Hamming codes.
  3. Ideals and binary cyclic codes.
  4. Finite fields and BCH codes.
  5. Error-correcting techniques.
  6. Some examples: CCITT, BSC, Ethernet, EBU.
  7. Non-binary codes. Reed-Solomon codes.
  8. Convolutional Codes.
  9. Decoding of convolutional codes (Viterbi algorithm).
  10. Theoretical foundations of coding theory: Information Theory.
  11. Modelling channels, capacity and Shannon's theorem.
  12. Bounds and limits.