0
Z
0
Ethics activities in Computer Science Courses:
Goals and Issues
Don Gotterbarn & Robert Refer
East TennesseeState Univerdty
tla
n our recent paper, "Ethics activities in Computer Science
Courses" (SIGCAS September 1996), we suggested some
techniques for introducing ethical activities into main stream
computer science classes. Ethical/professional issues should be
seen in the context of computing professionals practicing their
profession. It helps to dispel the perception that such issues are
less important or nearly separable from computer science. Coveting these issues in main stream computer science classes firmly
establishes links between ethical/social issues and technical content, methods, and practices of the profession. In this paper we
expand on the first paper in two ways. We discuss some of the
underlying goals and objectives in using this integrated approach
and we present some additional activities which help achieve
these goals and objectives.
Learning technical skills is only one part of becoming a fially
developed professional. To he a professional involves a eomrnitment to a higher level of care for those who will be effected
by our products. The application of values to technical judgements is one of the necessary characteristics that distinguish a
professional from a mere technician. This concept of a professional entails the inclusion of particular goals for our courses if
we are to train computing professionals.
We believe those goals should at least include the:
• establishment of a link between social/ethical issues and
the technical content of the computer science curriculum by
identifying and examining these issues within the context of
existing computer science courses
• provision of a means for analyzing ethical situations based
on generally accepted ethical guidelines, principles and standards,
and for responding in a professionally responsible manner; and
to provide opportunities to apply such analyses
• understanding of the responsibilities of computer professionals to their various constituents
• provision of an understanding of the ways computers impact society and the social environments in which they are used.
These goals are directed toward particular behavioral objectives for students, including student socialization into professional norms, student recognition of role responsibilities, and
student awareness of the nature of the profession.
The specific skills we want to nurture and test include the
ability to:
• correctly identify the potential for ethical problems in a
particular context
I
10
Computers and Society, March 1997
• identify the cause of these issues and identify alternative
courses of action
• select a technically or morally workable direction which
can prevent the problem from materializing or resolve the problem when it arises.
The ideal goal is to develop an awareness of potential problems and strategies for preventing the problem from materializing in the first place. This requires a proactive approach to ethics.
To achieve these goals we believe that ethics has to be approached in a way that emphasizes practice more than philosophical theory. Students need to understand and experience
ethics as an applied discipline. It is important to avoid endless
unstructured discussions which start with phrases like "who is
to say?," "Everybody has a different idea about what is good,"
etc. When dealing with professional issues and professional ethics, there is a general sense of ethics and ethical values taken for
granted in all professions.
We can take for granted a non-rigorous sense of ethics. We
can presume a knowledge of a paradigmatic morality using some
first principles to guide actions, e.g. harm no one needlessly or
obey the Golden Rule. A typical set of such principles might
start with:
a) Value of life (quality of life)
b) Principle of goodness- strive to be good, do right
i. promote goodness
ii. cause no harm
iii. prevent harm
c) Justice and fairness based on merit, equality, and need
d) Tell the truth & be honest.
Any claim that has been made in computer ethics can fit
into these presuppositions. In several other areas of commerce
these principles have been incorporated into law. The ACM, in
their code of ethics, adopted these principles to be applied to
the activities of computing professionals.
When we apply these principles to professional computing
some of the ethical issues that need to be discussed include:
Professional responsibilities
- Social responsibility
Quality as a moral issus
- Software ownership and intellectual property rights
- Privacy
- Confidentiality
- Responsibility and liability
-
-
- Professional competence
Power, autonomy, access, and equity
- Impact on society and the workplace
- Security and reliability
- Safety
Recently such issues have been discussed primarily in terms
of the Internet. But I think this is dangerous to limit the discussion of computer ethics to Internet issues. It is true that because the Internet is the latest and a highly prevalent technology, many of the ethical muddies are being replayed in that arena.
But one of the problems with several approaches to computer
ethics that I have seen recently is that the Internet is used exclusively as a source for ethical issues. These issues are important,
but attention exclusively to Internet issues does not prepare our
students for the type of issues they will face as practicing computer professionals building critical systems.
-
More Ethics Activities:
In the previous paper, we gave some sample activities that could
be used in CS1 courses and in project oriented courses.
The activities used in those classes can be easily modified
for other classes. For example the program using arrays to model
a university parking process carl be modified to model queues
and stacks in a data structure course.
Example modification for a data structures course
The parking lot example used in the previous paper can be easily modified to use in a data structures course. Like that example, the purpose of this example is to get the students to
consider ethical issues related to program design. Using the correct data structures can have ethical significance. This programruing assignment is distributed to students as a normal assignment. Distribute the ethics assignment on the day the program
is turned in. Distribute the ACM code of ethics along with the
description of the writing assignment. When the writing assignment is turned in, lead a discussion on the ethical issues they
found. As a way to get them to practice anticipating ethical issues, ask them how they could change the solution to avoid these
problems;
The program asks them to program an automated a parking
system being designed for an annual local festival. Cars enter
one of three queues which are dequeued into the parking area
only after all the queues are full. No one is admitted to the queues
while they are being emptied. The cars are dequeued into the
parking lot based on a priority scheme. The cars are parked into
one of three stacks. When the festival ends the stacks are popped
one at a time until each is empty.
There are several ethical issues with the design. The filling
of the queues prevents anyone from leaving the area in an emergency. Preventing admission to the lanes (queues) while they are
being dequeued causes dangerous traffic on the entrance highway. The priority dequeueing scheme causes traffic to cross several lanes increasing the likelihood of a crash. There is no handi-
capped access or parking. Using a stack structure in the parking
lot prevents any vehicle from leaving early. There can be a good
discussion about the programmer s responsibility to explain some
of these difficulties to the customer. If the customer insists on
this design, what are the programmer s responsibilities to society at large?
Problem statement:
The Jonesboro story telling festival has had a severe parking problem. There are three types of participants at the festival: story
tellers, volunteers who help run the festival and people who pay
to listen to the tellers. There is only one large parking lot which
has separate designated parking areas for volunteers, tellers and
listeners. We have been asked to model this process on a computer.
There are three entrance/exits into the parking lot. These
entrance/exits are all on the same side of the lot. People who
are participating in the festival event arrive in a random order at
each of the three entrances lanes, each of which can hold 25
cars. As people come off of the single highway they are placed
in the back of the shortest available entrance lane, until each
lane is full. When each of the three entrance lanes are filled, the
cars are dequeued into their appropriate spots.
The festival officials want the cars admitted into their designated parking areas in a priority order. The tellers have the highest priority, the volunteers have the next highest priority, and the
listeners have the lowest priority. Because of the way the lanes
cross, we can admit only one car at a time. After one car is admitted we can then check each of the other queues. They want
us to dequeue the cars from the three entrance lanes in priority
order, i.e., the computer model i8 to check the front of each
entrance lane. All high priority vehicles are to be admitted first,
while there is high priority vehicle at the front of any of the
three entrance lanes it is to be admitted before a lower priority
vehicle.
When each vehicle is admitted, it is assigned the next available spot in the designated area. There are 20 spots in the teller
area, 30 spots in the volunteer area, and 100 spots m the listener's
designated area.
Once all three entrance lanes have been emptied, more traffic is to be admitted from the highway into the three entrance
lanes. This process of filling the entrance lanes, dequeuing the
cars in priority order, and assigning them to their appropriate
area should be repeated until there are no more cars on the highway. When there are no more cars on the highway, the entrance
lanes can be emptied one last time.
We are also to model the process of exiting the festival. First
all listeners leave the parking lot, then all tellers, and finally the
volunteers finish cleaning up and they can leave.
The model should display to the screen, the car that is coming off of the highway, each of the three entrance lanes, and the
parking lot. The display should change and stop after each 10
cars are admitted. It should then continue when the user decided to continue.
Computers and Society, March 199'7
11
Design:
The entrance of cars from the highway into Jonesboro is reprek
sented by the data being read from the file. As the data is read, it
is enqueued into the shortest of the three entrance (lanes) queues.
On~ after all three queues are full or there are no more cars on
the highway can the dequeueing begin. Once the entrance lane
queues are emptied, more cars can be admitted from the highway into the entrance queues.
The cars are &queued from the entrance lanes in priority
order. Because of its structure, the parking lot should be represented by three stacks. When a teller is &queued from an entrance lane they are placed into the teller parking stack, etc.
The exit procedure is modeled by popping each parking stack
until it is empty.
2. Develop skills which add t o the utility and efficiency of
the final product.
3 Develop awareness of how different data structures fit
different tasks,
The ethicsassignmentassodatedwith thisprogram:
Read the attached ACM Code of Ethics and Professional conduct paying particular attention to the examples of professional
ethical concerns in the guidelines. Assume that the events in the
programming assignment are real. YOU have been asked by the
director of the festival to write this program for the parking
facility that they are planning to build. Write a brief but thoughtful
essay about ethical issues raised by this programming assignment.
How would you handle the ethical problem?
Testing:
There is a file I:\gotterba\cars.in which is a text file. Each line
of the file represents a car coming off of the highway. The ear
data in the file starts with the letters %', W', or 'T' representing
listener, volunteers or teller respectively. This is followed by a
blank space and then there are three numbers which are used as
a unique identifier for each car.
You should test the program for accuracy in its correct use
of queues and stack. We are not just interested in the output,
but we are also interested in how the program functions in producing the output. Good testing should also stress a program.
Test the program with the values inside and outside the valid
domain. Values outside the accepted domain should return polite error messages.
What to hand in:
(All items are submitted together in a maniUa envelope with your
name on it.)
1. a hardcopy of your source code which is consistent with
the programming standards for this class, a hardcopy sample of
your test results. This should include at least two printouts showing the parking lot data before the last car comes off the highway and one printout showing where the cars are when the entrance lanes are empty.
2. a 3.5 inch high density Virus Free disk containing the source
code lot.pas and the object code lot.exe. These should be located in the root directory.
Assignmentgoals andgrading standards
Programming Goals:
1. Write readable well-documented Pascal code.
2. Be able to develop efficient algorithms to solve a problem
using basic Pascal constructs.
3. Correctly meet the software specifications.
4. Develop the ability to implement and use stacks and queues
in a program.
Professional Goals:
1. Apply standards of quality software development.
12
Computers and Society, March 1997
Non- programming ethics activities
Programming exercises are useful vehicles t o understand and
anticipate ethical issues involved in software development. Studies have shown that peer discussions are the most effective ways
of achieving the goals cited above.
Scenario Analysis
Scenarios and scenario analysis can be used in all courses. The
only difference is that the complexity and subject matter of the
scenarios will vary to fit the technical content of the courses.
The purpose of such analysis is to help the students develop
analysis abilities with respect to ethical issue scenarios, including
the ability to identify the stakeholders, isolate the relevant issues,
apply appropriate guidelines (ACM Code of Ethics and Professional Conduct, IEEE standards for testing and software development), identify possible courses of action, anticipate potential ethical problems and recommend appropriate courses of
action and policy changes to prevent recurrence. In most technical classes it is easy to provide repeated opportunities to apply
these analysis abilities.
A ~pical scenan'opresentation
Distribute the scenario such as one found in Deborah Johnson's
computer ethics text about a consultant, Diane, who has a disagreement with her client. Give the class a few minutes to read
it. Use the following questions to steer the class in analyzing the
scenario.
• Who are the stakeholders in this scenario and what are
their stakes? Be sure they include Diane, Diane's employees, toy
manufacturer, employees of toy manufacturer.
' What responsibilities does Diane have to each of the stakeholders, including herself?
• What are the essential issues here?
• What courses of action does Diane have?
• What should Diane do?
• Do you have any suggestions for Diane to preventing a
recurrence of this type of situation?
Besides the obvious extremes (Diane refuses to do the project;
Diane gives them exactly what they ask for), make sure alternatives are explored. For example someone is likely to point out
that Diane did include the less secure system (which she now
considers inadequate) as one of the options presented to the
client. Therefore, a reasonable course of action for Diane would
be to provide the more secure system but at no (or minimal)
additional cost to the client.
Introduce general aspects of Rawls' rational contractor theory
of justice. In this theory, situations are analyzed by imagining
that each person is operating under a veil of ignorance that hides
his/her exact position in the situation; i.e. one is unaware of
his/her gender, educational level, employment status, etc. These
"ideal observers" are aware of all aspects of the situation but
are ignorant of their own role or circumstances. This lays the
basis for an imaginary "town meeting" involving all stakeholders operating under this veil of ignorance (ignorant of their own
special circumstances). The rules decided in such an environment optimize fairness. No one will makes rules which encourage harm or injustice since they may be the ones hurt.
Encourage the use of this concept to examine ethical and/
or social situations. For example, in this scenario you would be
aware of the circumstances of Diane, her client (toy manufacturer), her employees and the client's employees, but not of which
of these roles you occupy. This examination of the scenario
from the perspective of a rational, knowledgeable observer (ideal
observer) facilitates an agreement (a contract) that is beneficial,
though not necessarily equal, to all. We suggest that scenario
analyses be repeated often in this and subsequent courses. References to some sources of scenarios have been attached.
Repeat the analysis with a slight modification that changes
some parameters. For example, suppose Diane was writing a
system for the United States Missile Defense System. This would
change the stakeholders and the seriousness of failed security.
How do these changes effect the analysis?
A sample assignment (students work in groups of 2-3)
Prepare a 2-3 page, double-spaced, analysis of the attached scenario. Your analysis must:
• Identify the stakeholders, their respective stakes, and the
responsibilities of the computer professional(s) involved with
respect to each stakeholder.
• Isolate the ethical issues involved.
• Identify the principles of the ACM Code of Ethics and
Professional Conduct that are relevant to this scenario? - Discuss various courses of action. Include alternatives in addition
to the obvious extreme positions.
• Recommend and justify a course of action.
• Offer suggestions for preventing a recurrence of this type
of situation (e,g. changes in organizational policies) and discuss
the immediate and long-term consequences.
Be prepared to give a lO-minute presentation of your analysis to the class and answer questions.
Variations on assignment."
We found it useful to provide the students with a work sheet
(Figure 1). The only danger is that some students will think that
the worksheet is complete and that when they have finished with
a single pass they have done all the analysis that is necessary.
Slightly modifying the example used helps to reduce that tendency. The worksheet may be given as an individual assignment
or as a test question.
Instead of a group presentation of their analysis, have the
group present a skit in which they role play a meeting in which
the "social contract" alternative is presented to the relevant party.
The group size will vary depending on the number of players in
the particular scenario.
Figure 1 - Worksheet
(adapted from Kallman &Grillo)
Find the Facts
List the relevant facts
List the stakeholders
Make a defensible ethical decision
Isolate the ethical issues
Examine the legal issues
Consult guidelines
Discover the applicable ethical issues
Least Harm
Rights and Duties
Professional Responsibilities
Self-Interest & Utilitarianism
Consistency and Respect
Make a defensible choice
Describe steps to resolve situation
Options
Recommendations
Defense
Implementation
Short term corrective measures
Scenario analysis activities
It is important to provide some guidelines for analysis. Students should initially focus on identifying the stakeholders, their
respective stakes, and the essential issues. Once this has been
done they can later develop process for analysis. It is good to
provide them with several frameworks for analysis (Kallman &
GriUo; Collins & Miller). We generally ask them to apply ACM
Code of Ethics and Professional Conduct (find applicable sections; identify guidance provided by the code). But we want them
to go beyond a check list analysis and ask them to do an individual analysis based on their understanding of the intent of the
code.
Computers and Society, March 1997
13
A code of ethics is a type of conversation about ethical issues between professionals, and society about the consensus on
professional obligations. Modeling this view we have them engage in small group analysis and do a presentation followed by
class discussion. We also have them do role playing.
We evaluate the analysis using the form shown in Figure 2.
Figure 2 - Scenario Analysis Evaluation
%
15 writing (grammar, spelling, punctuation, reference
formats, and general clarity) Note: papers that fail
to meet writing competence standards are not
accepted.
15 identifies stakeholders, stakes, responsibilities of
the computer professional(s) involved with respect
to each stakeholder.
10 isolates the ethical issues involved
10 identifies relevant principles of the ACM Code of
Ethics and Professional Conduct
15 discusses various courses of action, including
alternatives in addition to the obvious extreme
positions
20 recommends and justifies course of action
15 offers suggestions for preventing a recurrence
(e.g. policy changes) and discusses immediate
and long-term consequences
Advice about scenario ana~sis:
Research has shown that one of the most effective ways to
introduce ethical issues into the classroom is through the discussion of case studies among peers in several courses. There
are, however, several pitfalls in this methodology
1. Sometimes the case studies are only tangentially related to
computer ethics. Even though they contain significant detail they
are much too broad and the ethical issues are so clouded that
students cannot get hold of the subject.
2. Sometimes the case studies are so vague that there is no
foundation on which to base an ethical judgement. Each listener's
imagination ends up filling in their own unspoken details of the
case on which they each make different decisions. The result of
discussing this type of case can be so chaotic that the audience
is led to think that they have just been shown the truth of ethical relativism.
3. Sometimes teachers will only use catastrophic cases such
as the Challenger disaster, because they are easy to find and are
good attention getters. The EXCLUSIVE use of these cases
leads students to think that computer ethics is limited to only
these types of cases. Since students don't plan to program life
critical systems, they tend to think that computer ethics is not
relevant to them.
14
Computers and Society, March 1997
Case seeds
The paragraphs below can form the basis of cases t o be discussed in several classes. Many of the case seeds in section I are
especially appropriate for software development courses such
as software engineering.
• In determining for an information system to be used in an
employment agency, the client explains that, when displaying
applicants whose qualifications appear to match those required
for a particular job, the names of white applicants are to be
displayed ahead of those of non-white applicants, and names
of male appficants are to be displayed ahead of those of female
applicants.
• Because he recognizes that maintenance of an on-line banking system built for an out-of-town bank will be a time-consuming ongoing activity, a programmer codes into the login procedure a mechanism to allow system-level access by means of a
password that only he knows.
• Long before system testing is complete, scheduled time
and money for such testing has run out. The engineer responsible for testing is advised that the company will "let the users
do the rest of the testing."
• Knowing that the firm developing a large piece of software for a government agency is unlikely to be awarded the contract to maintain the system after delivery, the company decides
to spend less effort on both internal and external documentation. The money saved by this decision is used to pay for additional coders and testers, so that the system can be delivered on
time.
• A large piece of medical diagnosis machinery is being built.
When in use, the patient lies strapped to a table, and a large,
heavy X-ray unit moved up or down on a vertical track. In writing requirements for the software, it is noted that the maximum
height of the X-ray unit above the table cannot exceed 2 meters,
just short of the height of the track. No minimum height if the
unit above the table is specified, however.
• A small firm lands a contract to produce software that has
a significant database component. None of the employees is
familiar with current database technology, but the contract, the
largest ever obtained by the firm, is viewed as a make-or-break
opportunity.
• While his company is negotiating a contract to build a software system for a client, the head designer learns about a new
design method and its associated tool set. Because the proposed
system is similar to others the company has recently built, it is
clear that the firm's "Standard" methods can be applied reliably
and economically. The company's business plan, however calls
for it to move into the more lucrative market of more complex
systems, for which the new design methodology may be required
for competitiveness. The designer recommends the cost of the
new tools be built into the contract being negotiated and the
client be told that the tools are necessary to produce a system of
sufficiently high quality.
• In a design review, one of the problems identified turns
out to be easy to fix. In exploring the problem, however, the
designer discovers a related difficulty that can only be addressed
adequately by a major redesign. Realizing that the special situations at the root of the problem will seldom arise and will certainly not arise in the first year or so of operation, the designer
reports his fix to the original problem, but neither reports nor
resolves the more serious problem.
• A large computer firm has been hired by a fast-food chain
to integrate use of its cash registers into its accounting system.
As the client explains his requirements, it becomes clear that his
needs can be served more than adequately be an off-the-shelf
package sold by a competing software firm.
• In a library automation system, the cfient has asked that a
log be kept of materials checked out, so that data on patron
needs can be used to make more informed decisions about future book purchases. The simplest way to construct such a log is
to copy the full circulation record-including patron name-into a
log file at the time the circulation record is generated. Software
to analyze this file is to be written at a later time, when funds are
available to implement this function. (copyright Gotterbarn and
Deimel 1990)
These paragraphs can be expanded with relevant technical
detail appropriate to specific courses. As that detail changes for
the scenario, so does the ethical issues raised in that scenario.
Practie with these kinds of changes helps the student anticipate
ethical issues in their work..
These techniques illustrate ways in which ethical issues can
be incorporated into mainstream computer science courses and
help us teach professionals rather than merely train technicians.
Share yourteaching techniqueswith
other SIGCAS members!
D o you have a:
-
practical case study?
favorite in-class exercise?
challenging project assignment?
presentation tip that's worked well for you?
new way to use electronic communications?
Send an article or even a short summary to the
editors (gotterba@etsu.east-tenn-st.edu and
jewett@engr.csulb.edu).
Too busy to write an article? See our call for
participation on page 26.
Recommended resource material:
Collins and Miller, "Paramedic Ethics for Computer Professionals," The Journal of Systems and Software,January 1992.
Johnson, Deborah, Computer Ethics (2~ Ed.), Prentice-Hall,
1994.
Kallman & GriUo Ethical Dedsion Making and Intimation Technology:An Introduction with Cases, McGraw Hill, 1994.
"The ACM Code of Ethics and Professional Conduct",
CACM February 1992.
Anderson, et. al; "Using the ACM Code of Ethics in Decision Making," CACM May 1992.
Computers and Society, March 1997
15