Construction and properties of finite fields. Polynomials, vector spaces, block codes over finite fields. Hamming distance and other code parameters. Bounds relating code parameters. Cyclic codes and their structure as ideals. Weight distribution. Special codes and their relation to designs and projective planes. Decoding algorithms. PREREQUISITE