Fundamentals of Computational Geoscience: Numerical