This is a junior-senior level course in coding theory: the art of designing codes that transmit data with
It assumes that the student has taken single-variable calculus, as well as linear algebra.
The class focusses on ideas from probability, algebra and number theory as applied to the design of efficient codes. The necessary mathematics is developed along the way, and not required in advance. Precise statements and theorems do come up in the class, but theorem/proof is not always the main focus.
Aside from elementary probability, the mathematics heavily involves modular arithmetic, finite fields, and linear algebra over such fields. For this reason, this class is among those that can be counted toward a math major's algebra requirement (part of "Column X") as described here .
Topics often include Huffman coding, elementary information theory, Shannon's theorems, bounds on efficiency of codes, linear codes and parity checks, and various well-known linear codes such as Hamming codes, cyclic codes, Reed-Solomon codes, BCH codes.
To suggest some flavor of Math 5251, a student might learn ...