School of Engineering and Applied Science
Department of Computer Science
CSci 110 -- Technology and Society
http://www.seas.gwu.edu/~mfeldman/csci110/summer07
Prof. Michael B. Feldman, course instructor
mfeldman@gwu.edu

Week 1: Introductions, History, and Ethics

Readings:

History of Computers, Baase, chapt. 1.1, plus URL's
Developing a Moral Framework, Baase, chapt. 10

Professional Codes of Ethics, Spinello/Tavani, chapt. 1, 6

Ethical Coordinate System (PDF file)

Prof. C. Dianne Martin's Notes on Ethical Systems (PDF file)

IEEE (Institute of Electrical and Electronic Engineers) Code of Ethics

ACM (Association for Computing Machinery) Code of Ethics (which Prof. Martin helped to write)

ACM-IEEE Software Engineering Code of Ethics and Professional Practice

Learning Activities:

Photo of yourself (by Friday 5/25, 11:59 PM) - using your Blackboard assignment menu, upload a digital photo of yourself. I will collect these into a photo  gallery for the class website. Because this is a distance-learning course, we never see each others' faces in class; the photo gallery will help us associate actual people with all the e-mail and forum discussions.

Electronic Introductions (by Friday 5/25, 11:59 pm) - in the Blackboard discussion area, write a brief description of your background, interests, experience with computers, discussion of the following: Since many cultures may be represented in this class, briefly describe how you think technology is viewed within your culture (good, evil, frightening, morally corrupting, progress, etc.). In particular, comment on how the general public in your country feels about "western" technology. If your culture is American, your thoughts on American culture and technology are welcome, of course!

Personal ethical frameworks (by Friday 5/25, 11:59 PM) - in the Blackboard discussion area, locate yourself on the ethical coordinate system. Given the hypothetical ethical Cartesian coordinate system (see attached Ethical Coordinates file), locate (plot) where you think your own ethical philosophy falls and discuss why.

Discussion of ethics scenario (by Tuesday 5/29 at 11:59 pm) - discuss the following ethics scenario to identify the ethical situation, the stakeholders, the alternatives and the possible correct action based upon a code of ethics.

First look at the ACM Code of Ethics and the IEEE Ethics Code and discuss where you think they each fall in the moral coordinate system.

Now consider the situation described below. Each person will represent the views of one or two of the stakeholders shown below. As a group generate a set of alternative actions possible from the point of view of the stakeholders you represent. (For the professionals, use the ACM or IEEE code of ethics to develop alternatives)

  1. The civil engineers of the state agency
  2. The editor of the local newspaper who finds about the situation
  3. The managers of the company developing the software
  4. The programmers in the company developing the software
  5. The local elected officials; state agency that licenses engineers
  6. Members of the public

Scenario:
 
Civil engineers employed by a state agency were engaged in numerous construction design projects, such as flood control, where safety of humans is a factor. They were held personally responsible for their work under a professional and business responsibility law. In their design activities, the engineers increasingly relied on computer programs that were designed by systems analysts and implemented by computer programmers. The engineers specified the problems requiring solution and, to various degrees, specified the methods of solution and test cases for demonstrating that the computer programs functioned correctly. Several of the computer programs included logic where decisions were based on engineer-specified criteria and where the program output selected types and quantities of construction materials and stated how deliverable end products were to be constructed.
 
The engineers complained to their management that they were not able to determine the correctness and integrity of the computer programs, and the results of their work relied heavily on those qualities. Therefore, an error in a computer program or an error in operation of the computer (that could be detected by a programmer) could result in a serious design flaw that could cause harm to people. The engineers wanted the systems analysts and computer programmers to share in the responsibilities for any losses under the professional and business law. The systems analysts and programmer stated that they were merely providing tools and had no involvement in their use. The engineers could test and analyze the programs to assure themselves of their accuracy. Therefore, the systems analysts and programmers should not be held responsible.

Individual Deliverable: Ethics Scenario Evaluation
(4-5-page paper, 15 % of your grade, submitted via Blackboard Assignments menu by Friday, 6/1, 11:59 PM EDT)

