This book provides a guide to a rich and fascinating subject: algebraic curves and how they vary in families. The aim has been to provide a broad but compact overview of the field which will be accessible to readers with a modest background in algebraic geometry. Many techniques including Hilbert schemes, deformation theory, stable reduction, intersection theory, and geometric invariant theory are developed, with a focus on examples and applications arising in the study of moduli of curves.