This introduction to analysis for computer science students is based on the premise that mathematics and mathematical modeling are central to computer science. Analysis, in the authors’ view, is important for computer science, but it should be treated in an environment where discrete structures are prominent. Their vision in this book is to create a concise presentation of an algorithmic approach to analysis that integrates mathematical software and emphasizes modeling and applications.

Of the book’s twenty-one chapters, eleven are devoted to single variable calculus and related elementary topics, four develop calculus in two variables, and the rest are applications (fractals and L-systems, linear regression, numerical analysis, and differential equations). The early chapters are an odd mix of review and new topics. So, for example, the text treats topics in basic trigonometry and elementary material on the derivative, but also provides a fairly sophisticated discussion of the real numbers.

A “concise” treatment for the authors means focusing on what they regard as essentials, and providing proofs only when they contribute insight and understanding. For example, they prove the uncountability of the real numbers, the fundamental theorem of calculus, and Taylor’s theorem with the integral form of the remainder term, but not the mean value theorem, and continuous functions get very light treatment.

An “algorithmic” treatment means special attention to topics like Newton’s method, numerical differentiation, Taylor series, numerical integration, and numerical solution of differential equations. The authors put a premium on geometric insight as well. One of the early experiments uses MATLAB to study the continuity at the origin of sin(1/x) and x sin(1/x) and asks the student to use the zoom tool to improve the visualization in the neighborhood of x = 0. Other prominent numerical experiments involve root finding and numerical differentiation.

The applied topics chapters are mostly standard material on numerical analysis and differential equations. A chapter on regression includes simple and multiple regression, the basics of analysis of variance and model fitting.

This is a well-assembled text on the basics of analysis. But who would use this book? Most computer science programs I know require basic calculus and sometimes numerical analysis or computational linear algebra. I’m not aware of any programs with a course like this in their curriculum. Not that it’s a bad idea – there’s just too much competition from other alternatives.

A website for the book includes Java applets that are referred to in the text as well as some source files for MATLAB and Maple and equivalent Python code for each MATLAB program. The code was designed primarily for use in the experiments and exercises presented in the book.

Bill Satzer (bsatzer@gmail.com) was a senior intellectual property scientist at 3M Company. His training is in dynamical systems and particularly celestial mechanics; his current interests are broadly in applied mathematics and the teaching of mathematics.