Handling Bribes

Author(s): Jeremy Hanzlik

Introduction

Greg, a recent college graduate, is a newly hired computer programmer. For his first assignment, Greg's boss asked him to write a piece of software to secure emailed documents for internal use by the American division of his company.

Greg's boss was very pleased with the performance of Greg's software, and he sent letters to friends and managers within the company describing Greg's project. Some of the managers wanted to "borrow" Greg's time in order to customize software at overseas locations including Saudi Arabia, Singapore, and Thailand. Since business had slowed at the American offices, Greg's boss agreed, recommending that Greg perform software coding in these other divisions.

Later that evening, Greg saw a program on the local news about an individual in California who handmade similar software available overseas. This individual was currently under prosecution in a federal court for the distribution of algorithms and information which (by law) must remain within the United States for purposes of national security.

At work the next morning Greg mentioned the television program to his boss. His boss told Greg, "Oh, don't worry about those muckraking reporters; they're always trying to dig up dirt. By the way, did I mention that on your way to Thailand I planned to allow for a weekend layover at a nearby resort?"

Back to Top

Numerical and/or Design Problem

  1. Design and write a program to encrypt/decrypt a text file. (Additional specifications to be added dependent upon course level. e.g. language, level of encryption)

Back to Top

Questions on Ethics and Professionalism

  1. Define a bribe. Is Greg's boss offering him a bribe?
  2. What are Greg's ethical responsibilities as the software designer? What are his ethical responsibilities to his company? To himself? As a citizen of the United States?
  3. Find a way to satisfy as many of Greg's obligations as possible. Write it down. Explain why this is his best course of action.

Question for Class Discussion: Can a promotion or a perk be a bribe?

Back to Top

Solutions for Numerical Problem

The solution to this problem greatly depends upon additional specifications imposed by the instructor.

An example for the freshman/sophomore level would be to construct a program which opens a file, reads one character at a time, increments the ASCII value by an arbitrary number, writes the character in a new file, and repeats.

In a more senior level course, the instructor could require the development of a more complex algorithm for the encryption process. (It might be interesting to introduce code-breaking topics as well.)

Back to Top

These problems were originally developed as part of an NSF-funded project to create numerical problems that raise ethical issues for use in engineering and other course assignments. The problems presented here have been edited slightly for clarity.

 

Return to Numerical & Design Problems With Ethical Content.

 

Cite this page: "Handling Bribes" Online Ethics Center for Engineering 2/26/2006 National Academy of Engineering Accessed: Thursday, February 09, 2012 <www.onlineethics.org/Resources/Cases/encryption2.aspx>