The Use and Abuse of Computer Ethics

Donald Gotterbarn

Who Teaches Computer Ethics?

The revision presented above is needed to remove the dangers of pop ethics. To do this well requires much more than the retelling of horror stories by the professor. Many faculty members hesitate to discuss ethical issues in their classrooms. They feel a lack of expertise in the face of a group of academics who have reserved discussion of these issues for themselves.

The computer scientist shies away from involving their students in ethical discussions because of the apparent complexity of the philosophical approaches. Although it is true that at a refined level these philosophical theories are very complex, at the level of application the theoretical complexity can be largely ignored.

It is often said that only a philosopher should teach ethics.14 When we say this I think we have accepted the philosopher’s presumption that their moral theories can be used to solve moral problems. As a result, in works on computer ethics there are philosophy sections on teleological theories and deontological theories.15 Behind these two theories lies two approaches; one emphasizes results or consequences of actions (teleology) and the other emphasizes motive or duties (deontology). Armed with these theories we are supposed to solve the practical ethical problems which confront us daily. “Philosophers are no more educated in morality than their colleagues in the dairy barn; they are trained in moral theory [italics mine], which bears about the same relation to the moral life that fluid mechanics bears to milking a cow.”16 A mistake made by the philosopher is to portray ethics as “Pick your theory and then reason to an answer.” They believe that different theories will lead to different sets of answers. Advocating this model of reasoning reinforces the view that all ethics discussion is fruitless because there are as many answers as there are theories.

It has been shown that these theories primarily conflict on the level of theory and justification rather than on the level of action.17 No theory which opposes the inherited conceptions of what actions are considered right and wrong could expect to be given much credence. These moral theories are like all theories – merely alternate descriptions of how we move through our daily lives responding to roles, standards, purposes, and duties. Lack of detailed acquaintance with them should not prevent us from discussing ethics, since everyone has to act in the world whether or not they were trained in moral philosophy.

In professional computer ethics, there is an emphasis on a set of software engineering standards accepted by the professional community engaged in the software development process.18 These are technical standards for testing, designing, and developing quality software. Following this accepted set of standards is an obligation of the professional, and it is of little practical consequence whether that is done out of a sense of duty or because one has a contractual relation with a customer. One might ask whether the description of software engineering I have offered is based on consequentialism – doing things because of the significance of the consequences – or deontologism – doing things because they are the right thing to do. I think such a question has little relevance to the moral life of a software engineer. We emphasize the standards of the process, and following them could be described in terms of duty or deontology; but we emphasize the process of building the software because we believe the product will be better. This could be described in terms of consequentialism. The moral theory used to describe the event has little impact on the moral life. The philosopher has no special competence here.

One does not need to be a philosopher to discuss software engineering ethics. The importance one places on the theoretical dimension is a function of one’s aims in teaching the course. If our objectives are an acquaintance with philosophical ethical theory and tolerance for ambiguity and disagreement, then someone trained in philosophy would be useful. In applied professional ethics courses, our aim is not the acquaintance with complex ethical theories, rather it is recognizing role responsibility and awareness of the nature of the profession. A few hours of reading about these philosophical theories is adequate preparation.

If we are not going to teach ethical theories in the computer ethics course, then what are we going to teach? We are interested in teaching how to anticipate and avoid ethical problems in computing. We are also interested in providing techniques or methodologies which can guide our behavior when a problem does arise. This is best done within the context of our technical curriculum. For example in a class dealing with writing software requirements one could look at a case like the following. Suppose you were asked to develop a system which would collect times for ambulance trips to accident scenes and back to hospitals starting from different ambulance service locations. This data was to be used to redesign ambulance service districts to reduce the time spent getting patients to hospitals. The requirements are developed, and during prototyping it is discovered that there are a significant number of trips for which no time is recorded. In determining how to handle these zero times it is discovered that in most of these cases no time was recorded because very critical patients were being transported and the paramedic was too busy keeping the patient alive to record the time. At this stage in development it is discovered that the most significant times to the study are the times that are not recorded. The discussion of the technical and professional options in this situation is teaching computer ethics.19 They are learning how to handle a morally significant situation in an application area.

The moral reasoning involved here is not generated from some esoteric theory which requires a trained philosopher to understand. The moral reasoning here is based on reasoning by analogy. We can examine the technical alternatives and based on past experience attempt to anticipate their morally significant outcomes. It is the technical knowledge that enables us to understand the potential consequences. The judgment involve considering the technically viable alternatives and making judgments guided by both our technical skills and professional values. The technical discussion in class, deciding which are the better solutions and why, is teaching computer ethics. The use of detailed technical examples in the class is a way to develop the skill of anticipating some of these ethical problems.

One can use cases which are less technical to show the relation of values to computing decisions. If one is asked to test some software and funds are exhausted before the testing is satisfactorily completed and there is no possibility of further funds, you have several options. Whichever option you take must be conditioned by moral rules such as, “don’t deceive” “keep promises,” and “act professionally.” Depending on the type of software being tested, rules like “don’t cause pain” and “don’t kill” also might come into play. Different examples bring different moral rules into play. Consider a person who was asked to write a database for a library check-out system to determine the popularity of books and the number of additional copies that should be ordered, if any. The association of the patron’s name with the book checked out has a potential for the violation of several moral rules, such as the violation of privacy and the deprivation of pleasure because one does not feel free to read what one wants to read.

