CSC 300
Spring 2007
Final exam instructions.
Attach a COVER SHEET with your name, the course name and the date on it.
Attach it firmly to your 2 essays.
DO NOT PUT YOUR NAME on the INDIVIDUAL ESSAYS, I like to grade them blind to the author's name.
The exam must be turned into my office (14-222) by the end of the normal exam time. It may be turned
in earlier, and it may be turned in to the CSC office for a time/date stamp and delivery to me by
the end of the normal exam time, but it must have the correct time/date stamp.
Exam text:
Turner, Spring 2007
300 Final exam: 2 essays. Upper limit three (3) pages, single spaced, for each essay. I expect an adequate
answer to exceed 2 pages. With such a limit, every sentence and paragraph must be crisp, well written
and meaningful. Spelling, sentence structure, paragraph transitions and grammar are important to the grade.
Any quotations or claims about the state of the world must have a proper citation. Be sure to answer each part of
the question!
1. Many bemoan the apparent ambiguity of the SE Code's central theme: the "Public Good." Computer
Science and Software Engineering professionals don't need to grapple with such ambiguous qualities.
Do they? Consider such "nonfunctional" requirements as "Usability," "Security," and "Maintainability." These
are common quality attributes customers demand and Software Engineers are required to provide (such as
in your CSC 308/309 projects). Compare and contrast the basic properties of the SE Code regarding "public good"
and one of the nonfunctional software requirements listed as examples above. Do we already "know" how to meet
such SE Code provisions (because we already know how to build software to meet our nonfunctional requirements?)
Explain.
2. Glenford Myers, in his seminal book, "The Art of Software Testing" (nearly 30 years ago!) notes that software
testing can only show the presence of bugs, not their absence. With this in mind, evaluate the ethical efficacy of
Dr. Cem Kaner's thesis in his article "Lawsuits, Lawyers and Quality-Related Costs" (at www.badsoftware.com/plaintif.htm).
His thesis is summarized in the first paragraph of the article, but do review his entire paper for a complete view of his
arguments.
Notes:
Note each part of the question that you must answer (check that you've answered each part somewhere in your essay!)
Proofread your work. Sentence structure, spelling, grammar and clarity of your writing are very important to a passing grade.
Mere opinion and conclusions receive no credit. Recall that basic analysis starts with a statement of a set of relevant facts
that raise an important issue or subissue. A statement of a relevant principle that applies to the set of facts in context is then given. The principle is then applied to that set of facts to arrive at an interim or final conclusion.
Note for essay 1: I suggest you consult your text and notes from CSC 308/309 or 402/405/406 regarding the issues and
solutions with respect to "nonfunctional" requirements. Look at the interesting features of such requirements (and how they
are satisfied) and list differences and similarities to features of the SE Code provisions in general (especially respecting the
"public good"). See if you can find interesting parallels (or lack of them!!!)
Note for essay 2: Start your essay with a brief recitation of important facts that raise the issue. State the issue very briefly and give a quick explanation about why it is worth investigation. Cover differing arguments about how this issue should be resolved (most powerfully, cite to sources for various arguments or different points of view). Most of your grade depends on the quality of your analysis and logical resolution of the issue. Be sure to include explicit ethical and technical analysis where it is relevant.