This book offers a concise yet thorough introduction to the notion of moduli spaces of complex algebraic curves. Over the last few decades, this notion has become central not only in algebraic geometry, but in mathematical physics, including string theory, as well. The book begins by studying individual smooth algebraic curves, including the most beautiful ones, before addressing families of curves. Studying families of algebraic curves often proves to be more efficient than studying individual curves: these families and their total spaces can still be smooth, even if there are singular curves among their members. A major discovery of the 20th century, attributed to P. Deligne and D. Mumford, was that curves with only mild singularities form smooth compact moduli spaces. An unexpected byproduct of this discovery was the realization that the analysis of more complex curve singularities is not a necessary step in understanding the geometry of the moduli spaces. The book does not use the sophisticated machinery of modern algebraic geometry, and most classical objects related to curves – such as Jacobian, space of holomorphic differentials, the Riemann-Roch theorem, and Weierstrass points – are treated at a basic level that does not require a profound command of algebraic geometry, but which is sufficient for extending them to vector bundles and other geometric objects associated to moduli spaces. Nevertheless, it offers clear information on the construction of the moduli spaces, and provides readers with tools for practical operations with this notion. Based on several lecture courses given by the authors at the Independent University of Moscow and Higher School of Economics, the book also includes a wealth of problems, making it suitable not only for individual research, but also as a textbook for undergraduate and graduate coursework