I also believe the student needs some general acquaintance with ethical argumentation. They need to understand how different ethical values compete and how they sometimes only have limited application. They need to see how these values get prioritized and how that prioritization affects decisions. This can be accomplished by having the student read articles in professional ethics on analogous issues. When discussing the ambulance case one can read articles in Stevenson’s book20 or Johnson and Snapper’s anthology21 I have argued in the first part of this paper about the dangers of pop ethics so one must be careful that the examples chosen meet the following conditions:

  1. It is not told because it is impossible to resolve.
  2. It has enough detail to be able to do technical analysis.
  3. The main protagonist is not morally bankrupt.
  4. It is related to an issue in computing.
  5. It can be discussed using moral values.

The stories should help develop a proactive attitude and be directly relevant to the class topic.

The pedagogical goal of discussing ethics in the technical curriculum is development of the following set of skills:

  1. The ability to identify correctly the potential for an ethical problem in a particular context and/or to identify what moral rules are being compromised.
  2. The ability to identify the cause of these issues; determine several alternate forms of action consistent with morality in that context; and, for each of these possible actions, determine expected outcomes and reasons for taking or not taking that action.
  3. The ability to select a workable solution and work through the situation, either technically or morally.

Teaching these skills does not require learning new theories. These are process skills; therefore the emphasis should be on a process that can be applied to changing contexts. These skills, like other abstract skills, are learned by practice. A single class meeting or a single chapter of a textbook discussed in one course will not develop these skills. To teach a single ethics course or have a special professor who is the ethics professor reinforces the mistaken notion that ethics and the practice of computing are not related. What is needed is practice several times in a course. A case study methodology does this best, with each case addressing one or more specific phases of the software development process. This methodology involves giving a brief description of a professional situation that might involve an ethical problem. The class discusses the situation trying to identify if there is an ethical issue. If they find a situation which involves a violation of moral rules, they try to determine alternate approaches which would eliminate or at least reduce the moral difficulty. In work done by James Rest, the case methodology has been shown to be most effective when professors and students discuss the case as peers, The results of this work means that it is better if the professor is not an ethics specialist.

I believe computer ethics should be taught like engineering ethics, i.e., ethical issues directly related to the practice of engineering should be discussed in every engineering course. The ABET standard states: “An understanding of the ethical, social, and economic considerations in engineering practice is essential… as a minimum it should be the responsibility of the engineering faculty to infuse professional concepts into all [italics mine] engineering coursework.”22 Discussions of computer ethics should be integrated throughout the curriculum. In studies done in business ethics courses at the University of Delaware, it was proven that this is the most effective style of teaching professional ethics. It is also good if a major project course for seniors can be used to tie together most of the professionalism issues discussed throughout the curriculum.

Computing has come a long way both technically and ethically. We have learned how to apply moral rules and values to computing decisions. This skill and knowledge should be the subject of good computer ethics courses.

East Tennessee State University

14

M.B. Mahowald and A.P. Mahowald, “Should Ethics be Taught in a Science Course?,” The Hastings Center Report, vol 12, no 4. (Aug 1982) p. 18.

15

Deborah G. Johnson, Computer Ethics, Prentice Hall, 1985.

16

Robert K. Fullinwider, ibid., p.2.

17

Richard DeGeorge, Business Ethics, (New York, 1982).

18

For a complete analysis of this contract basis of computer ethics, see D. Gotterbarn, “Value Free Software Engineering: A Fiction in the Making,” in Proceedings of the Workshopon Software Engineering Education, IEEE International Software Engineering Conference 1991.

19

For a full analysis of this case, see D. Gotterbarn, “Professionalism and Ethics,” a video-taped lecture in Software Project Management for the Software Engineering Institute’s videoa dissemination project. April 9, 1991.

20

J.T. Stevenson, Engineering Ethics: Practices and Principles, Canadian Scholar’s Press 1987.

21

Deborah Johnson and John W. Snapper, eds., Ethical Issues in the Use of Computers, Wadsworth Publishing Company, 1985. [out of print]

22

Accreditation Board for Engineering Technology (ABET), Criteria for Accrediting Programs in Engineering in the United States, 1981.

Go to: Courting Culture in Computer Science – Friedman

Home > Teaching Resources > Teaching Computer Ethics > The Use and Abuse of Computer Ethics

Back to the Main Site

HOME | IN THE NEWS | RESEARCH RESOURCES
TEACHING RESOURCES | STUDENT RESOURCES | LINKS

The Research Center on Computing & Society
at Southern Connecticut State University
501 Crescent Street | New Haven, CT 06515
Director: (203) 392-6790 | e-mail: webmaster@computerethics.org

© 2000 – 2004 – Research Center on Computing & Society