The availability of inexpensive high-speed computing power makes the numerical solution of even complex engineering problems economically feasible. In the face of ever-increasing demands on the engineering profession to perform better, students preparing to face the challenges of the twenty-first century should learn not only the theory behind the numerical methods, but also acquire the skills needed to implement the methods for computer solution. In addition, students should be aware of the many commercial software systems available and their appropriate uses in the solution of engineering problems. The student should be in a position to intelligently select and use suitable numerical methods and software systems as the need arises in practice. He or she should solve a given problem using different approaches with a variety of software systems and experiment with the various parameters of the problem. This book is intended for courses on numerical methods at the junior/senior level as well as at the beginning graduate level. The book also serves as a reference for numerical methods in engineering.