This book is appropriate for second to fourth year undergraduates. In addition to the material traditionally taught at this level, the book contains several applications: Polya-Burnside Enumeration, Mutually Orthogonal Latin Squares, Error-Correcting Codes and a classification of the finite groups of isometries of the plane and the finite rotation groups in Euclidean 3-space. It is hoped that these applications will help the reader achieve a better grasp of the rather abstract ideas presented and convince him/her that pure mathematics, in addition to having an austere beauty of its own, can be applied to solving practical problems.Considerable emphasis is placed on the algebraic system consisting of congruence classes mod n under the usual operations of addition and multiplication. The reader is thus introduced - via congruence classes - to the idea of cosets and factor groups. This enables the transition to cosets and factor objects in a more abstract setting to be relatively painless. The chapters dealing with applications help to reinforce the concepts and methods developed in the context of more down-to-earth problems.Most introductory texts in abstract algebra either avoid cosets, factor objects and homomorphisms completely or introduce them towards the end of the book. In this book, these topics are dealt with early on so that the reader has at his/her disposal the tools required to give elegant proofs of the fundamental theorems. Moreover, homomorphisms play such a prominent role in algebra that they are used in this text wherever possible, even if there are alternative methods of proof.