Concrete Abstract Algebra develops the theory of abstract algebra from numbers to Grobner bases, whilst taking in all the usual material of a traditional introductory course. In addition there is a rich supply of topics like cryptography, factoring algorithms for integers, quadratic residues, finite fields, factoring algorithms for polynomials and systems of non-linear equations. A special feature is that Grobner bases do not appear as an isolated example. They are fully integrated as a subject that can be successfully taught in an undergraduate context. Lauritzen's approach to teaching abstract algebra is based on an extensive use of examples, applications and exercises. The basic philosophy is that inspiring, non-trivial applications and examples give motivation and ease the learning of abstract concepts. This book is built on several years of experience teaching introductory abstract algebra at Aarhus, where the emphasis on concrete and inspiring examples has improved student performance significantly. Solutions to the exercises are available to lecturers from firstname.lastname@example.org.