Scientific Computing: An Introductory Survey