Introduction to Computational Science
Angela B. Shiflet and George W. Shiflet 
Cover
 
Home
Files to Download
Syllabus
References
Request Examination Copy
Buy the Book

 

 

Preface

Overview

Many significant applied and basic research questions in science today are interdisciplinary in nature, involving physical and/or biological sciences, mathematics, and computer science in an area called computational science. Frequently, a research project has a team of professionals from a variety of fields. The ability to understand various perspectives and perform interdisciplinary work can aid communication and speed the progress of a project. Moreover, the use of computers has become an essential ingredient to many of such projects.

Much scientific investigation now involves computing as well as theory and experiment. Computing can often stimulate the insight and understanding that theory and experiment alone cannot achieve. With computers, scientists can study problems that previously would have been too difficult, time consuming, or hazardous; and, virtually instantaneously, they can share their data and results with scientists around the world.

The increasing speed and memory of computers, the emergence of distributed processing, the explosion of information available through the World Wide Web, the maturing of the area of scientific visualization, and the availability of reasonably priced computational tools all contribute to the increasing importance of computation to scientists and of computational science in education.

Introduction to Computational Science: Modeling and Simulation for the Sciences prepares the student to understand and utilize fundamental concepts of computational science, the modeling process, computer simulations, and scientific applications. The text considers two major approaches to computational science problems: system dynamics models and cellular automaton simulations. System dynamics models provide global views of major systems that change with time. For example, one such model considers changes over time in the numbers of predators and prey, such as hawks and squirrels. To model such dynamic systems, students using the text can employ any one of several tools, such as STELLAÆ, VensimÆ Personal Learning Edition (PLE) (free for personal and educational use), and Berkeley MadonnaÆ. With the tool, the student can create pictorial representations of models, develop relationships, run simulations, and generate graphs of the results.

In contrast to system dynamics, cellular automaton simulations provide local views of individuals affecting individuals. The world under consideration consists of a rectangular grid of cells, and each cell has a state that can change with time according to rules. For example, the state of one cell could represent a squirrel and the state of an adjacent cell could correspond to a hawk. One rule could be that, when adjacent, a hawk gets a squirrel with a probability of 25%. Thus, on the average at the next time step, a 25% chance exists that the particular squirrel will be no more. The text employs a generic approach for cellular automaton simulations and scientific visualizations of the results, so that students can employ any one of a variety of computational tools, such as MapleÆ, MathematicaÆ, MATLABÆ, and ExcelÆ.

Tutorials, package-specific Quick Review Questions and answers, and files to accompany the text material are available from the text's website in various system dynamics tools—such as STELLA, Vensim Personal Learning Edition (PLE), and Berkeley Madonnaand in several computational tools—such as Maple, Mathematica, MATLAB, and Excel. Typically, an instructor picks one system dynamics tool and one computational tool for class use during the term.

Prerequisites

Prerequisites for Introduction to Computational Science are minimal. While including projects for students who have had programming, the text does not require computer programming experience. The concept of rate of change, or derivative, from a first course in calculus is used throughout the text. For the student who has not had Calculus I or who would like a review of the material, the text provides two modules on fundamental calculus concepts. One of these modules, "Rate of Change," is important for understanding the remainder of the text, while the other module, "Fundamental Concepts of Integral Calculus," is optional. The required calculus background is minimal, and students do not need to know derivative formulas to understand the material or develop the models.

Learning Features

One of the positive aspects and challenges of computational science is its interdisciplinary nature. This challenge is particularly acute with students who have not had extensive experience in computer science, mathematics, and all areas of the sciences. Thus, the text provides the background that is necessary for the student to understand the material and confidently succeed in the course. Each module involving a scientific application covers the prerequisite science without overwhelming the reader with excessive detail. The numerous application areas for examples, exercises, and projects include astronomy, biology, chemistry, economics, engineering, finance, geology, medicine, physics, and psychology.

Introduction to Computational Science has chapters consisting of several modules. The text's website contains two tutorials on system dynamics tools—such as STELLA, Vensim, and Berkeley Madonnaand six tutorials on computational tools—such as Maple, Mathematica, MATLAB, and Excel. The text presents the tutorials in a just-in-time fashion, covering the features needed in the immediately subsequent material.

Module 1.2 introduces the modeling process, and the text consistently uses the process to guide the reader through numerous scientific examples. For instance, after covering the prerequisite scientific background, Module 6.5 develops a model of malaria by following the modeling process in a step-by-step fashion. Thus, the text helps students to learn how modelers model.

The text presents material in a clear manner with ample use of examples and figures. Most sections of a module end with Quick Review Questions that provide fast checks of the student's comprehension of the material. Answers, often with explanations, at the end of the module give immediate feedback and reinforcement to the student. In the case of system dynamics or computational tool-dependent questions, the questions and answers are on the text's website in pdf files for several tools, such as STELLA, Vensim, and Berkeley Madonna in the former case and Maple, Mathematica, MATLAB, and Excel in the latter case.

