Simple exercises to help show the relation of the Codes to the practice of computing.

 

Using example material to make reading the Code and interactive experience.

 

  1. Several people read articles from Richard Epstein’s material “Case of the Killer Robot”  http://onlineethics.org/cases/robot/robot.html and use the Codes of Ethics to evaluate the activity of participants in this story. For example Tom Jewett’s assignment is at http://www.cecs.csulb.edu/~jewett/engr350/hw6.html

 

“The Case of the Killer Robot is a detailed scenario which combines elements of software engineering and computer ethics. It can be used as a means of introducing computer ethics into a software engineering course. It can also be used earlier and elsewhere in the curriculum to acquaint students with the complexities of software development.

 

The scenario consists of articles which discuss specific issues in software engineering and computer ethics. The articles discuss topics such as programmer psychology, team dynamics, user interfaces, software process models, software testing, the nature of requirements, software theft, privacy and so forth. A major consideration is "when is the software good enough?"

 

The articles in the scenario begin with the indictment of a programmer for manslaughter. This programmer wrote faulty code that caused the death of a robot operator. Slowly, over the course of many articles, the students are introduced to factors within the corporation which also contributed to the accident. Students (hopefully) begin to realize the complexity of the task of building real-world software and they begin to see some of the ethical issues intertwined in all of that complexity. They are shown software development as a social process.” http://onlineethics.org/cases/robot/robot.html

 

  1. One can use programming exercises to raise ethical issues. The goal of this exercise is to get students to consider how thinking about ethical issues during system design would change their designs. Use a standard programming assignment distributed to the class. After the assignments are returned to the students distribute a copy of the ACM Code of Ethics and guidelines or the Software Engineering Code of Ethics and Professional Practice and ask students to write a one-page essay on ethical problems with their solution to the programming exercise. During the next class  discuss the ethical issues with the program and ask them how they could change their solution to avoid these problems. This is a good place to emphasize that they can solve some of the ethical issues technically.

 

  1. Ask the students to develop their own cases. The Case is to be relevant to a practicing software engineer. Sometimes the case problem is raised by the way in which the software engineer is working and sometimes the nature of the project raises unique issues that put the software engineer in a difficult situation or require them to work/design differently to get a good solution. Below are some examples of situations that may impact the approach an SE has to take.

 

The case should contain a brief overview of the relevant background for the case. Evaluate the case on several levels. What is the first thing that should be done to avoid the problem?  If that  action fails then what is your best fall back position and why?  The results of doing this exercise are included in the Code Cases.