Student Materials
-
Worksheet
Overview
Ethics background required: Knowledge of three primary frameworks is helpful, but can be breifly presented in this lab.
Subject matter referred to in this lab: Computer programming
Placement in overall ethics curriculum:
-
Academic year: First year, second semester, programming course
-
Recommended previous labs: Virtue Ethics, Introduction to the Deontology Framework Using AI, Utilitarianism- Plagiarism Issues
-
Recommended follow-up labs: Any of the Application Labs
Time required:
-
Out of class: None
-
In class: 30 minutes
Learning objectives:
-
Introduce and apply analogies as a way of evaluating ethical dilemmas
-
Explore plagiarism as an ethical issue
-
Practice articulating when analogies are helpful and when they are not
Ethical issue to be considered: professional ethics, intellectual property, plagiarism
This lab introduces a new tool for grasping the ethicality of a new area that is similar to more well-understood predicaments. Since computer science and data science are still new areas of work and study, analogies to older disciplines can be helpful. It is not a commonly accepted “ethical framework.”
Flow
-
Review frameworks: virtue ethics, deontology, utilitarianism
-
Introduce the concept of analogies as a tool for help with decision making
-
Distribute and work on handout with group
-
Class discussion on using plagiarism in writing essays as an analogy for plagiarism in coding
-
Class Reflection on usefulness of analogies
Guide for Instructors
Lesson plan
Introduction (to be read or summarized to class)
At this point you may have seen several ethical frameworks that can help make decisions regarding the morally right course of action. Possibilities are:
Virtue ethics: Makes the choice by using the question “what would the virtuous person do?”
Deontology: Makes the choice by determining if the action adheres to a set of rules related to the context of the decision.
Utilitarianism: Makes the choice by determining if the benefits of the action outweigh the costs of the action.
Sometimes, before any of these frameworks can be used, it is helpful to just understand the situation better. The computer and data science fields are new enough and dynamic enough that there is limited or no precedence for dealing with a particular situation. This is where an analogy can be helpful.
An analogy is saying something is like something else for the purpose of clarification. Generally the concept in the analogy is better understood than the dilemma in question, and might help in understanding the less-familiar predicament.
A frequent example from computing is using an analogy to understand the ethicality of hacking into a person’s computer, just to look around. Is this OK if the hacker makes no changes and steals no data? Most people have an opinion on this action now, but it was confusing when it was first occurring. The analogy commonly used has nothing to do with computing, but can share the concepts of looking around but not stealing. This analogy would be a person breaking into another person’s house and looking around, but not damaging or stealing anything. The concept of breaking and entering in the context of the home had been defined by society as unethical. Probably, then, entering someone else’s computer would also be unethical.
Keep in mind that analogies are imperfect. There is generally a point where the comparison no longer holds. In the case of “looking around the house” while the perpetrator may gain knowledge about the layout, for example, if the person doesn’t actually take something, no theft occurred. However, in looking around a computer, it is easy to steal without even doing a copy/paste. Furthermore, stealing data can cause future extensive damage while stealing jewelry is an end in itself.
Activity
We are going to try to gain some insight into ethically writing computer programs by comparing them to writing essays. Most students have written many essays in their lives, but writing computer programs is not as familiar. Work through the exercise with your group, and then we will come back together do discuss where the analogy worked, and where it did not
Reflection
- Ask how students filled out the rest of the grid on the worksheet. Some answers are provided here:
Essay | Computer program |
---|---|
Follows an outline | Follows and outline/algorithm |
Addresses a prompt | Addresses a prompt/problem to be solved |
There are an infinite number of ways to write about the same topic. | There are infinite number of ways to create code that does the same thing. |
Proper grammar is important. | Even more important with programming to avoid syntax errors. |
It is a combination of terms written in a particular language | Yes, even fewer terms are available although you can “make up” new terms (identifiers) |
Different writers have different styles | Yes! Some favor different kinds of loops or conditional statements. Some use more subroutines, use unique identifier naming conventions, spacing, commenting. Some combine operations into 1 instructions and some provide several. |
Where the analogy breaks down:
-
Computer programs either run or they don’t. An essay can be acceptable even though it is not excellent. Less middle ground on programs. You can’t test an essay to see if it is correct.
-
Computer programs are unambiguous. Ambiguity can be used intentionally or introduced accidentally by the author of an essay.
-
Go through each type of writing plagiarism and try to determine if it fits. Here are some ideas, but should hear from students first.
-
Complete plagiarism: copying an entire program
-
Source-based: not clearly analogous
-
Direct: perhaps getting pieces of a solution to a program from various people and putting it together as your own
-
Self: This more applies to publishing. Probably not an issue if it’s not represented as brand new material
-
Paraphrasing: Changing variable names and turning it in as your own
-
Inaccurate authorship: someone else wrote the program for you even though it was new, or, you gave a program that you had written to someone (both people culpable)
-
Mosaic: Parts of the program are yours, and parts someone else’s. This can be an interesting discussion about copying snippets from a book.
-
Accidental: Someone did not understand that what they were doing was plagiarism (e.g., they thought they were making their code unique by re-ordering or changing variable names).
-
-
Have students discuss how helpful this analogy was in increasing understanding of what is ethical to do in the process of writing a computer program as a student. Note that things might be slightly different in industry as code re-used might be the property of the company. Re-use of your or other’s code in that context might not be plagiarism.
Assessment
-
What is an analogy?
-
How can analogies be useful?
-
Provide students with a scenario and ask them to identify the ethical dilemma along with a non-technical analogy that helps to clarify the situation. Example: Game company X is frequently coming out with new versions of their game to keep their income stream constant which allows them to reliably meet payroll. However, constant releases encourage teens to spend more time on the game and to crave the latest and greatest. What is the ethical dilemma, what is a non-tech analogy that might shed light on how to handle that dilemma?
-
Students might see addiction to food, drugs, tobacco, or alcohol as a parallel. They may decide that a solution would be a warning on the game (analogous to calorie disclosures for food), creating games that are less addictive, raising the price of the game (analogous to tobacco taxes) to support the income stream instead of frequent releases.
-
Care should be paid when making use of an analogy. What problems can arise with analogies?
- trying to force one that doesn’t really work and drawing wrong conclusions from it
Additional help on analogies for instructors
We use analogies to compare two things that have similarities. Often, the student is more familiar with the analogous object or idea, so it can help us reason about the more unknown counterpart. See the introduction for an extended description and example, or see the links below for more examples of analogies being used. Links accessed 6/2019