This book introduces the theory of modular forms with an eye toward the Modularity Theorem. All rational elliptic curves arise from modular forms. The topics covered include: 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, elliptic and modular curves modulo p and the Eichler-Shimura Relation, the Galois representations associated to elliptic curves and 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. A First Course in Modular Forms is written for beginning graduate students and advanced undergraduates. It does not require background in algebraic number theory or algebraic geometry, and it contains exercises throughout.