This book provides a self-contained introduction to ordinary differential equations and dynamical systems suitable for beginning graduate students. The first part begins with some simple examples of explicitly solvable equations and a first glance at qualitative methods. Then the fundamental results concerning the initial value problem are proved: existence, uniqueness, extensibility, dependence on initial conditions. Furthermore, linear equations are considered, including the Floquet theorem, and some perturbation results. As somewhat independent topics, the Frobenius method for linear equations in the complex domain is established and Sturm-Liouville boundary value problems, including oscillation theory, are investigated. The second part introduces the concept of a dynamical system. The Poincare-Bendixson theorem is proved, and several examples of planar systems from classical mechanics, ecology, and electrical engineering are investigated. Moreover, attractors, Hamiltonian systems, the KAM theorem, and periodic solutions are discussed. Finally, stability is studied, including the stable manifold and the Hartman-Grobman theorem for both continuous and discrete systems. The third part introduces chaos, beginning with the basics for iterated interval maps and ending with the Smale-Birkhoff theorem and the Melnikov method for homoclinic orbits. The text contains almost three hundred exercises. Additionally, the use of mathematical software systems is incorporated throughout, showing how they can help in the study of differential equations.