The aim of this textbook is to introduce the concepts of algebra via examples and to relate them to their applications, particularly in computer sciences. It can be used to teach courses that bridge the widening gap between school and university. In order to give a definite shape to the material, topics that develop elementary group theory are included. The choice of topics is motivated by the wish to provide a sound, rigorous and historically relevant introduction to group theory. Studying group theory in this way enables the student to recognize mathematical patterns in other areas, some traditional, others not so. The book has developed from first level courses taught in the UK and USA. These courses proved successful in developing not only a theoretical understanding but also algorithmic skills.
The first half of the book roughly covers number theory and boolean algebra. Only in the second half then, after having studied examples of groups in detail, are groups formally introduced and their basic properties proven. This is very nice, since a lot of the results in the second half are already shown in a less abstract setting in the first half. It ends with a short discussion of coding-theory.