This text is an elementary introduction to information and coding
theory. The first part focuses on information theory, covering uniquely
decodable and instantaneous codes, Huffman coding, entropy, information
channels, and Shannon's Fundamental Theorem. In the second part, linear
algebra is used to construct examples of such codes, such as the
Hamming, Hadamard, Golay and Reed-Muller codes. Contains proofs, worked
examples, and exercises.