Close
Register
Close Window

Software Design and Data Structures

Chapter 6 Ethics and Design

Show Source |    | About   «  5.6. Programming Practice 5   ::   Contents   ::   6.2. Software Design and MVC  »

6.1. Ethics

6.1.1. Objectives

Upon completion of this module, students will be able to:

  • Identify ethical issues in a complex context

  • Perform ethical analysis using the ACM Code of Ethics

  • Logically defend positions on ethical issues which are informed by the complexities of those situations

6.1.2. Interactive: Introduction to Ethics Video

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

IntroToEthics.pdf

6.1.3. Checkpoint 1

6.1.4. Interactive: The ACM Code of Ethics

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video. Consider how you can apply the Code of Ethics to your software development.

ACMCodeOfEthics.pdf

6.1.5. Checkpoint 2

6.1.6. Interactive: The Eight Key Questions (8KQ)

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video. Consider how you can apply these questions to your software.

TheEightKeyQuestions(8KQ).pdf

6.1.7. Checkpoint 3

6.1.8. Explore the Moral Machine

Deciding on the most ethical course of action for every situation or set of circumstances is not always an easy task. While leveraging the previously mentioned guidelines and resources will help us to distinguish between actions and decisions that are ethical vs those that are not, there are many scenarios where we may find ourselves dealing with an ethical dilemma, a scenario where we may need to choose between two options, neither of which are acceptable or preferable.

Consider for example, the question of “How to program a computer to decide on the most ethical course of action?” This is obviously a complex situation, one that can be made more complex depending on the type of computer system in question.

Let us explore the computer system for a self driving car. How do we program a self driving car to make ethical decisions, especially in circumstances where lives are affected?

The Moral Machine is a site designed to help us answer this very question.

We invite you to visit this Moral Machine website View the video on the landing page, then click on the “judge” option at the top of the page. You will be presented with a number of scenarios and questions on ethical dilemmas. This exercise will help you explore ethical dilemmas and reflect upon what you have learned so far as well as the criteria you use to make ethical decisions. Complete the questions on the site then continue on to the next page within the canvas module.

   «  5.6. Programming Practice 5   ::   Contents   ::   6.2. Software Design and MVC  »

nsf
Close Window