Overview

It seems that there are constantly news stories about the latest tech fiasco that led to negative consequences, either purposefully or accidentally. It’s tempting as programmers to focus on just the code and not think about the bigger picture of what you are making, but it’s a temptation that must be resisted. Today we’ll focus on learning about some specific ethical frameworks and how you can apply them to situations in technology.

Basic Learning Objectives

Before class, you should be able to:

  • Give a high-level overview of how the computing industry thinks and reasons about ethics.
  • Identify the ethical standards typically applied in the analysis of technology.
  • Begin to develop your own ethical framework regarding technology.

Advanced Learning Objectives

After class, you should be able to:

  • Be able to explain foundational ideas of ethics frameworks
  • Analyze a technology case study using a specified ethical framework
  • Continue to develop your own ethical framework regarding technology
  • Identify how to navigate challenging ethical situations in software development

Readings

To achieve the basic learning objectives, you should read the following:

Checks

Write down answers to the following and bring them to class:

  1. Give an example (different from the ones in the reading) that illustrates how tech is not neutral (Dash’s first point).
  2. Select three of Dash’s points, and for each one, give a real-life example that illustrates that point.
  3. What is the purpose of the ACM Code of Ethics?