Scientific Computing and Differential Equations: An Introduction to Numerical Methods