This book is an introduction to scientific computing, the mathematical modeling in science and engineering and the study of how to exploit computers in the solution of technical and scientific problems. It is based on mathematics, numerical and symbolic/algebraic computations, parallel/distributed processing and visualization. It is also a popular and growing area — many new curricula in computational science and engineering have been, and continue to be, developed, leading to new academic degrees and even entire new disciplines.