Module: Ethics in Software Engineering

Ethics: A group of moral principles or values that define or direct us to the right choice.

Learning Outcomes

Behave ethically as a software engineer

Readings

Guided tour of the ethics module

Overview of the ethics module

What do we mean when we talk about ethics?

Definition of ethics, ethics in software engineering, personal vs. professional ethics

ACM Code of Ethics

This Code identifies a commitment to ethical professional conduct through 24 statements of personal responsibility.

ACM Software Engineering Code of Ethics and Professional Practice

This Code contains eight Principles related to the behavior of and decisions made by professional software engineers.

Experiential Learning

What are the professional codes of software engineering ethics?

How do professional codes help us to be ethical in our working lives?

Doing harm as a software engineer

What kinds of harm can software engineers cause? What kinds can they prevent?

Doing good as a software engineer

How can software engineers contribute to the good life for others?

To whom are software engineers obligated?

Who is ‘the public’ that deserves an engineer’s professional concern?

Where do ethical obligations come from?

Why do software engineers have ethical obligations to the public at all?

How can software engineers act ethically?

How can software engineers live up to their ethical obligations, both professionally and in their private lives?

Case Study: Harrassment

Explore ethical implications of online harrassment for software engineers

Case Study: Privacy

Explore ethical implications of privacy for software engineers

Case Study: Autonomous Cars

Explore ethical implications of self-driving vehicles

Case Study: The code I'm still ashamed of

Explore ethical implications of blindly following customer requirements

Case Study: Facebook Whistleblower

Explore ethical implications of Facebook’s behavior as revealed by a whistleblower

Case Study: The University of Minnesota is banned from Linux

Explore ethical implications of UMN security research on the Linux kernel