An introduction to complex analysis for students with some knowledge of complex numbers from high school. It contains sixteen chapters, the first eleven of which are aimed at an upper division undergraduate audience. The remaining five chapters are designed to complete the coverage of all background necessary for passing PhD qualifying exams in complex analysis. Topics studied include Julia sets and the Mandelbrot set, Dirichlet series and the prime number theorem, and the uniformization theorem for Riemann surfaces, with emphasis placed on the three geometries: spherical, euclidean, and hyperbolic. Throughout, exercises range from the very simple to the challenging. The book is based on lectures given by the author at several universities, including UCLA, Brown University, La Plata, Buenos Aires, and the Universidad Autonomo de Valencia, Spain.