Algebraic number theory is a subject which came into being through the attempts of mathematicians to try to prove Fermat's last theorem and which now has a wealth of applications to diophantine equations, cryptography, factoring, primality testing and public-key cryptosystems. This book provides an introduction to the subject suitable for senior undergraduates and beginning graduate students in mathematics. The material is presented in a straightforward, clear and elementary fashion, and the approach is hands on, with an explicit computational flavour. Prerequisites are kept to a minimum, and numerous examples illustrating the material occur throughout the text. References to suggested reading and to the biographies of mathematicians who have contributed to the development of algebraic number theory are given at the end of each chapter. There are over 320 exercises, an extensive index, and helpful location guides to theorems and lemmas in the text.