| CompSci 308 Spring 2025 |
Advanced Software Design and Implementation |
Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm. — ACM/IEEE Software Engineering Code of Ethics and Professional Practice
This exercise is intended to introduce you to a 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 week07_ethics_code.md, to the individual portfolio_NETID repository provided for you in the course's Gitlab group.
Read the ACM Code of Ethics and Professional Conduct (only about 3500 words!) or review this slide presentation or at least watch this video presenting the highlights (and perhaps this classic cartoon and discussion). Even though the code may sound obvious or empty, too many details make it sound legalistic and tedious and its goal is to present aspirations that challenge the way we act as software professionals.
Critically analyze two 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 by describing five ethical "lines" you feel you definitely will not cross five years into a technical professional career (not necessarily specifically about coding).
AI LLMs, such as OpenAI's ChatGPT, GitHub's Copilot, or the Phind website, can help you generate ideas, create example code, review, refactor, or even debug code. While you are not required to use it, if you do, it would be helpful to share our collective experiences. To that end, going forward, each week's Journal will include a place for you to share how you used ChatGPT in more detail than would typically be found when attributing it within your code or README file. There is also an ED thread tag for ChatGPT. This exercise can also help you reflect on how to use it more deliberately and usefully.