CompSci 307
Fall 2022
Software Design and Implementation

Weekly Journal : Applying Professional Code of Ethics

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).

Submitting Your Work

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.

Specification

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.