This is a self-contained text on abstract algebra for senior undergraduate and senior graduate students, which gives complete and comprehensive coverage of the topics usually taught at this level. The book is divided into five parts. The first part contains fundamental information such as an informal introduction to sets, number systems, matrices, and determinants. The second part deals with groups. The third part treats rings and modules. The fourth part is concerned with field theory. Much of the material in parts II, III, and IV forms the core syllabus of a course in abstract algebra. The fifth part goes on to treat some additional topics not usually taught at the undergraduate level, such as the Wedderburn-Artin theorem for semisimple artinian rings, Noether-Lasker theorem, the Smith-Normal form over a PID, finitely generated modules over a PID and their applications to rational and Jordan canonical forms and the tensor products of modules. Throughout, complete proofs have been given for all theorems without glossing over significant details or leaving important theorems as exercises. In addition, the book contains many examples fully worked out and a variety of problems for practice and challenge. Solution to the odd-numbered problems are provided at the end of the book to encourage the student in problem solving. This new edition contains an introduction to categories and functors, a new chapter on tensor products and a discussion of the new (1993) approach to the celebrated Noether-Lasker theorem. In addition, there are over 150 new problems and examples.