Curriculum  |  ,   |  October 21, 2015

An Introduction to Software Engineering Ethics

Curriculum developed by Shannon Vallor and Arvind Narayanan, Markkula Center for Applied Ethics at Santa Clara University.

No training in ethical theory, applied ethics, or philosophy is required for either the instructor or the students as they tackle these materials.This ethics module for software engineering courses includes a reading, homework assignments, case studies, and classroom exercises, all designed to spark a conversation about ethical issues that students will face in their lives as software engineers.

The revised module, which can be used in part or in whole, now includes additional suggestions for classroom use (in the “Notes for Instructors” section), as well as an expanded bibliography (Appendix C).

The module is provided at no cost (with written permission for class use) by the Markkula Center for Applied Ethics at Santa Clara University.

Module Purpose:

This stand-alone ‘plug-and-play’ ethics module can be used in part or in whole and is appropriate for coverage in one to three class sessions. All necessary materials, including reading, homework, case studies, and classroom exercises, are provided herein. Use of the module does not require that the instructor or students have any special training in ethical theory, applied ethics or philosophy. This should be seen only as a short introduction to thinking about ethics in the context of software engineering practice, and not as a complete course in software engineering ethics.

Module Properties/Design:

This module emphasizes learning about software engineering ethics as an applied professional practice. To that end, the module is structured as a series of readings, case studies, questions and discussion prompts that provoke the practice of ethical reflection, questioning and decision-making. As a consequence of the module’s design, the theoretical foundations of ethics are presented only briefly in Part Five, and only insofar as they help to define the range of ethical perspectives that can be useful to employ in professional life. As with other parts of the module, Part Five is optional and can be assigned or omitted depending on course needs. Students or instructors interested in a deeper course of study of the existing literature in software engineering ethics/computer ethics, or in the area of philosophical ethics more generally, will find helpful suggestions for further reading in Appendix C’s bibliography (now revised and expanded). [ . . . ]