An Introduction to Scientific Computing