This course mixes theory with applications, and uses softwares to aid the understanding on theoretical results, and to help to solve application problems. The course aims to nurture the ability of the student to use ODE to solve problems arising in applications and other branches of mathematics. The theoretical part of the course covers: first order linear equations, separation of variables, direction fields, Euler’s method, existence and uniqueness theorem, phase line analysis, second order linear equations, variation of constants, asymptotic behavior of solutions, first order linear systems, first order nonlinear autonomous systems, linear stability and types of equilibria, local and global phase plane analysis, nullclines, invariant regions, Lyapunov function, Poincare-Bendixson Theorem, limit cycles, Hopf bifurcation theorem.