Skip to main page content - your browser does not fully support our CSS, or is text-only.

Mathematics and Statistics Group

MAT9KB: Algebra and Codes

SCQF Level: 10
Availability: Autumn, Advanced module
Course Prerequisite: MAT9K4
Credit Value: 22 (1 module)


To provide an understanding of the algebraic structures required to construct public key codes for secure communication, and error-correcting codes for reliable communication. To identify and develop features common to diverse structures encountered in previous courses.

Learning Outcomes

Students should be able to implement the division algorithm and the Euclidean algorithm, solve simultaneous congruences, use Euler's-function, find irreducible polynomials over finite fields, exploit the sphere-packing bound for codes, manipulate linear codes and their duals, and use syndrome decoding.


1. Numbers: Division algorithm, Euclidean algorithm, prime numbers, congruences, Euler's F-function, Euler's Theorem, public key codes.
2. Algebraic structures: Equivalence relations, groups, Lagrange's theorem, rings, fields, polynomials, vector spaces.
3. Codes: Words, sphere-packing bound, linear codes, dual codes, syndrome decoding, cyclic codes.

Transferable Skills

Logical skills.


R. HILL, "A first course in coding theory", Oxford University Press, 1986, S94.1 HIL.
F. HUMPHREYS and M. Y. PREST, "Numbers, groups and codes", 2nd edn, CUP, 2004, S14 HUM.

Teaching Format

There will be three one-hour lectures and one 1.5 hour tutorial per week.


1/3 coursework (2 class tests) and 2/3 examination