Objective: Apply ethical theories and professional codes of ethics to real-life case studies and dilemmas in computer engineering.
- Please divide yourselves into small groups of 2-3 students. Each group will be assigned a case study or dilemma related to computer engineering.
Examples of case studies include:
a. A software engineer discovers a security vulnerability in their company’s product but is pressured by management to keep it quiet to avoid negative publicity.
b. A team of developers is tasked with creating a facial recognition system that could potentially be misused for surveillance purposes by the government or other organizations.
c. An AI researcher is offered a lucrative job at a company that develops autonomous weapons, which raises concerns about the ethical implications of their work. - Within your groups, discuss the case study and analyze it using the ethical theories (consequentialism, deontological ethics, and virtue ethics) and professional codes of ethics (IEEE Code of Ethics and ACM Code of Ethics and Professional Conduct) we covered in the lesson.
- As you discuss, consider the following questions:
a. Which ethical theory or code of ethics is most relevant to the case study, and why?
b. What would each ethical theory or code of ethics suggest as the best course of action?
c. Are there any conflicts or tensions between the ethical theories or codes of ethics in this case? If so, how can they be resolved? - After completing the group discussion, each group will present their analysis and proposed solutions to the class, explaining their rationale and the ethical theories or codes of ethics they applied.
- We will then engage in a class-wide discussion and reflection on the different perspectives and solutions presented by the groups. This activity provides an opportunity to learn from each other and practice ethical decision-making in computer engineering.