This introduction to computer-based problem solving using the MATLAB environment is highly recommended for students wishing to learn the concepts and develop the programming skills that are fundamental to computational science and engineering (CSE). Through a "teaching by examples" approach, the authors pose strategically chosen problems to help first-time programmers learn these necessary concepts and skills. Their approach puts problem solving and algorithmic thinking first and syntactical details second.

Each section formulates a problem and then introduces those new MATLAB language features that are necessary to solve it. The solution is followed by a "talking point" that concerns some related, larger issue associated with CSE.

Collectively, the worked examples, talking points, and 300+ homework problems build intuition for the process of discretization and an appreciation for dimension, inexactitude, visualization, randomness, and complexity. This sets the stage for further coursework in CSE areas.

The interplay between programming and mathematics throughout the text reinforces the student's ability to reason numerically and geometrically.

AudienceUndergraduate students whose mathematical maturity is at the level of Calculus I will find this book extremely useful, especially as preparation for further courses in computing and mathematics. It can also be used as a MATLAB reference at any level.

About the AuthorsCharles F. Van Loan has been at Cornell University since 1975, where he is a Professor of Computer Science and the Joseph C. Ford Professor of Engineering. He is a SIAM Fellow and the author of Matrix Computations (with G. H. Golub; Johns Hopkins, 1996), Introduction to Scientific Computing: A Matrix-Vector Approach Using MATLAB (Prentice Hall, 1999), Computational Frameworks for the Fast Fourier Transform (SIAM, 1992), Handbook for Matrix Computations (with T. F. Coleman; SIAM, 1988), and Introduction to Computational Science and Mathematics (Jones and Bartlett, 1996).

K.-Y. Daisy Fan is a Senior Lecturer in the Department of Computer Science at Cornell University. She has a Ph.D. in Civil and Environmental Engineering and for the past eight years has taught programming and scientific computing using MATLAB, Java™, and Lego™ Mindstorms™ robotics.