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 can read the following:

Checks

Submit answers to the following through Moodle:

  1. What is the purpose of the ACM Code of Ethics?
  2. Give an example (different from the ones in the reading) that illustrates how tech is not neutral (Dash’s first point).
  3. What is one ethical concern regarding generative AI?