This book is an in-depth and modern presentation of important classical results in complex analysis and is suitable for a first course on the topic, as taught by the authors at several universities. The level of difficulty of the material increases gradually from chapter to chapter, and each chapter contains many exercises with solutions and applications of the results, with the particular goal of showcasing a variety of solution techniques.