Practical Programming and Numerical Methods