This book, contains more than enough material for a two-semester graduate-level abstract algebra course, including groups, rings and modules, fields and Galois theory, an introduction to algebraic number theory, and the rudiments of algebraic geometry. This book could be used for self study as well as for a course text, and so full details of almost all proofs are included. There are hundreds of problems, many being far from trivial.