Software Design (CSC-223 97F)
Outline of Class 21: Programming Practices
- Before class on Friday, please take the Keirsey Temperament Sorter test
If you care about mine, I
tend to vary, but generally come out as an INTP.
- Before class on Friday, please fill out my online web usage survey at
- I am very displeased that many of you are failing to do the readings
in a timely fashion. Continued failure to do the readings will lead
to an in-class examination.
- You can have until Thursday after break to complete
This does not precluede me assigning something else due the same
- Lea and Ryan will be presenting some interesting case study on Friday.
- We'll be visiting topics slightly out of order today (that is, we won't
begin by continuing with last class's topics).
- Often, in developing programs, it is important to be able to
estimate (within reasonable bounds) some facet of your
program, such as its input size, running time, our output size.
- This is a general technique from the engineering community. Such
"back of the envelope" calculations can give a great deal of
insight about a problem.
- How do you use such calculations? In determining whether a solution
(or even any solution) to a problem is feasible. In determining
whether your solutions works as expected. ...
- How do you do such calculations? By looking at appropriate factors,
estimating your factors using past experience, and combining the
- Sometimes you can find different ways to look at the same problem;
giving you different sets of factors. (Bentley's Mississippi
problem is a good illustration.)
- We'll look at a variety of questions.
- How much water flows out of the Mississippi each day
(in cubic miles)?
- How much is Grinnell's annual operating budget?
- How much gross revenue is lost by pirating of Microsoft
- How much of that is a direct loss to Microsoft?
- How much of that is a direct loss to Chairman Bill?
- What do you think the analysis of the mail system was?
- What's wrong with the menu and light pen analogy in the
book (taken from Card et al.)?