PHYS 2660: Fundamentals of Scientific Computing