Information Technology Reference
In-Depth Information
new versions may contain unneeded features while introducing the
potential for new errors. You may need to weigh likely benefits and
risks of new software before purchasing or installing it.
Terminology from This Chapter
bug
coding
debugging
design
extreme
programming
maintenance
programming
programmer
prototype
specifications
testing
Discussion Questions
1. Although much of this chapter deals specifically with the de
velopment of software, many of the points made here apply
to problem solving more broadly. Identify several problem
solving themes developed here for computing that apply in
science and technology more generally.
2. Working in pairs, have one person describe in complete detail
an algorithm to make a peanut butter and jelly sandwich,
while the other person carries out the algorithm. Materials on
hand at the start should include a (clean) knife and spoon, an
(unopened) loaf of bread, and (unopened) jars of peanut but
ter and jelly.
In performing the algorithm, the second person should not try
to be difficult, but should seek not to make assumptions ei
ther. For example, the second person should not expand the
statement, “insert the knife into the peanut butter jar to get a
tablespoon full of peanut butter” by opening the jar.
Similarly, in response to the statement, “spread the jelly on a
slice of bread,” the second person should not assume that the
bread should be positioned horizontally or that jelly should
be on the top surface of the bread.
This question may provide insight on the difficulties of giving
complete and accurate directions for solving problems. The
writing of computer programs consistently requires such
complete and accurate directions.
3. What assumptions do you make about the reliability of the
software that you use?
Search WWH ::




Custom Search