Embedded ethics at Harvard: Harvard: bringing ethical reasoning into the computer science curriculum.

Embedded EthiCS @ Harvard: bringing ethical reasoning into the computer science curriculum.

Development of Course Modules

Course modules are developed in the Embedded EthiCS Teaching Lab.
In this weekly seminar our team of graduate and postdoctoral fellows collaborate with one another to develop and refine course modules, identify pedagogical challenges and strategies for addressing them, and research topics of mutual interest in computer ethics.

Goals of Course Modules

The Embedded EthiCS course modules teach students to...

Student meeting

identify ethical and social issues

Student discussion

reason through ethical and social issues

Student discussion

communicate their reasoned position

Student design session

design ethically and socially responsible systems

Past and Present Course Modules

Our graduate and postdoctoral fellows have developed Embedded EthiCS modules for more than twenty computer science courses at Harvard.

See the full list of module topics

Repository of Open Source Course Modules

These modules are made available under a Creative Commons Attribution 4.0 International license (CC BY 4.0).
Please see each module for copyright and attribution information for that module.
Course Course Level Module Module Author
CS 1: Great Ideas in Computer Introductory undergraduate Electronic Privacy Diana Acosta-Navas
CS 61: Systems Programming and Machine Organization Introductory undergraduate ASCII, Unicode, and the Ethics of Natural Language Representation Cat Wade
CS 124: Data Structures and Algorithms Upper-level undergraduate How can we design models that allocate goods and services fairly? Cat Wade
CS 134: Networks Upper-level undergraduate Facebook, Fake News, and the Ethics of Censorship David Gray Grant
CS 145/245: Cloud Networking and Computing Upper-level undergraduate and graduate The Ethics of Cloud Security Cat Wade
CS 152: Programming Languages Upper-level undergraduate Ethics in Software Verification and Validation David Gray Grant
CS 161: Operating Systems Upper-level undergraduate Ethical Tradeoffs in System Design: Performance versus Correctness Kate Vredenburgh
CS 165: Data Systems Upper-level undergraduate Privacy in the Design of Data Systems Kate Vredenburgh
CS179: Design of Useful and Usable Interactive Systems Upper-level undergraduate Ethical Perspectives on Accessible Video Game Design Cat Wade
CS 181: Machine Learning Upper-level undergraduate Discrimination and Machine Learning Kate Vredenburgh
CS 189: Autonomous Robot Systems Upper-level undergraduate Robots and work Kate Vredenburgh
CS 236: Topics at the Interface of Economics and Computer Science Graduate Interpretability and Explanation Kate Vredenburgh
CS 263: Systems Security Graduate The Ethics of Hacking Back David Gray Grant
CS 265: Big Data Systems Graduate Electronic Privacy and Big Data Systems Diana Acosta-Navas
CS 287: Natural Language Processing Graduate Bias and Stereotypes in Word Embedding software Diana Acosta-Navas


Completed module

In progress module