To further aid in understanding the material, most modules include a number of exercises that correlate directly to the material and that the student usually is to complete with pencil and paper. Answers to selected problems, whose exercise numbers are in color, appear in an appendix.

A subsequent "Projects" section provides numerous project assignments for students to develop individually or in teams. While a module, such as "Modeling Malaria," might develop one model for an application area, the projects section suggests many other refinements, approaches, and applications. The ability to work well with an interdisciplinary team is important for a computational scientist. Chapters 7 and 13 provide modules of additional, substantial projects from a variety of scientific areas that are particularly appropriate for teams of students. These modules indicate prerequisite text material, and earlier modules forward reference appropriate projects from Chapters 7 and 13.

Another section on "References," which occurs at the end of most modules, provides a list of hyperlinks, books, and articles for further study.

Appendixes include a glossary of scientific, modeling, and simulation terms for quick reference. The text's website provides links to downloadable tutorials, models, pdf files, and datasets for various tool-dependent quick review questions and answers, examples, and projects.

The Material

Because the area is emerging, a variety of departments offer introductory computational science courses; and professors approach the material in diverse ways. Thus, Introduction to Computational Science provides several pathways through the material, and the text's website suggests various alternatives. Moreover, the text provides an abundance of discipline-specific applications so that the text is suitable either for an introductory course generally in computational science or, with appropriate selection of applications, specifically in computational biology.

