This book introduces the theory of modular forms, from which all rational elliptic curves arise, with an eye toward the Modularity Theorem. Discussion covers elliptic curves as complex tori and as algebraic curves; modular curves as Riemann surfaces and as algebraic curves; Hecke operators and Atkin-Lehner theory; Hecke eigenforms and their arithmetic properties; the Jacobians of modular curves and the Abelian varieties associated to Hecke eigenforms. As it presents these ideas, the book states the Modularity Theorem in various forms, relating them to each other and touching on their applications to number theory. The authors assume no background in algebraic number theory and algebraic geometry. Exercises are included.