Purpose: An important purpose of this course is enable you to develop analysis skills to make decisions on ethical issues that may arise related to computer systems that you develop and implement in the future. An effective way to do that is to analyze hypothetical situations or scenarios that present ethical dilemma based upon several criteria. Now that you've had a class discussion on ethics scenarios, you'll do one on your own.

Assignment: In this assignment you choose one of the three scenarios below, to evaluate in four parts:

  1. First provide a brief description of the scenario in your own words. State who all the stakeholders are and list all of the alternative actions that could have been taken (1 page).
  2. Analyze the scenario from your own set of personal values (1 page). What is your metaphysical, epistemological and axiological view of the world as related to the notes from the second lecture on ethical frameworks? Answer the question "how do you think�" rather than "what do you think?" State your reactions to the actions/decisions of the people in the scenario based upon your worldview. (You will not be graded upon your values, but upon how well you can state them as they relate to the scenario.)
  3. Analyze the scenario using the Code of Ethics of a professional society stating the specific principles from the code that apply to the scenario and what the right course of actions are based upon that code (1 page).
  4. Finally, you will compare and contrast the conclusions made in part 2 and part 3 (up to 1 page). Did your worldview differ with the professional code and how? Or was it similar and how? (It will help you to complete this part if you state which worldview you think the code is based upon.)

Assessment of your paper: Your paper will be graded based upon how well you can support your arguments with carefully stated reasons derived from the philosophical frameworks and the codes of ethics that were presented in class and in the Baase textbook. You are expected to use correct English grammar and spelling. You will be penalized up to 5 points for grammatical errors and spelling mistakes, depending upon the severity and frequency of the errors.

Select one of the following three scenarios to analyze:

Scenario 1 -- Software Reliability: Promises, promises!

A company called GT is building a software platform for business-to-business (B2B) e-commerce. Their whole business model is based upon establishing a trusted marketplace with authentication of all parties. One of the hottest new B2B exchanges, eHotEx.com comes to GT to license their platform. GT finds out that they are also talking to their competitors. Landing this account would be a big PR and revenue coup for GT. As part of the deal, they require some special enhancements to the GT platform. Engineering tells Sales that they can deliver the changes fully tested in 3 months. They will have a beta version ready on 2 months. eHotEx.com indicates that they will accept the beta version and let the bugs get worked out during the release so they can launch on schedule. What should GT do? (From Communications of the ACM, February, 1993)

Scenario 2 -- Privacy:

A software engineer has started her own consulting business. She has been so successful that she now has 10 people working for her and a number of excellent clients. Their consulting work included advising on how to put together networks, how to design database management systems, and how to provide network security. Presently she is designing a database system for the personnel office of a medium-sized company. She has involved the client in the design process, informing the CEO, the director of I'T, and the director of personnel about the progress of the system. It is now time to make decisions about the kind and extent of the security to build in to the system. She has described several options to the client. Because the system is going to cost more than they planned, the client has decided to opt for a less secure system. The software engineer believes that the data they will be storing is extremely sensitive personnel information, such as performance evaluations, salary data, medical records for insurance filings, and so on. With weak security, it may be possible for company employees to gain access to this data as well as for hackers to break into it. She feels strongly that the system should be much more secure. She tries to explain the risks, but the CEO and his staff all agree that the less expensive, less secure solution will be fine. What should she do? (From Communications of the ACM, February, 1993)

Scenario 3 -- Intellectual Property:

A programmer, working on a sophisticated data mining package, is trying to write an algorithm to do intelligent searches across multiple databases. Programmers in this company are encouraged to write about their work and publish their algorithms in professional journals. After months of tedious programming, the programmer finds himself stuck on one part of the problem. His manager, not realizing the complexity of the problem, wants the job completed within the next few days. The programmer remembers that a co-worker had written an article about a similar problem and given him the source code from an earlier version of a commercial software package developed by another company. On looking at those programs, he sees two areas of code that could be incorporated into his program. He incorporates the segments of code from the co-worker's article and from the commercial package into the program, but does not tell anyone or mention it in the documentation. The program works perfectly and is delivered a day ahead of schedule.