Traditionally, algebraic geometry has been one of those subjects which require several semesters of background preparation and then several more to master the basics. For example, the standard classic by Hartshorne, *Algebraic Geometry*, certainly requires a decent commutative algebra background and serious dedicated work spanning over two to three semesters. Therefore until recently, in general, people who did not necessarily crave from the beginning to do research in algebraic geometry did not even attempt to get their feet wet and instead ended up keeping their distance from the whole area.

Then came the revolution of computational algebraic geometry, in other words, the discovery of new and fast algorithms and the development of several computer algebra systems that enabled people to manipulate polynomial equations on their own home or office computers. As a result, there arose several new problems in algebraic geometry accessible to students at an early stage in their mathematical careers. What a computational algebraic geometer does is clearly not classical algebraic geometry, with the emphasis of the latter on a few well-studied examples and a very general and very deep theory, and there are many in our community who react reflexively but strongly (in a positive or a negative manner) to modifications of classical subject names with the new qualification "computational." However, we should note here that the computational algebraic geometers are not stealing the show from the classical guys, but only building up their new stage in the next fairground plot and, incidentally, playing to very enthusiastic crowds.

This enthusiasm has some good reasons. The computational aspects are accessible and therefore interesting to a lot more undergraduates and beginning graduate students than, say, Hartshorne's tome. The fact that there are several practical applications of the new methods, to integer programming, geometric design, robotics and coding theory, never hurts, and in fact brings in many students who wish to get involved hands-on with relatively more "real-world" problems but still find challenges of abstract algebra appealing. The students who get pulled in merely by the computational aspects end up having some commutative algebra rubbed on them and begin to see the point of all the abstract machinery built through the last century. The ones who already are in love with algebra end up appreciating the power of computers and the elegance of computer mathematics.

The book under review is in fact a graduate level text. However, the authors, David A. Cox, John Little, and Donal O'Shea, do not expect much from their reader in terms of mathematical prerequisites. They clearly state, for instance, that previous knowledge of modules will not be necessary in order to follow their book; in fact several sections of the book introduce the reader to basic graduate/commutative algebra topics such as polynomial rings and their ideals (Section 1.1), local rings (Section 4.1), modules (Section 5.1), finite fields (Section 9.1). The requisite graduate standing is instead to be interpreted as a basic knowledge of standard undergraduate algebra along with some mathematical maturity. One caveat here: The text is not going to be very manageable unless the reader has some previous exposure to Groebner bases or spares some serious brooding time for the two sections 1.2 and 1.3 where the topic is reviewed rather cursorily. A better preparation would probably be the authors' own text written for undergraduates, *Ideals, Varieties, and Algorithms*, a very comprehensive yet friendly exposition. This text may also be used as a companion while reading *Using Algebraic Geometry*.

This second edition of *Using Algebraic Geometry* consists of ten chapters. The first chapter is an introduction to the basic algebra needed for the rest of the book: polynomial rings and their ideals, basics of Groebner bases, and a brief excursion into the geometry in algebraic geometry, in other words, affine varieties. Then comes a chapter on using Groebner bases to solve polynomial equations, and another one on using resultants. The fourth chapter is on local rings and computations on them, this chapter includes a brief introduction to local rings so that the student who did not yet take a commutative algebra course will not fall behind. Chapters 5 and 6 would mostly be covered in a standard commutative algebra course, but since the reader is not assumed to have satisfied such a prerequisite, modules, syzygies and resolutions are introduced in detail first before going into the computational aspects. Chapter 7 comes back to resultants and studies their applications to polytopes and to toric varieties. Chapter 8 covers integer programming, and coding theory is the topic under study in the remaining two chapters.

The context of *Using Algebraic Geometry* is not a traditional course in classical algebraic geometry. The audience is expected to consist of graduate students interested in computational aspects of algebraic geometry and others with some mathematical maturity who are curious to know what all the hype surrounding computational algebraic geometry is really about. In other words, the text is written for outsiders, whether they intend to eventually be insiders or not. The goal is to give a good overview of the several algorithms and ideas which make up the contents of the tool bag of computational algebraic geometry and their applications to combinatorics, coding theory and integer programming.

This reviewer thinks that the part of the intended audience consisting of graduate students interested in research in computational algebraic geometry will find this to be a very useful book. The many exercises throughout the text, and the mere fact that this is a very good and detailed overview of the subject will definitely make it desirable for this group. Mathematicians with some previous exposure to classical algebraic geometry may also find in *Using Algebraic Geometry* a practical guide to the computational aspects of the subject. However, for the group of outsiders who do not really have much experience in algebraic geometry and who only wish to catch a glimpse of what is going on and how to make sense of this new phenomenon, this reviewer would in fact suggest the authors' previous book, the undergraduate text *Ideals, Varieties, and Algorithms*. This latter text is, unarguably, for undergraduates, but it is also much easier to digest and hence more appropriate for reading on the side if one is not really planning to jump in and start doing reseach in the subject. In case our outsider finishes *Ideals, Varieties and Algorithms* and wishes to learn more, *Using Algebraic Geometry* is a fine second book.

Gizem Karaali teaches at the University of California in Santa Barbara.