Introduction to Computational Science: Modeling and Simulation for the Sciences , Angela B.Shiflet and George W.Shiflet , Princeton U. Press, Princeton, NJ, 2006. $69.50 (554 pp.). ISBN 978-0-691-12565-7

Computational science is a relatively new field, but it has conquered the scientific world quickly and now offers a valuable tool set for today's researchers. Without its modeling and simulation applications, modern physics, chemistry, and biology would not exist. Introduction to Computational Science: Modeling and Simulation for the Sciences by Angela Shiflet and George Shiflet, a wife-and-husband team, aims to be a comprehensive, basic text for beginning students of computational science.

The book's strength is that almost from the first page it lets the reader do the science. Soon after the short theoretical introduction, readers have made their first computational model using their chosen model-building and simulation software.

Angela Shiflet is chair of the department of computer science, and George Shiflet is chair of the department of biology, both at Wofford College in South Carolina. They have been smart enough not to pick a specific software pacscodekage; instead, they offer an accompanying website where readers can access software-specific content for the models presented in the book. This approach allows the authors to keep their book up to date, which is a must in this rapidly evolving field.

The book supports common software pacscodekages such as STELLA, Vensim, and even Excel, which makes it easy for the beginner. The text treats two main computational methods: system dynamics, which is based on numerical integration of first-order differential equations, and cellular automata for modeling spatially distributed phenomena. The authors discuss other techniques like Monte Carlo simulation and data-driven analysis in less detail.

Introduction to Computational Science delves right into the basic concepts of the field—from computer representation of numbers to the basics of difference and differential equations to system dynamics and Euler integration. Sometimes I thought that the level may be a little too low for undergraduates enrolled in a computational science course, as most will already have some mathematical background. But luckily, the book does not stop at the basics: It eventually succeeds in bringing students to a reasonably advanced level. Let me reassure those who fear that computational science is not for them because they are not programmers: The book does not contain a single line of programming code, unlike other similar texts such as An Introduction to Computational Physics (Cambridge U. Press, 1997) by Tao Pang and Introduction to Computational Science and Mathematics (Jones and Bartlett, 1996) by Charles F. Van Loan. Using today's software, one can learn the basics without having to program.

I was impressed by the number of student projects the book offers. Newtonian mechanics, population dynamics, the spreading of diseases and fires—they are all present. Each project follows a fixed pattern: After a short introduction, students have the task of creating a model for simulating the systems that are presented. So, apart from learning about computer modeling, they can also extend their scope of knowledge about the subject under analysis. It is interesting to see how, with relatively simple building blocks, one can really get into many domains using computational science. Students may think they can easily come to grips with unknown territory using the newly acquired software tools offered in the book, but such an assumption may be misleading in some cases where a greater knowledge of programming is required.

The book's weak part is in the chapter on high-performance computing.

The problem comes from the authors' attempts to stay at a basic level, with the result that the text presents a rather shallow insight into such topics as data partitioning and sequential algorithms for the N-body problem. To appreciate high-performance computing, the reader would need more programming knowledge.

Computational science is increasingly finding its way into K–12 education. For instance, in some European countries it is becoming a regular part of the science curriculum in high schools. The Shiflets' book is suitable for many high-school science teachers, especially because its several examples can be easily adapted to a level that students can understand as they use software for system dynamics and cellular automata.

Introduction to Computational Science is useful for students and others who want to obtain some of the basic skills of the field. Its impressive collection of projects allows readers to quickly enjoy the power of modern computing as an essential tool in building scientific understanding.