This book, based on a first-year graduate course the author taught at the University of Wisconsin, 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. In addition, there are some more specialized topics not usually covered in such a course. These include transfer and character theory of finite groups, modules over artinian rings, modules over Dedekind domains, and transcendental field extensions. 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, with nothing being relegated to the chapter-end problems. There are, however, hundreds of problems, many being far from trivial. The book attempts to capture some of the informality of the classroom, as well as the excitement the author felt when taking the corresponding course as a student.