Prime numbers beckon to the beginner, the basic notion of primality being accessible to a child. Yet, some of the simplest questions about primes have stumped humankind for millennia. In this book, the authors concentrate on the computational aspects of prime numbers, such as recognizing primes and discovering the fundamental prime factors of a given number. Over 100 explicit algorithms cast in detailed pseudocode are included in the book. Applications and theoretical digressions serve to illuminate, justify, and underscore the practical power of these algorithms. This book can be read on several levels. For those wanting a taste of the lore of prime numbers and the principal methods to deal with them, the book provides a friendly introduction. For those wanting to delve deeper into the essential details of the most up-to-date methods for prime number computations, the book has such details and many references to the huge literature on the subject. Students can test their understanding with interesting exercises, including some entertaining, nonstandard ones. And for those wishing to start or enrich a research program in computational prime number theory, the many unsolved problems in the text, and research problems in the exercises, provide rich ground for further work.