Numerical Methods for Ordinary Differential Equations is a self-contained introduction to a fundamental field of numerical analysis and scientific computation. Written for undergraduate students with a mathematical background, this book focuses on the analysis of numerical methods without losing sight of the practical nature of the subject. It covers the topics traditionally treated in a first course, but also highlights new and emerging themes. Chapters are broken down into `lecture' sized pieces, motivated and illustrated by numerous theoretical and computational examples. Over 200 exercises are provided and these are starred according to their degree of difficulty. Solutions to all exercises are available to authorized instructors. The book covers key foundation topics: o Taylor series methods o Runge-Kutta methods o Linear multistep methods o Convergence o Stability and a range of modern themes: o Adaptive stepsize selection o Long term dynamics o Modified equations o Geometric integration o Stochastic differential equations The prerequisite of a basic university-level calculus class is assumed, although appropriate background results are also summarized in appendices.