A fundamental concept in computer science (CS) is abstraction, which often translates into building models of reality that can be explored and simulated on a computer. Furthermore, the tight interweaving of CS and data science (the study of methods to extract knowledge from data) makes the ability to design models a compelling requirement for any computer scientist. In this context, danger occurs when students are trained to apply some methods for developing models (such as those coming from machine learning or statistics) but overlook what mathematics has to offer for modeling.

A sound basis in classical mathematical modeling is a requisite to prepare students for building models of reality, as well as to appreciate strengths and weaknesses of more advanced methods. This is the scope of what a book on mathematical modeling should be for CS, and the work of Banerjee is a contribution in this direction, although it is limited to differential and difference equations only. The declared distinguishing feature of this book over the plethora of books on the same topic is the coverage of several types of differential equations, namely ordinary, partial, delay, and stochastic. In fact, the book is divided into chapters according to the different types of differential equations, plus an introductory chapter on difference equations.

Given the broad coverage of the book, one should expect a tome with a thousand pages or more. Instead, all is condensed in about 250 pages, which should sound attractive to those looking for the juice of the subject instead of losing themselves in all the details a serious treatise must include. However, the book has (some) lights and (many) shadows, which should be taken into account before deciding to adopt it.

Let’s start with the lights. First, the book is rich with examples. There are examples from ecology, physics, chemistry, economy, medicine, sociology, epidemiology, and more, including specific examples that could be of interest in computer simulation (like the dynamics of boat rowing, traffic flow, crime distributions, and few others). Second, there are many solved problems and exercises, some of them with a sketched solution at the end of the book. Most exercises are not mere mathematical equations to be solved; rather, they are simplified problems that require the development of a mathematical model.

Both features makes the book a good selection for drawing out examples, problems, and exercises to show what differential equations have to offer to the aspiring modeler, but the book can by no means be used as a textbook in mathematical modeling. The text in the book is close to a transposition of a lecture and lacks homogeneity and structure. The content is also very shallow and often imprecise, and makes the comprehension of the presented models almost impossible. The book is not a how-to guide (as claimed on the back-cover) because it does not give the steps to develop a model given a problem; rather, it gives examples of solved problems, leaving to the reader the effort of inducing some general guidelines. The back cover claims that the book incorporates MATLAB and Mathematica (I imagine code samples), but this is completely false: only on a couple of occasions do the authors evoke the use of some library MATLAB functions. Finally, some papers written by the author are implanted in the book with few or no modifications, thus contributing to the general cacophony of the text.

In conclusion, the book could only be recommended as a support to a serious textbook in mathematical modeling with differential equations, specifically for picking up problems and exercises for students.