Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing