This document discusses numerical methods for solving ordinary differential equations (ODEs), including Euler methods, Runge-Kutta methods, and their application to problems in math and physics. It provides examples of using Euler's method and Runge-Kutta methods to solve ODEs describing a block-spring system. Code implementations of the Euler and Runge-Kutta methods are presented along with comparisons of numerical solutions to exact solutions.