The theory of modular forms is a fundamental tool used in many areas of mathematics and physics. It is also a very concrete and ``fun'' subject in itself and abounds with an amazing number of surprising identities.This comprehensive textbook, which includes numerous exercises, aims to give a complete picture of the classical aspects of the subject, with an emphasis on explicit formulas. After a number of motivating examples such as elliptic functions and theta functions, the modular group, its subgroups, and general aspects of holomorphic and nonholomorphic modular forms are explained, with an emphasis on explicit examples. The heart of the book is the classical theory developed by Hecke and continued up to the Atkin-Lehner-Li theory of newforms and including the theory of Eisenstein series, Rankin-Selberg theory, and a more general theory of theta series including the Weil representation. The final chapter explores in some detail more general types of modular forms such as half-integral weight, Hilbert, Jacobi, Maass, and Siegel modular forms.Some ``gems'' of the book are an immediately implementable trace formula for Hecke operators, generalizations of Haberland's formulas for the computation of Petersson inner products, W. Li's little-known theorem on the diagonalization of the full space of modular forms, and explicit algorithms due to the second author for computing Maass forms.This book is essentially self-contained; the necessary tools such as gamma and Bessel functions, Bernoulli numbers, and so on are given in a separate chapter.