The main problems of coding theory and cryptography are defined. Classic linear and non-linear codes. Error correcting and decoding properties. Cryptanalysis of classical ciphers from substitution to DES and various public key systems [e.g. RSA] and discrete logarithm based systems. Needed mathematical results from number theory, finite fields, and complexity theory are stated.