There's a new textbook on the block for an undergraduate course in coding theory, and it delivers beautifully. The book is *Introduction to Coding Theory* by Juergen Bierbrauer. It is about 350 pages, divided into two sections. The first part is designed for a one semester course, while the second part contains more advanced topics which could round out a year long course. The book seems (and claims to be) self-contained, relying only on high school algebra and a few concepts of linear algebra.

Several aspects of the book impress me favorably. First, it looks friendly. Each section begins with a listing of the basic concepts and ends with a few problems. More importantly though, the book is readable. The author isn't afraid to make qualitative and summary statements to help the reader sift through the material. For example, regarding a main theorem about the geometry of codes, that the weight of a codeword in a linear code is determined by the number of points in a particular set, Bierbrauer writes, "It is harder to write down this theorem than to prove it. ... It is the charm of the geometric description of linear codes that it gives a completely different angle under which to view th construction problem. What we need are sets (or multisets) of points in projective geometry which are in some sense uniformly distributed: no hyperplane contains very many of our points, in other words: outside every hyperplane we always need to find sufficiently many points." (p 251) As a reader I am always grateful to the author who is willing to put the ideas into context, and into descriptive sentences.

The content of the book also impressed me. I've taught just enough of the basics of coding theory to recognize the core here, as one would find in Raymond Hill's *A First Course in Coding Theory* or Vera Pless's *Introduction of the Theory of Error-Correcting Codes*. In Part II of the book, I was engaged by a range of topics which were mostly unfamiliar to me, a non-expert. Quite intruiging! Trace codes, orthogonal array, tms nets... more advanced topics and applications make up this part of the text. That leads to perhaps the only drawback I can see to mention. The emphasis on applications seems to be largely in the second part of the book, where those readers in a one semester course may not find them.

Michele Intermont (intermon@kzoo.edu) is Associate Professor of Mathematics at Kalamazoo College. Her area of specialty is algebraic topology.