This well written and readable book covers the basics of primality testing algorithms ranging from trial division and the sieve of Eratosthenes to elliptic curve techniques. The presentation is elementary and aimed at the novice with little or no background in number theory. While somewhat out of date, the material is still relevant for the target audience. The focus is on describing and explaining the operation of algorithms, and not on the theory behind them. There are many relevant and useful examples as well as explicitly presented algorithms in pseudo-code. The exercises don't provide much depth and are not particularly plentiful. This is great book for the non-mathematician looking for an accessible introduction to number theory and primality testing.