Many people do not realise that mathematics provides the foundation for
the devices we use to handle information in the modern world. Most of
those who do know probably think that the parts of mathematics
involvedare quite 'cl- sical', such as Fourier analysis and di?erential
equations. In fact, a great deal of the mathematical background is part
of what used to be called 'pure' ma- ematics, indicating that it was
created in order to deal with problems that originated within
mathematics itself. It has taken many years for mathema- cians to come
to terms with this situation, and some of them are still not entirely
happy about it. Thisbookisanintegratedintroductionto Coding.Bythis
Imeanreplacing symbolic information, such as a sequence of bits or a
message written in a naturallanguage, byanother messageusing (possibly)
di?erentsymbols.There are three main reasons for doing this: Economy
(data compression), Reliability (correction of errors), and Security
(cryptography). I have tried to cover each of these three areas in
su?cient depth so that the reader can grasp the basic problems and go on
to more advanced study. The mathematical theory is introduced in a way
that enables the basic problems to bestatedcarefully,
butwithoutunnecessaryabstraction.Theprerequisites(sets andfunctions,
matrices, ?niteprobability)shouldbefamiliartoanyonewhohas taken a
standard course in mathematical methods or discrete mathematics. A
course in elementary abstract algebra and/or number theory would be
helpful, but the book contains the essential facts, and readers without
this background should be able to understand what is going on. vi
Thereareafewplaceswherereferenceismadetocomputeralgebrasystems.