The book gives a good general overview of algebraic curves using only elementary algebra, topology, and complex analysis. There are lots of diagrams of elliptic curves in the historical introduction in the first chapter and the subject is well motivated. Hilbert's Nullstellensatz is introduced in the context of real algebraic curves as an answer to the question of when the polynomials definte the same curve. The visualization approach taken by the author in the first chapter has taken on dramatic proportions do to the computer graphics packages currently available. The author introduces complex algebraic curves in complex 2-dimensional space in the next chapter. Recognizing that such curves are not compact, he compactifies them by adding suitable points at infinity, giving complex projective curves. The algebraic properties of these curves are studied in the next chapter. He does a good job of motivating the group law on elliptic curves on the last theorem of the chapter, leaving the proof of associativity to the reader in the exercises. The topology of complex projective curves is taken up in Chapter 4. The author gives two proofs of the degree-genus formula, one geometric and the other from a holomorphic point of view. This leads to a consideration of branch points and ramified covers. The author's outline of the proofs is very detailed and therefore very helpful to one encountering the proof for the first time. The statement of the formula via the Riemann-Roch theorem in more formal treatments (and later in the book) can then be appreciated more. The subject of non-singular complex projective curves, namely Riemann surfaces, is effectively discussed in Chapter 5, with holomorphic differentials outlined in Chapter 6. The Riemann-Roch theorem makes its appearance here, and the author is careful to point out its use as an alternative characterization of the genus given earlier by topological arguments. Divisors are introduced as formal sums, but their understanding is straightforward here because the author has motivated them with a discussion of the properties of holomorphic and meromorphic functions earlier in the chapter. The proof of the Riemann-Roch theorem is very detailed and understandable. The book ends with a discussion of singular curves via resolution of singularities. Newton polygons and Puiseux expansions are used to investigate the behavior of degree d projective curves near a singular point. The geometrical constructions used here by the author are of great help in understanding the behavior of these curves. A very well-written book for students and new-comers to the area of algebraic curves. It will pave the way for more advanced reading on the subject.