CPS 111
Computational Modeling for the Sciences
Spring 2008

CPS 111 Home

 Course Concept

This course explores basic methods of computational modeling and illustrates them with case studies from biology, economics, earth sciences, and other disciplines depending on student interest.
Starting from a more or less vague understanding of a problem, computational modeling proceeds through several steps that, although technically different for different problems, are broadly the same in their purpose and general form. The following questions will be addressed as a matter of principle and theory, as well as for specific modeling case studies:

  • Stating the questions (what are we talking about?):
    • Given a scientific or technical problem, what are useful, quantitative questions to ask about it?
    • What are the main quantities involved in the questions? Are these quantities numbers or functions? Of how many variables?
    • What quantities are inputs, auxiliary parameters, or output?
    • How well are the inputs known? Can we quantify our uncertainty about them?
  • Developing the model (how can we ask the question, precisely?):
    • What equations govern the relationships among the quantities of interest?
    • How can the dimensions (units of measure) of the various quantities help in writing the equations?
    • What type of equations do we have?
    • How does the number of equations compare with the number of unknown quantities?
    • Can we increase model complexity gradually as our understanding of it increases?
  • Understanding the model (creating expectations, so we can make sense of the answers):
    • Can we guess rough answers with paper and pencil?
    • Do we expect model behavior to depend qualitatively on parameter values? In what way?
    • Can we find answers analytically, at least in simple cases?
    • Is the model convex? Linear?
    • Are small errors in the inputs likely to produce small errors in the outputs?
    • Are small modeling inaccuracies likely to produce small errors in the outputs?
  • Computing with the model (numbers, finally!):
    • What algorithms should we use?
    • Can we pick a software package?
    • How much of the math do we need to understand?
    • What errors can the computation introduce? How do we control these?
    • Can we improve efficiency?
  • Understanding the results (can we trust the answers?):
    • What numerical experiments do we run?
    • Do the numbers make sense in simple cases?
    • Are the answers stable?
    • Can we quantify the effects of input and modeling uncertainties on the results?
    • Can we test predictions of our model?
  • Presenting the results (now let's tell everyone else):
    • What story do we want to tell? What case do we want to make?
    • What is the most effective way to visualize and present the results?
    • How do we make results credible?
    • How do we write a good report or paper on our experiments?
    • How do we use our insights to pose new questions?

We will explore these questions also in the context of specific case studies. Sample problems are tumor cell growth, the dynamics of HIV transmission, the behavior of stocks or prices in a given market, or a model of how a leopard gets its spots. Problems may also be selected based on student interest. Relevant mathematical techniques are recurrence equations, numerical optimization, linear programming, stochastic estimation, and differential equations, both ordinary and partial. However, little will be assumed or even studied of these techniques, as each of them would cover at least one entire course. Instead, we will ask how little we can get away with knowing about these techniques in order to answer the questions we are interested in.