| The moduli spaces of curves are geometric objects aimed to classify the isomorphism classes of certain types of curves. They have been studied in the contexts of geometry (algebraic, symplectic, and differential) and topology as well as cohomological field theory and string theory. The formulation of moduli problems in terms of moduli functors is due to Grothendieck. The space M_g of curves of a given genus is described by Deligne and Mumford. They introduced the notion of stacks as a generalization of schemes and prove that $M_g$ is an irreducible smooth stack defined over the ring of integers. Mumford started the study of enumerative geometry of the moduli spaces of curves. He defined the notion of tautological classes on the moduli space and proved basic relations among them. Witten's conjecture, proven by Kontsevich, gives a recipe to compute the intersection numbers of the n basic line bundles on $\overline M_{g,n}$. Faber proved that the knowledge of these numbers allows one to compute all other intersection numbers of divisors as well. In this project we study the moduli spaces of curves and their intersection theory. |