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.