Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ethics activities in computer science courses

1997, Computers & society

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