The 1984 paper of Narendra K. Karmarkar [N. K. Karmarkar. A new polynomial-time algorithm for linear programming. Combinatorica 4:373-395, 1984] launched the age of interior point methods (IPMs). Hundreds of polynomial time IPMs were designed in the past quarter century. Interior point software implementations have challenged simplex method implementations and frequently surpassed their performance. All aspects of linear optimization have had to be revisited. Duality theory and the significance and applications of a strictly complementary solution have been explored, and novel concepts of sensitivity analysis have been introduced. We show the limitations of IPMs and present some conjectures and open problems. Polynomial time IPMs have been generalized to smooth convex optimization problems, and IPMs have been successfully implemented to solve general nonlinear optimization problems as well. New problem classes, such as second-order conic and semidefinite optimization problems, are now efficiently solvable by IPMs. Novel paradigms, such as the Ben-Tal-Nemirovski [A. Ben-Tal and A. Nemirovski. Lectures on Modern Convex Optimization: Analysis, Algorithms, and Engineering Applications. MPS-SIAM Series on Optimization, SIAM, Philadelphia, 2001] robust optimization methodology, opened never-seen opportunities to solve large important classes of optimization problems, including truss-topology design and robust radiation therapy treatment. As IPMs have spread to all optimization areas, the theory and practice of optimization has changed forever. Twenty-five years after the publication of Karmarkar's path-breaking paper, this tutorial attempts to give a glimpse of the seminal results induced by the "interior point revolution"-as Margaret H. Wright [M. H. Wright. The interior point revolution in optimization: History, recent developments, and lasting consequences. Bulletin of the American Mathematical Society 42(1):39-56, 2004] coined the term.