CSC 300, Turner
Winter 2005
Sample essay questions and format suggestions for Midterm.
Open book and notes.  Since not every student has a laptop computer
to use, no laptops will be allowed.  You must print or write legibly
so that I can easily understand what you write.


You will be given a number of True/False questions designed to demonstrate your 
comprehension of the assigned readings and class discussions.   
Here is a sample:

SAMPLE TRUE OR FALSE.  (Comment if necessary)

1.   A dialectic is the result of argument, counter argument and 
reformulation of the argument in an ongoing process aiming at some 
consistent form of truth.

2.   One form of the "categorical imperative" is "never treat another human
being merely as a means but always as an end."

3.   Software Engineering is not a profession in the United States.

4.   The ACM/IEEE Software Engineering Code of Ethics requires us to 
obey the law at all times.

5.   According to the RUP, port scanning on the Cal Poly network is 
an acceptable use.

Essays.  When applicable, I suggest a format similar to that explained 
in class and mandated for your papers.

a. Start with any simple facts you will rely on in writing your answer.  

b. Name the question (issue) you will address - grounded in those facts.  

c. After the issue (main question for your analysis), you ought to 
consider what rules or ethical principles will come into play, 
you might even write them down as applicable to the issue in a list.
These may suggest some of the arguments you'll need to cover.

d. Then you will consider varying arguments regarding possible positions or 
answers to your question.  Here you may include readings you've done (cite as 
best as you can) and you may even cite class discussions (do this sincerely,
to the best of your recollection).  You may create the arguments yourself, but
grounding them in other readings and discussions is worth a bit more credit.
You will be graded on your ability to explain different rational positions
on the issue and making the best arguments surrounding those positions.

e. At this point you will give your analysis of the question and your 
answer.  This should incorporate the rules, ethics, and arguments you've 
found, and you will include your arguments for the most rational position
on the question.

You will be graded wholistically, but the most credit comes from your
analysis: criticizing and synthesizing other arguments, making your own
position in a clear and consistent manner.

Note: I also suggest a very simple outline before you begin to write your 
answer.  Since the exam is of limited time, you should allocate that 
time carefully.

SAMPLE ESSAY:

1.  You graduate from Cal Poly (after receiving an "A" in your CSC 300
class!)  That high grade gets you an interview with UnderCover Systems
where they claim to value ethics highly.  They offer you a job (and you
have no other offers) at a salary that will enable you to pay for some 
critical surgery for your mother that she could not otherwise pay for.

UnderCover Systems hires you and only gives you the job title after you
have signed your Nondisclosure agreement.  They hire you as an
"information retrievel operative" where you will write programs designed
to connect to networked PC's and gather data which will be sent back to
a special database without the PC owner's knowledge or consent.  You 
quickly speak to your manager regarding the dubious ethics of the job
title and he responds, "it's OK, we only apply these techniques to 
potential terrorists.  The U.S. government funds us, so we're in the 
clear!"  "If we don't find these terrorists before they strike us,"
he continues, "we'll be responsible for the horrors they may cause!"
He tells you to get back to work and do your job or you may lose your
job due to the lack of progress you're making.

ANOTHER SAMPLE ESSAY:  (This essay asks for specific work and the format 
of the answer should follow that in some rational way.)

2.  Suppose you write a paper extending Weyuker's analysis in her paper, 
"On Testing NonTestable Programs."  You show that testing of software still 
isn't anywhere near an exact science and that we have no objective measure 
for the "strength" or "thoroughness" of testing.  You admit that we can 
get a bug list that clearly helps avoid certain problems, but that is the 
only certain result of testing.

The IEEE asks you to write some guidelines regarding the Software 
Engineering Code of Ethics section 3.11.  You'll write 
guidelines involving adequacy of test documentation
and you'll give very brief justification for each guideline.


*******************

A FEW BASIC THINGS TO KNOW (good knowledge for the midterm, for your paper, 
and eventually for the final)  This is not exhaustive by any means, but
should form the basis for your first line of study.

What is the fundamental problem of software testing?
What is deontological reasoning?  What is utilitarian reasoning?
What is the "vacuum of policies" regarding computing in the current
social context?
What is a "normative" concern?
What is a "descriptive" concern?
Understand the characteristics of a Profession and the possible
Professional relationships.
Think about Software Engineering as a Profession (or not as a 
Profession!)