Convexity is a simple idea that manifests itself in a surprising variety of places. This fertile field has an immensely rich structure and numerous applications. Barvinok demonstrates that simplicity, intuitive appeal, and the universality of applications make teaching (and learning) convexity a gratifying experience. The book will benefit both teacher and student: It is easy to understand, entertaining to the reader, and includes many exercises that vary in degree of difficulty. Overall, the author demonstrates the power of a few simple unifying principles in a variety of pure and applied problems. The notion of convexity comes from geometry. Barvinok describes here its geometric aspects, yet he focuses on applications of convexity rather than on convexity for its own sake. Mathematical applications range from analysis and probability to algebra to combinatorics to number theory.Several important areas are covered, including topological vector spaces, linear programming, ellipsoids, and lattices. Specific topics of note are optimal control, sphere packings, rational approximations, numerical integration, graph theory, and more. And of course, there is much to say about applying convexity theory to the study of faces of polytopes, lattices and polyhedra, and lattices and convex bodies. The prerequisites are minimal amounts of linear algebra, analysis, and elementary topology, plus basic computer skills. Portions of the book could be used by advanced undergraduates. As a whole, it is designed for graduate students interested in mathematical methods, computer science, electrical engineering, and operations research. Readers will find some new results. Also, many known results are discussed from a new perspective.