📚 ACM Code of Ethics – Exam-Ready Cheatsheet
Section A | Asma Ma'am
📌 What is the ACM Code of Ethics?
The ACM (Association for Computing Machinery) Code of Ethics and Professional
Conduct expresses the conscience of the computing profession. It affirms an obligation of
computing professionals — both individually and collectively — to use their skills for the
benefit of society.
The Code is designed to inspire and guide the ethical conduct of all computing
professionals, including current and aspiring practitioners, instructors, students,
influencers, and anyone who uses computing technology in an impactful way.
"Computing professionals' actions change the world. To act responsibly, they should
reflect upon the wider impacts of their work, consistently supporting the public good."
The Code was adopted by the ACM Council on June 22, 2018.
🔑 Q1: Write All the Points of the ACM Code of Ethics.
✍️ Exam Answer:
The ACM Code of Ethics is divided into 4 major sections, each containing specific
principles that computing professionals are expected to follow.
Section 1: General Ethical Principles
A computing professional should...
Point Principle
1.1 Contribute to society and to human well-being, acknowledging that all people are
stakeholders in computing
1.2 Avoid harm
1.3 Be honest and trustworthy
1.4 Be fair and take action not to discriminate
1.5 Respect the work required to produce new ideas, inventions, creative works, and computing
artifacts
1.6 Respect privacy
1.7 Honor confidentiality
Section 2: Professional Responsibilities
A computing professional should...
Point Principle
2.1 Strive to achieve high quality in both the processes and products of professional work
2.2 Maintain high standards of professional competence, conduct, and ethical practice
2.3 Know and respect existing rules pertaining to professional work
2.4 Accept and provide appropriate professional review
2.5 Give comprehensive and thorough evaluations of computer systems and their impacts,
including analysis of possible risks
2.6 Perform work only in areas of competence
2.7 Foster public awareness and understanding of computing, related technologies, and their
consequences
2.8 Access computing and communication resources only when authorized or when compelled
by the public good
2.9 Design and implement systems that are robustly and usably secure
Section 3: Professional Leadership Principles
A computing professional, especially one acting as a leader, should...
Point Principle
3.1 Ensure that the public good is the central concern during all professional computing work
3.2 Articulate, encourage acceptance of, and evaluate fulfillment of social responsibilities by
members of the organization or group
3.3 Manage personnel and resources to enhance the quality of working life
3.4 Articulate, apply, and support policies and processes that reflect the principles of the Code
3.5 Create opportunities for members of the organization or group to grow as professionals
3.6 Use care when modifying or retiring systems
3.7 Recognize and take special care of systems that become integrated into the infrastructure
of society
Section 4: Compliance with the Code
A computing professional should...
Point Principle
4.1 Uphold, promote, and respect the principles of the Code
4.2 Treat violations of the Code as inconsistent with membership in the ACM
🔑 Q2: Explain Some Points of the ACM Code with Examples.
✍️ Exam Answer:
The following are key points from the ACM Code of Ethics explained with real-world
examples relevant to computing professionals:
1.1 – Contribute to Society and Human Well-being
Computing professionals must ensure their work benefits not just their clients or
employers, but society as a whole. All people — regardless of background — are considered
stakeholders in computing.
Example: A software engineer developing a healthcare app ensures it is accessible to
people with disabilities and works on low-end devices so that underprivileged
communities can also benefit. Rather than building only for high-income users, the
engineer considers all people as stakeholders.
1.2 – Avoid Harm
Computing professionals must take deliberate steps to avoid causing physical,
psychological, financial, or societal harm through their work. If harm is unavoidable, it must
be minimized and disclosed.
Example: A developer building a social media recommendation algorithm identifies
that the algorithm may promote harmful content to vulnerable users. Instead of
ignoring it, the developer reports the issue and works on filters to minimize harm —
even if it slows down engagement metrics.
1.3 – Be Honest and Trustworthy
Computing professionals must be transparent and honest in all professional
communications. They must not misrepresent data, capabilities, or system behavior.
Example: A software engineer testing a product discovers a critical bug before launch.
Instead of hiding it to meet the deadline, the engineer honestly reports it to the team,
even though it delays the release. Honesty ensures the product is trustworthy.
1.4 – Be Fair and Take Action Not to Discriminate
Computing professionals must ensure their systems and decisions do not discriminate
based on age, gender, race, religion, disability, or any other characteristic.
Example: A team building an AI-based hiring tool discovers that the model is biased
against female candidates because the training data was skewed. A responsible
engineer identifies this bias and corrects the model to ensure fair evaluation of all
candidates — regardless of gender.
1.5 – Respect Intellectual Property
Computing professionals must respect the creative and intellectual work of others —
including copyrights, patents, trademarks, and open-source licenses.
Example: A developer wants to use a library in their commercial project. Instead of
copying the code without permission, they check the license terms, find it requires
attribution, and properly credit the original authors in their documentation.
1.6 – Respect Privacy
Computing professionals must protect the privacy of individuals. Personal data should only
be collected when necessary and must be safeguarded against unauthorized access.
Example: A software company collects user location data for a delivery app. A
responsible engineer ensures that only the minimum necessary data is collected, that
users are informed and give consent, and that the data is encrypted and never sold to
third parties.
1.7 – Honor Confidentiality
Computing professionals must respect confidentiality agreements and must not disclose
private or sensitive information without proper authorization.
Example: A software engineer working at a company has access to the company's
database containing client information. Even after leaving the job, the engineer must
not share or misuse that confidential information — honoring the trust placed in them.
2.1 – Strive for High Quality
Computing professionals must deliver work of high quality — in both the process (how
they work) and the product (what they deliver).
Example: A developer writing code for a banking application does not just make the
code "work" — they write clean, well-documented, thoroughly tested code that is
maintainable and reliable. Quality here directly affects the financial security of
thousands of users.
2.2 – Maintain High Standards of Competence
Computing professionals must continuously update their skills, stay current with
technological developments, and maintain ethical standards in all aspects of their work.
Example: A cybersecurity engineer regularly attends workshops and certifications to
stay updated on the latest threats and countermeasures. Rather than relying on
outdated knowledge, they invest in continuous learning to maintain professional
competence.
2.5 – Give Comprehensive Evaluations Including Risk Analysis
Before deploying a system, computing professionals must provide thorough evaluations of
its potential impacts, including identifying and analyzing possible risks.
Example: Before launching an autonomous vehicle software update, an engineer
conducts a comprehensive risk analysis — considering edge cases like sensor failure in
bad weather. This evaluation prevents potential accidents and protects both users and
society.
2.6 – Perform Work Only in Areas of Competence
Computing professionals must not take on work that is beyond their expertise without
acknowledging the limitations and seeking appropriate help.
Example: A web developer is asked to build an embedded system for medical devices.
Recognizing this is outside their area of expertise, they inform the client and
recommend bringing in a hardware and embedded systems specialist, rather than
attempting the work and risking patient safety.
2.8 – Access Resources Only When Authorized
Computing professionals must only access computing and communication resources when
they have proper authorization — or when genuinely compelled by the public good.
Example: A system administrator has administrative access to the company's email
server. Even though they technically can read employee emails, they must only do so
when officially authorized — never out of personal curiosity. Unauthorized access
violates both the Code and potentially the law.
2.9 – Design Secure Systems
Computing professionals must design and implement systems that are secure against
unauthorized access, data breaches, and misuse.
Example: A backend engineer developing a login system implements multi-factor
authentication, encrypted password storage using hashing algorithms, and rate-
limiting to prevent brute-force attacks. These measures ensure the system is robustly
and usably secure.
3.1 – Ensure Public Good is the Central Concern
Leaders in computing must always prioritize the public good above organizational profit or
personal gain when making professional decisions.
Example: A CTO of a tech company is asked to implement a feature that would
generate significant revenue but would compromise user privacy. The CTO refuses and
redirects the team to find a privacy-respecting alternative, putting the public good
above profit.
3.6 – Use Care When Modifying or Retiring Systems
When updating or shutting down systems — especially those people depend on —
computing professionals must plan carefully to avoid disruption.
Example: A government IT team retiring an old citizen records system must ensure all
data is safely migrated, users are notified well in advance, and the transition causes
minimal disruption to services that citizens rely on daily.
3.7 – Take Special Care of Systems Integrated into Society
Systems that become part of society's core infrastructure — such as banking systems,
healthcare platforms, or communication networks — require special attention and care.
Example: An engineer managing a national power grid monitoring system
understands that any failure could affect millions of people. They implement
redundancy, regular audits, and rigorous update protocols to ensure the system remains
stable and secure.
4.1 – Uphold and Promote the Code
Computing professionals must not just follow the Code themselves, but also actively
promote and advocate for it within their professional communities.
Example: A senior software engineer at a company notices junior developers are
unaware of ethical coding practices. Instead of staying silent, they organize a workshop
on the ACM Code of Ethics, promoting a culture of ethical awareness within the team.
4.2 – Treat Violations as Inconsistent with ACM Membership
Any violation of the ACM Code of Ethics is considered incompatible with being a member
of the ACM. Professionals must take violations seriously and address them.
Example: A computing professional discovers that a colleague has been accessing user
data without authorization. Rather than ignoring it, they report the incident through
appropriate channels — recognizing that such behavior is a direct violation of the Code
and inconsistent with professional standards.
📋 Quick Summary Table – All ACM Code Points
Section # Principle (Short Form)
1. General Ethics 1.1 Contribute to society & human well-being
1.2 Avoid harm
1.3 Be honest and trustworthy
1.4 Be fair, no discrimination
1.5 Respect intellectual property
1.6 Respect privacy
1.7 Honor confidentiality
2. Professional Responsibilities 2.1 Achieve high quality
2.2 Maintain high professional standards
2.3 Know and respect existing rules
2.4 Accept and provide professional review
2.5 Give thorough evaluations including risk analysis
2.6 Work only in areas of competence
2.7 Foster public awareness of computing
Section # Principle (Short Form)
2.8 Access resources only when authorized
2.9 Design secure systems
3. Leadership Principles 3.1 Prioritize public good
3.2 Encourage social responsibility in organization
3.3 Manage resources to enhance quality of working life
3.4 Apply and support Code-aligned policies
3.5 Create professional growth opportunities
3.6 Use care when modifying/retiring systems
3.7 Take special care of society-integrated systems
4. Compliance 4.1 Uphold and promote the Code
4.2 Treat violations as inconsistent with ACM membership
📝 The ACM Code was adopted on June 22, 2018. Full version:
[Link] 📝 For exam: Learn all point numbers + short
forms. For "explain with example" questions, use the examples above — keep them
concise and to the point.