This document discusses ethics and professionalism in computer science. It covers codes of ethics, codes of conduct, the differences between ethics and conduct, and four types of codes that can influence decisions and actions: professional codes, personal codes, institutional codes, and community codes. The document also discusses ethical dilemmas that can arise when these codes contradict each other, using the example of euthanasia. It then covers the topic of whistleblowing, how to report issues internally or externally, and challenges whistleblowers may face such as retaliation or maintaining anonymity. Students are assigned to write about a past or hypothetical situation involving an ethical dilemma they faced or a scenario where they wished to be a whistleblower.