Reviewed by
Ugo Merlone
Department of Statistics and Applied Mathematics, University of Torino
In addition to the applications, some theoretical background modules are provided; in particular, the following topics are discussed: errors and error propagation, rates of change, integral calculus and numerical integration techniques, regression, random number generation and first elements on parallel algorithms.
By converse, applications can be divided into physics simulations, such as pendulum, rocket motion, bungee jumping and skydiving, and biological simulations, such as enzyme kinetics, disease spreading model and predator-prey model. From a social scientists' perspective applications are quite limited: ants movement, fish schooling and few more. But, on the other hand, we must keep in mind that the book is not intended for social scientists.
Several computational tools are presented. For the system dynamics models the authors consider Stella, Vensim (PLE) and Berkeley Madonna, while Maple, Mathematica, Matlab and Excel are presented for cellular automata models.
Supplementary materials are provided both for students and instructors who have access to system dynamics and computational tutorials for the different computational tools suggested in the course. I suggest potential readers to browse the different tutorials, available at http://www.wofford-ecs.org/IntroComputationalScience/index.htm, in order to become acquainted with the authors' approach. They also may download quick review questions and models. On the other hand instructors may have access to Powerpoint files for theoretical modules and selected topics, solution to all text exercises, test problems with answers and model solution for some of the projects. The wealth of material available both on the book and on the website allows the reader to appreciate the effort the authors made in writing this appealing textbook.
One concern about the authors' approach is that while calculus is not a prerequisite, the text makes free use of differential equations in succeeding modules. Even if these modules do not require any knowledge of how to differentiate or to solve differential equations, I think it would be wiser for readers to have had previous knowledge of calculus.
Another concern is the absence of multi-agent models. I would have added at least one module of this approach and, perhaps, would have placed less emphasis on high performance computing and parallel algorithms.
This book may be useful for those who are teaching introductory computational science specifically for natural sciences. While the approach and the wealth of modules the authors present is commendable, the applications they present make it less interesting for computational science courses aimed at social sciences. However the book remains interesting for social scientists who are interested in expanding the knowledge of computational tools.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2007