Computer modeling is now an integral part of research in evolutionary biology. The advent of increased processing power in the personal computer, coupled with the availability of languages such as R, SPLUS, Mathematica, Maple, Mathcad, and MATLAB, has ensured that the development and analysis of computer models of evolution is now within the capabilities of most graduate students.
However, there are two hurdles that tend to discourage students from making full use of the power of computer modeling. The first is the general problem of formulating the question and the second is its implementation using an appropriate computer language.
Modeling Evolution outlines how evolutionary questions are formulated and how, in practice, they can be resolved by analytical and numerical methods (with the emphasis being on the latter). Following a general introduction to computer modeling, successive chapters describe "Fisherian" optimality models, invasibility analysis, genetic models, game theoretic models, and dynamic programming. A common chapter plan facilitates tuition and comprises an introduction (in which the general approach and methods are described) followed by a series of carefully structured scenarios that have been selected to highlight particular aspects of evolutionary modeling. Coding for each example is provided in either R or MATLAB since both of these programs are readily available and extensively used. This coding is available on the author's web site allowing easy implementation and study of the programs. Each chapter concludes with a list of exemplary papers which have been chosen on the basis of how well they explain and illustrate the techniques discussed in the chapter.