Scientific Computing with Ordinary Differential Equations