next up previous
Next: Example Interactive Participation Form Up: Lesson Plan for Describing/Understanding Previous: Overall class context


The ODE touchstone problem

Presentation Note: It would work best to do this problem in Matlab using a computer projector.

Example 1: Software Engineering
I need to do more research to motivate this problem. The equations I am using were taken from a paper written in 1976 [2]. Some later work listed in CiteSeer [1] cites this previous work. I might want to use a newer model.

Here is an equation which models the size of a software program or package over time [2].


$\displaystyle m(t)$ $\textstyle \equiv$ $\displaystyle \mbox{ number of modules/classes in the software at time t }$ (1)
$\displaystyle h$ $\textstyle \equiv$ $\displaystyle \mbox{ person hours }$ (2)
$\displaystyle R$ $\textstyle \equiv$ $\displaystyle \mbox{ hours to fix each error }$ (3)
$\displaystyle F$ $\textstyle \equiv$ $\displaystyle \mbox{ errors generated per hour }$ (4)
$\displaystyle E$ $\textstyle \equiv$ $\displaystyle \mbox{ hours to create each module/class }$ (5)
      (6)
$\displaystyle h$ $\textstyle =$ $\displaystyle RFh + E \frac{dm}{dt}$ (7)
$\displaystyle m(t)$ $\textstyle =$ $\displaystyle m(0) + \frac{1-RF}{E} ht$ (8)

Describe the problem and the model.

Query the students current knowledge about software evolution with Question 1 on the interactive participation form (section 7.3).

Build intuition about the model by using some example values for the variables. Talk about what each value means instead of just plugging in new values. Then ask the students Question 2 which makes then think about the model.

Have the students evaluate the model with Question 3. It is a very old model and even the authors suggest it as only a first attempt at modeling software evolution. It contains many oversimplifications.

Talk about the fact that with this simple example we can easily derive an analytical solution to the differential equation. Change the model in a way that makes finding an analytical solution hard or impossible. (Still need to figure this out).

Now explain that numerical methods can be used to approximate the solution for the function $m$ at some time $t$. At this point, will cover the Euler method and how it is based on the Taylor series.

Talk about the accuracy of the Euler method and how to describe the accuracy mathematically. Then have the students answer question 4 to test their understanding of accuracy.


next up previous
Next: Example Interactive Participation Form Up: Lesson Plan for Describing/Understanding Previous: Overall class context
Michelle Mills Strout 2002-06-28