Authors: Wally Roth
Suggested Courses: Computer Science, Intro to Engr
You are a college engineering student who is experimenting with a new PDA (hand-held
computer: Personal Digital Assistant) you have just purchased from a reputable
manufacturer, ARC.1 The machine has been bundled with a variation of a popular
spreadsheet (SS) product custom-built to run in a small amount of ROM (firmware) provided
in the unit. (The SS product comes in several forms called X-lacks, X-LINT, Quad-rope-O,
or 3-2-1-boom.) In experimenting with this SS you find a simple calculation such as $3 + 1
cent is displayed as 3.00 on the LCD panel.
II. Engineering Questions for Discussion and Suggested Answers
1. Is this reasonable? How would you verify this claim? Is it likely this is the only
calculation which displays an incorrect result?
In the opinion of most people, this is not a reasonable output (especially if you are
handling your finances). It is uncertain whether is is the only calculation which displays
an incorrect result, and further testing should be done.
2. What possible explanation(s) could there be for this? Propose an experiment to
test/verify your suspicions as to the source/cause of this problem.
This is up to the creativity of the class. A brainstorming session should be held.
During this brainstorming session, students should be encouraged to supply as many
possibilities as possible (no matter how unlikely). One possibility may be that the
calculation is performed correctly, but the display subroutine is malfunctioning. This
could be tested by adding 3 + .01 +.01. If the result is 3.02 then the addition is correct
and the display is simply off.
Later you conclude the display is indeed incorrect, but the internal representation of
$3.01 is as exact as is possible using binary floating-point representations in any
format. Nevertheless, the displayed result on the LCD screen is indeed 3.00.
3. Does this resolve the problem? Does this eliminate (or amplify) any problems of
floating-point representation of dollar and cent results?
You soon discover all calculations of the form X + .01 for any integer X will produce a
representation on the display of X.00.
4. What does this tell you as a young (or old) engineer/numerical analyst?
Finally, you call the manufacturer of the machine (PDA)1, not being sure
whether this is a hardware bug, a software bug, or an error in your interpretation.
5. What possible responses would you speculate they might give to your inquiry (and
possible demand for a replacement PDA)? Discuss as a class putting suggestions collected
on the board or list on your own. Goal:. Come up with at least five (5) of them.
III. Questions on Ethics and Professionalism
Following are several possible vendor responses, at least one of which has occurred in
a documented recent case.
- "We don't believe you have never heard about this problem."
- "We didn't know about this problem."
- "We know about it, but we don't plan to do anything about it as this model/release
will soon be discontinued."
- "We know about it, but it is really an operating system(or software vendor or
spreadsheet ) design problem."
- "We know about it and are working on resolving it."
- "We know about it, and it will be fixed/resolved in the next version/release of the
- "We will/will not replace the product at your request."
Discuss the ethics of each of these responses.
IV. Suggested Ethical Solution
Although this is a fictional case, problems like this do occur. The most likely
explanation is that the display is not reflecting accurately (in decimal) the internal
binary representation. Such errors can always occur when adding cents or dimes, because
neither can be represented exactly as a binary number to any number of bits. However,
displays should always be consistent to the nearest displayed digit, and a remark such as
F above is never adequate, from either a liability standpoint or from an ethical
None of these responses is really satisfactory. Even offering to replace the product
without correcting the problem is unsatisfactory. Students should be able to propose
several more satisfactory responses than any offered in A-G. Some examples: posting on the
internet, creating a special customer BB, sending announcements on postcards to customers.
Many creative solutions can be provided, and students should be encouraged to brainstorm
and come up with as many solutions to the problem as possible-everything from a product
recall to a public announcement of the problem. When customers are alerted to the problem,
they will either not use the product when that second decimal spot is critical, or at
least be aware of the problem
1. The company's name is ARC (A Reliable Computer), but a cynical
friend has called them Always Really Close computers. Their advertising slogan is
"ARC: Just the spark to get the job done." Because of the complaints from
buyers, they did consider renaming their company CARP, Computer Are Rarely Precise!