Quick Links

An Introduction to Coding Theory via Hamming Codes


The theory of error-correcting codes is a relatively recent application
of mathematics to information and communication systems. The
theory has found a wide range of applications from deep space
communication to quality of sound in compact disks. It turns out that
a rich set of mathematical ideas and tools can be used to design good
codes. The set of mathematical tools used in the field generally
comes from algebra (linear and abstract algebra). The purpose of this
book is to introduce the basics of the subject to students with an
elementary knowledge of linear algebra, via a well-known class of
codes known as Hamming codes. Interesting properties and projects
related to Hamming codes are introduced.
The only prerequisite to understand this book is a course on linear
algebra. It can be used in a linear algebra course after students learn
necessary background. In fact, studying error correcting codes would
be an excellent project in a linear algebra course. Typically, in a first
course on linear algebra, students study vector spaces over the real
numbers. In this book, they need to study vector spaces over the
binary field. So, that will provide a level of abstraction but a
manageable one.
Additionally, it can be used in any computational science course
where introducing error-correct codes is appropriate or desired.
Finally, another course that can use this book would be an Abstract
Algebra course. Once students learn general finite fields, they can
define and implement Hamming codes over an arbitrary finite field
(of course they will still benefit from studying Hamming codes over
the binary field first). Typically, students before taking an abstract
algebra course are familiar with the field of integers book p, for a
prime p, but they are not familiar with more general finite fields. The
software used in this book is Maple (version 10 is used in this book
but other versions should also work).