Skip to main content

CSC 322.01, Class 18: Professional ethics

Overview

  • Preliminaries
    • Notes and news
    • Upcoming work
    • Good things to do
    • Questions
  • Introduction/context
  • A case study

Preliminaries

News / Etc.

  • I am, as always, behind on grading.
  • Your mentor will be distributing a survey on good times to help with your projects.
  • Rails can be difficult to debug. Your “code thinking” skills will get a lot of workout this semester. (Mine, too.)

Upcoming work

Good things to do (Academic/Artistic)

Good things to do (Peer)

Good things to do (Misc)

  • President White dive competition.
  • GHS Basketball

Friday PSA

  • You are awesome wonderful people, please take care of yourselves.
  • Moderation.

Questions

Introduction/context

  • We will be talking about professional ethics in computing
  • We try to talk about these issues throughout the curriculum.
    • “This is a way that computing impacts the world; think about the implications of what you do.”
    • CS Table provides one opportunity to think about the role of computers in society
  • We need some more formal coverage as well as the informal coverage.
    • Early in the curriculum may not provide enough context
    • In software design, because that’s when ethics really comes into play
    • In 322, because that’s when you’re working with a client
  • At least two ways you think about ethics
    • “What are my general responsibilities as a member of society who computes and understands computing?”
    • Computing is a profession; Professions (sometimes) have codes of ethics. We use the ACM Code of Ethics.
  • At least two ways to understand ethics
    • “Practical” - A general framework that you practice applying
    • “Theoretical” - Grounded in a deeper framework of ethics
  • We will focus more on practical than theoretical approaches
  • Process:
    • Read some papers
    • Try to work through some thorny problems
    • Try to ground our work in the code and in simplistic views of ethical frameworks
    • Write something

Quick review: Ethical frameworks

Social contract: https://en.wikipedia.org/wiki/Social_contract

  • You consent to give up rights in exchange for social order.
  • Prioritization of social order as highest value.
  • Social order is (potentially subjective, based on the society).

Deontology: https://en.wikipedia.org/wiki/Deontological_ethics

  • You act in according to your duty to “the highest good”.
  • E.g., “Be honest”. “Follow orders”.

Consequentialism: https://en.wikipedia.org/wiki/Consequentialism

  • “Ends justify the means”; focus on the consequences, rather than the action itself. Focuses less on rules than on what you accomplish.

Utilitarianism: https://en.wikipedia.org/wiki/Utilitarianism

  • Choose the thing that maximizes utility. Sum the pleasures of everyone and subtract the misery. Maximize well-being.

Virtue ethics: https://en.wikipedia.org/wiki/Virtue_ethics

  • There are traits that make you a good person. Follow those traits. (Honesty, courage, temperance, modesty, friendliness, …)

Justice as fairness: https://en.wikipedia.org/wiki/A_Theory_of_Justice

  • Provide the greatest amount of liberty without infringing upon the liberty of others.
  • Equality of opportunity.
  • Focus on the least fortunate.

A case study: Bypassing security mechanisms

A1. Who are the relevant actors in the case? (Someone who plays a role in the case.)

  • The company
  • The criminal
  • The judge
  • Law enforcement agencies (the Feds)
  • You

A2. Who are the relevant stakeholders in the case? (Some who may be affected by your decision.)

  • Users of the software/hardware
  • Citizens of the country
  • The criminal (and their cohort)
  • Other companies (who may be told “Banana made this choice. You should, too.”
  • Future judges of cases, who may take this as a precedent. (?)
  • Shareholders of our company

A3. What are possible actions or choices to be made?

  • Say “No”
  • Make the software and give it to the government
  • Make the software and give it to no one (proof of concept)
  • Make the software and release it to the public (since the government will probalby allow it to be leaked to hackers in any case)
  • Choose a very different technical approach; leave the password delay but add some other feature that gives access to the data.
  • Distribute the software and an update that magically blocks the update. (Everyone else can update except for the one phone.)
  • “I’m sorry, but that is not technically feasible.”
    • Truth
    • Lie

B5. What are the relevant sections of the ACM code of ethics?

B2. What rights of actors and stakeholders might be impacted?