This book is mainly intended as a textbook for students at the Sophomore-Junior level, majoring in mathematics, engineering, or the sciences in general. The book includes the basic topics in Ordinary Differential Equations, normally taught in an undergraduate class, as linear and nonlinear equations and systems, Bessel functions, Laplace transform, stability, etc. It is written with ample exibility to make it appropriate either as a course stressing applications, or a course stressing rigor and analytical thinking. This book also offers sufficient material for a one-semester graduate course, covering topics such as phase plane analysis, oscillation, Sturm-Liouville equations, Euler-Lagrange equations in Calculus of Variations, first and second order linear PDE in 2D. There are substantial lists of exercises at the ends of chapters. A solutions manual, containing complete and detailed solutions to all the exercises in the book, is available to instructors who adopt the book for teaching their classes.