Analogies: Coding-Writing Plagiarism Example

Lori Carter


Student Materials


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:

Time required:

Learning objectives:

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.”


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.


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


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:


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