The text begins with an introduction to computational science and the modeling process. With computational estimates, the modeler should always be aware of sources of computational error. Thus, after a beginning tutorial on a tool we can use for computation and cellular automaton simulations, such as Maple, Mathematica, MATLAB, or Excel (tutorial versions on the text's website), Chapter 2 on "Fundamental Considerations" contains a module on "Errors." Another module in the chapter, which is on "Rate of Change," covers all the calculus required to study the material in the text.

Chapter 3 commences the discussion of system dynamics and models where the rate of change of the quantity is proportional to the quantity. Two tutorials available in a choice of several tools (such as STELLA, Vensim, and Berkeley Madonna) lead the student step by step through the process of implementing a model with the software. "Unconstrained Growth and Decay" discusses models that exhibit exponential growth or decay and introduces concepts of time-driven simulations. The module also develops the analytical solution to unconstrained growth and decay problems for students who have had integral calculus and for those who have not. The module "Constrained Growth" considers situations in which the quantity under change, such as a population, has a maximum value, or carrying capacity. In this context, we introduce the concepts of equilibrium and stability. The module on "Drug Dosage," which includes geometric series, provides other examples where rate is proportional to amount.

For those interested in physics models, Chapter 4 on "Force and Motion" provides modules on falling and skydiving, bungee jumping (springs), pendulum clocks, and rocket motion.

After a second computational tool tutorial (such as Maple, Mathematica, MATLAB, or Excel) from the text's website, Chapter 5 covers the simulation techniques of Euler's, Runge-Kutta 2 (Euler's Predictor-Corrector), and Runge-Kutta 4 methods. One or more of these techniques can be covered at any time after Chapter 3's module on "Unconstrained Growth and Decay." For example, the instructor may choose to discuss Euler's Method immediately after that module and delay consideration of the other two techniques until later in the term.

Numerous system models involve interactions, such as with population dynamics or chemical reactions. Chapter 6 considers such models with discussions of "Competition," "Spread of SARS," "Enzyme Kinetics," "Predator-Prey Models," and "Modeling Malaria."

Chapter 7 provides opportunities for students to learn systems dynamics modeling by completing additional extensive projects. Unlike earlier chapters, the modules of this chapter do not include examples. Instead, each module contains sufficient background in a scientific application area for students to develop their own dynamic systems models, which projects suggest. Each module lists the prerequisite material, so that students can do Chapter 7's projects at any time after covering the earlier material. These projects and some of the more extensive projects in previous chapters, provide excellent opportunities for teamwork. The chapter includes the following topics: radioactive chains, blood cell populations, scuba diving, carbon cycle, global warming, cardiovascular system, electrical circuits, carbohydrate metabolism, mercury pollution, and economics of commercial fishing.

Chapter 8 shifts away from systems modeling. After a third tutorial on a computational tool, a tutorial covers functions that often appear in modeling. With this background, empirical models, which are based only on data and are used to predict and not to explain a system, are considered.

Monte Carlo simulations of Chapter 9 form the basis for most of the remainder of the text. The chapter considers area estimation using this technique and, after an appropriate tutorial, implementation. An instructor interested in doing so can also cover how to generate random numbers in other probability distributions for computer simulations and details of the multiplicative linear congruential method to generate uniformly distributed random numbers.

The next chapter covers the random walk method that occurs in numerous computer simulations. Chapter 11, "Diffusion," considers many applications of cellular automata. A computational tool tutorial leads into a module involving applications, such as spreading fire, as well as fundamental concepts, such as periodic boundary conditions. A module on "Movement of Ants" provides another in-depth cellular automaton simulation.

Some modeling and simulation projects require massive computational power beyond the capabilities of present-day sequential workstations. Thus, Chapter 12 provides an introduction to "High Performance Computing" (HPC). The chapter covers the basic concepts and hardware configurations of HPC as well as some parallel-processing algorithms. With this background, the student can gain an appreciation of some of HPC's potential and challenges.

As with Chapter 7, Chapter 13 provides opportunities for students, perhaps in teams, to enhance their computational science problem-solving abilities through completion of additional extensive projects that they can do at any time after covering prerequisite material. The modules do not have examples but do have sufficient scientific background for the projects. The applications of computational science empirical models, random walk and cellular automaton simulations, and high performance computing in Chapter 13 are as follows: polymers, solidification, foraging, pit vipers and heat diffusion, mushroom fairy rings, spread of disease, HIV in the body, predator-prey relationships, clouds, and fish schooling.

Supplementary Materials

Instructors and students can link to the text's website through Princeton University Press' website (http://pup.princeton.edu/) or Wofford College's Computational Science website (http://www.wofford.edu/ecs/). The following resources are available on the text's site:

Two system dynamics tool tutorials in several tools, such as STELLA, Vensim PLE, and Berkeley Madonna

Six computational toolbox tutorials in several tools, such as Maple, Mathematica, MATLAB, and Excel

For a variety of tools, pdf files that contain system-dependent Quick Review Questions and answers

In a variety of tools, files that contain models, as indicated in the "Download" sections of modules.

Datasets

References with links to other websites

The text's website also has an online Instructor's Manual, which contains the following material:

Solutions to all text exercises

Solutions to the two system dynamics tool tutorials using several tools, such as STELLA, Vensim PLE, and Berkeley Madonna

Solutions to the six computational toolbox tutorials and a function tutorial using several tools, such as Maple, Mathematica, MATLAB, and Excel

Test problems with answers

Model solutions for selected projects in various tools

PowerPoint files of key figures and algorithms

Suggested pathways through the material

Instructors who adopt the text may obtain a password from Princeton University Press to access the online Instructor's Manual.

Acknowledgments

This book has been a labor of love, which has encouraged us both to grow as teachers and writers. The development of the text has been fun, though complicated; and we have many to thank for their support, collaboration, and patience. First, we must acknowledge our colleagues and students from whom we learn every day. In particular, we want single out one colleague and two very capable students. Professor David Sykes was extremely helpful in his extensive review of the manuscript, providing many useful suggestions. David Harmon was an invaluable aid in preparing the glossary and verifying answers to the exercises and tutorials, and Jonathan DeBusk worked very hard to ensure that the references conformed to the proper style for publication.

We are very appreciative of the sabbaticals that Wofford College gave us and of the consistent support and encouragement by Dan Maultsby, Senior Vice-President and Academic Dean. The financial support provided by the National Science Foundation for computational science at Wofford ("Enhancing Computation in the Sciences," NSF CCLI Proof-of-Concept Grant No. 0087979) was essential in the development of the program and supporting materials.

We are indebted to the following reviewers, who offered many valuable constructive criticisms:

Rob Cole, Evergreen State University

Richard Hull, Lenoir-Rhyne College

James Noyes, Wittenberg College

Bob Panoff, The Shodor Foundation

Sylvia Pulliam, Western Kentucky University

Joseph Sloan, Wofford College

Chuck Swanson, University of Minnesota

David Sykes, Wofford College

Peter Turner, Clarkson University

Ignatios Vakalis, Capital University

Vickie Kearn, Senior Editor at Princeton, had a clear understanding of the project and provided excellent guidance. We thank you, Vickie, for your vision, trust, and encouragement. Meera Vaidyanathan and Ellen Foos very ably orchestrated production. Dimitri Karetnikov worked his magic on our figures to transform them into art. Thanks also go to Jennifer Slater of Running Dogs Editorial Services for her accurate and insightful copyediting and to Lorraine Doneker for the attractive design.

Dr. Robert M. Panoff of the Shodor Education Foundation has been more than a source of ideas and information for this project. His passion and generosity are remarkable and have been our inspiration. Bob and his very able colleagues at Shodor have and continue to do amazing things for computational science education.

Ultimately we thank our parents, Isabell and Carroll Buzzett and Douglas and George Shiflet, Sr., who throughout their lives have given us boundless love and support. Words are inadequate to express our appreciation. Only Isabell remains, and she continues to delight us each day with her wisdom and wit. Obviously, we are where we are today because they were there for us.