Computing, in general, and software engineering, in particular, has the risk of causing harm to others and society. The ACM Code of Ethics and Professional Conduct highlights the important responsibilities this risk places on software developers, project managers, other project team members, users, stakeholders, instructors, and students. Starting with a policy that "the public good is always the primary consideration", it presents supporting principles and guidance for understanding and applying them.
Reflect on the ethical principles, professional responsibilities, and professional leadership principles. Which principles apply to you as students in this course and to the authors of this course? What software engineering student responsibilities can you infer from the Professional Responsibilities? What can you do in this course that will prepare and enable you to apply Professional Leadership Principles in the future? In your opinion, will compliance with the code ever be enforced? If so, when?
Compliance With the Code
A computing professional should...
1. Uphold, promote, and respect the principles of the Code.
The future of computing depends on both technical and ethical excellence. Computing
professionals should adhere to the principles of the Code and contribute to improving them.
Computing professionals who recognize breaches of the Code should take actions to resolve
the ethical issues they recognize, including, when reasonable, expressing their concern to the
person or persons thought to be violating the Code.
2. Treat violations of the Code as inconsistent with membership in the ACM.
Each ACM member should encourage and support adherence by all computing professionals
regardless of ACM membership. ACM members who recognize a breach of the Code should
consider reporting the violation to the ACM, which may result in remedial action as specified in
the ACM's Code of Ethics and Professional Conduct Enforcement Policy.