
\begin{abstract}
In this paper, intended for a general audience, I give an introduction to
coding theory.  Error-control coding is the study of the efficient detection
and correction of errors in a digital signal.  The essential idea of so-called
``block codes'' is to divide a message into blocks of bits, then add just
enough redundant bits to permit recovery of the original information after
transmission through a noisy medium.  The required amount of redundancy
depends, of course, on the statistics of the transmission medium.  The
mathematics will be basic linear algebra over $\F_2$.  I will construct a few
simple codes, define terms such as rate and minimum distance, discuss some
upper and lower bounds on both of these parameters, and present some algorithms
for encoding and decoding.
\end{abstract}
