In recent years, the discovery of new algorithms for dealing with polynomial equations, coupled with their implementation on fast inexpensive computers, has sparked a minor revolution in the study and practice of algebraic geometry. These algorithmic methods have also given rise to some exciting new applications of algebraic geometry. This book illustrates the many uses of algebraic geometry, highlighting some of the more recent applications of Gröbner bases and resultants. In order to do this, the authors provide an introduction to some algebraic objects and techniques which are more advanced than one typically encounters in a first course, but nonetheless of great utility. The book is written for nonspecialists and for readers with a diverse range of backgrounds. It assumes knowledge of the material covered in a standard undergraduate course in abstract algebra, and it would help to have some previous exposure to Gröbner bases. The book does not assume the reader is familiar with more advanced concepts such as modules. For this new edition the authors added two new sections and a new chapter, updated the references and made numerous minor improvements throughout the text.