Ethics & Responsible Coding
Software you build has consequences for the people who use it, and a professional developer takes responsibility for that impact. This subject covers the ACM Code of Ethics (public interest, avoiding harm, honesty, privacy, non-discrimination), the social impact of software — algorithmic bias, digital inclusion, the environmental cost of computing — and reflecting honestly on the ethical dilemmas you meet in your own project. This subject is about professional duty of care, not the technical security controls covered in Designing & Realising.
Starting Points
- ACM. (2018). ACM Code of Ethics and Professional Conduct.
- ACM. (1997). Software Engineering Code of Ethics and Professional Practice.
- LinkedIn Learning. Responsible AI: Principles and Practical Applications (1h 6m).
- OWASP. Privacy by Design for Web Developers.
Key Points
- You identify at least three relevant principles from the ACM Code of Ethics and connect each to a concrete situation in your studio project.
- You analyse a given feature or dataset in your project for potential algorithmic bias or exclusion and propose a more inclusive approach.
- You reflect on at least one ethical dilemma you encountered during the studio (e.g. data collection, user targeting, accessibility choices) and explain the trade-offs you considered.
- You explain what "privacy as a design value" means and show at least one decision in your project where privacy was considered at design time, not as an afterthought.
- You describe the environmental cost of software infrastructure (energy use of servers, AI model training) at a basic level and mention one way to reduce your project's footprint.