This book provides an integrated introduction to the mathematics of coding, that is, replacing information expressed in symbols, such as a natural language or a sequence of bits, by another message using (possibly) different symbols.