This is an excellent book for a first-year graduate student doing a course in complex analysis. Instructors will like it as well, but students will enjoy and profit from Ullrich’s careful explanation of why the theorems work the way they do and also sometimes why seemingly nice ideas that promised to work do not (but often can be patched so that they do).

The mathematics itself is exciting as expected with no real novelties. Ullrich follows moderns treatments: the book places emphasis on complex differentiability being the same as real (Fréchet) differentiability plus the Cauchy-Riemann equations; it avoids the Jordan Curve Theorem by presenting the homological version of Cauchy’s theorem due to Dixon, a proof that has become standard in textbooks nowadays; it also includes a homotopy version. The influence of Rudin’s Real and Complex Analysis is especially apparent, as Ullrich himself acknowledges in the introduction, except that the integrals are all Riemann integrals. The clean, concise logic of Rudin’s book is supplemented by Ullrich’s captivating prose.

One deviation from traditional presentations is a proof of the Big Picard Theorem that directly generalizes the standard proof of the Little Picard Theorem. Ullrich says that most readers will think it’s a new proof; he himself thought so until he was told that it’s essentially the original proof by Julia, which Ullrich encourages the student to read. Also, Ullrich places an emphasis on covering maps that aims to unify some ideas used in that proof.

I must confess that I did not get the material in the informal section on the relation between harmonic functions Brownian motion, where Ullrich tries to explain intuitively how the Dirichlet problem works for general domains. But I’ll trust Ullrich on that choice as well.

In short, Ullrich has managed to write a book about a classical subject that is unusual because its exposition is aimed directly at students, not instructors. I strongly recommend this book to everyone.

Luiz Henrique de Figueiredo is a researcher at IMPA in Rio de Janeiro, Brazil. His main interests are numerical methods in computer graphics, but he remains an algebraist at heart. He is also one of the designers of the Lua language.