CompSci 307 Fall 2022 |
Software Design and Implementation |
We suggest that engineering should be viewed as an experimental process. It is not, of course, an experiment conducted solely in a laboratory under controlled conditions. Rather, it is an experiment on a social scale involving human subjects. — Mike Martin and Roland Schinzinger
This exercise is intended to introduce you to software's Code of Ethics that attempts to define the ethical behavior of a professional programmer (although there is debate about how well it is doing and it is definitely unenforceable).
Submit a Markdown formatted plain text file, named week11_ethics_code.md
, to your individual portfolio_NETID
repository provided for you in the course's Gitlab group.
After reading the ACM Code of Ethics and Professional Conduct (only about 3500 words!) or reviewing this slide presentation or at least watching this video discussing the highlights (and perhaps this classic cartoon and discussion), critically analyze three of the presented Case Studies according to the Code using the Proactive CARE process. For each situation determine which clause(s) of the Code of Ethics you feel were violated.
After attempting to apply the Code, consider how useful, comprehensive, and reasonable it is to you personally. Keep in mind that it presents aspirations, intended to change the way we act as software professionals. Even though they may sound obvious or empty, too many details make them sound legalistic and tedious.
Finally, consider the quote at the top of the page about the current state of how software is released into the world and address its ethical implications with examples of both a positive and negative possible outcome from current events.