You are here

A Course in Error-Correcting Codes

Jørn Justesen and Tom Høholdt
European Mathematical Society
Publication Date: 
Number of Pages: 
EMS Textbooks in Mathematics
[Reviewed by
Felipe Zaldivar
, on

The theory of error-correcting codes is one of the areas where pure and applied mathematics intermingle with profit on both sides. Having said that, and to balance the account, I should add that oftentimes introductions to the subject diverge quite widely: from the pristine elegant algebraic approach, perhaps adding some number theory or geometry to spice up the menu, to the basic down-to-earth algorithmic approach appealing to the computer science or engineering student eager to program some of these algorithms.

The book under review differs from other introductory textbooks in coding theory for its attempt to balance the exposition, with some chapters on the theoretical side while other chapters emphasize the algorithmic and programming aspects of coding theory.

The chapters on the theoretical side cover the basic results of block linear codes, and to make the book self-contained there is even a chapter on finite fields and polynomials and geometries over these fields. Specific families of linear codes treated in the text include Reed-Solomon, cyclic and BCH codes. In addition to obtaining their main properties and parameters, these examples are used to discuss several decoding algorithms, and there are even two whole chapters on iterative decoding and maximum likelihood decoding. Several methods to construct linear codes are also treated, such as punctured and concatenated codes. For the combinatorially inclined reader, there are sections on codes on graphs and decoding graph codes; from the geometric side there is an elementary introduction to Goppa codes, viewed as generalizations of Reed-Solomon codes, focusing on Hermitian codes and their decodification.

Two chapters are devoted to aspects of coding theory that are not usually treated in a textbook: The first one discusses probabilistic methods to study the performance of error-correcting codes in terms of error probabilities, while the second one gives an introduction to the architectural structure of communication systems assuming that the information is transmitted using frames or packets. In this regard, there is also a chapter where codes of variable length (convolutional codes) are also discussed.

The book could be used for an advanced undergraduate topics course for students already exposed to linear algebra and some probability and mature enough to be able to catch up with topics that may be new to them, such as finite fields. Each chapter comes with sets of problems that encourage the interested reader to participate in the learning experience, with some problems aimed to students with different backgrounds. In my opinion, the book under review is one of the best introductions to coding theory with a good selection of topics that gives the reader a balanced account of some important aspects of the theory without being encyclopedic. The second edition of the book updates some topics, and removes and adds a few others, while keeping the well-structured exposition of the first edition.

Felipe Zaldivar is Professor of Mathematics at the Universidad Autonoma Metropolitana-I, in Mexico City. His e-mail address is

The table of contents is not available.