This text is based on the belief that, before students can make sense of any presentation of abstract mathematics, they need to be engaged in mental activities that will establish an experiential base for any future verbal explanations and to have the opportunity to reflect on their activities. This approach is based on extensive theoretical and empirical studies, as well as on the substantial experience of the authors in teaching abstract algebra. The main source of activities in this course is computer constructions; specifically, small programs written in the math-like programming language ISETL. Work is encouraged to take place in teams of two to four students, where the activities are discussed and debated. Each topic is first introduced through computer activities, which are then followed by a text section and exercises. The text section is written in an informal, discursive style, closely relating definitions and proofs to the constructions in the activities.