Computer Science and Mathematics (3 Years) [BSc]

Coding Theory

Unit code: MATH32032
Credit Rating: 10
Unit level: Level 3
Teaching period(s): Semester 2
Offered by School of Mathematics
Available as a free choice unit?: N




To introduce students to a subject of convincing practical relevance that relies heavily on results and techniques from Pure Mathematics.


Coding theory plays a crucial role in the transmission of information. Due to the effect of noise and interference, the received message may differ somewhat from the original message which is transmitted. The main goal of Coding Theory is the study of techniques which permit the detection of errors and which, if necessary, provide methods to reconstruct the original message. The subject involves some elegant algebra and has become an important tool in banking and commerce.

Learning outcomes

On successful completion of this course unit students will be able to:

  • state and prove fundamental theorems about error-correcting codes given in the course,
  • calculate the parameters of given codes and their dual codes using standard matrix and polynomial operations,
  • encode and decode information by applying algorithms associated with well-known codes,
  • compare the error-detecting/correcting facilities of given codes for a given binary symmetric channel,
  • design simple linear or cyclic codes with required properties,
  • solve mathematical problems involving error-correcting codes by linking them to concepts from elementary number theory, combinatorics, linear algebra and elementary calculus.

Assessment methods

  • Other - 20%
  • Written exam - 80%

Assessment Further Information

  • Coursework: weighting 20%
  • End of semester examination: two hours weighting 80%


  • Introduction to the Main Problem of Coding Theory. [1 lecture]
  • Hamming Distance. Code detection. Code correction. ISBN code. [2]
  • Length and weight of a code. Perfect codes. [3]
  • Linear codes. Generator matrices and standard forms. Encoding. Nearest neighbour decoding. [4]
  • Dual code. Parity check matrix. Syndrome decoding. Incomplete decoding. [4]
  • Hamming Codes and Decoding. [4]
  • Finite fields. Cyclic codes. [4]
  • Reed-Muller codes.

Recommended reading

Recommended text:

R Hill, A First Course in Coding Theory, 1986, OUP.

Feedback methods

Feedback tutorials will provide an opportunity for students' work to be discussed and provide feedback on their understanding.  Coursework or in-class tests (where applicable) also provide an opportunity for students to receive feedback.  Students can also get feedback on their understanding directly from the lecturer, for example during the lecturer's office hour.

Study hours

  • Lectures - 22 hours
  • Tutorials - 11 hours
  • Independent study hours - 67 hours

Teaching staff

Yuri Bazlov - Unit coordinator

▲ Up to the top