This book is an introduction and exploration of the theory of groups, to understand groups, to learn how to use them for computation and for proofs, but also to learn how to use them for the study and understanding of other fields to which they can be applied. The purpose is to develop awareness, intuition, not merely about each of these areas, but to use what is achieved from one to develop it for others. Groups as a computational tool have become an essential part of mathematics, physics and chemistry.