Students will learn how to do computations and to write proofs. A unique feature of the book are exercises that build the skill of generalizing, a skill that students should develop but rarely do. Applications are included to illustrate the utility of the abstract concepts.