|
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. |