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

Ethical reasoning is an essential skill for today’s computer scientists. The Embedded EthiCS distributed pedagogy embeds philosophers directly into computer science courses to teach students how to think through the ethical and social implications of their work.

The Embedded EthiCS Mission

Novel computing technologies often improve our lives, but they can also affect them in ways that are harmful or unjust. Facial recognition programs may speed up security lines, but also discriminate against certain populations. Autonomous vehicles may free us from human driver error, but also pose novel risks to human drivers and pedestrians. Today’s computer scientists must learn to design systems that are morally and socially responsible. Embedded EthiCS, a collaborative undertaking of the computer science and philosophy faculties at Harvard, teaches students of computer science how to think through the ethical and social implications of their work.

The Embedded EthiCS Strategy

Embedded EthiCS meets the challenge of making ethical reasoning integral to computer science education with a distributed pedagogy that introduces ethics directly into standard computer science courses across the curriculum. It works by embedding philosophers into courses to teach a module for the course that explores an ethical issue that the course material raises. In a data systems class, the philosopher might explore issues of privacy in large, distributed systems. In a programming languages course, she might ask students to consider ethical specifications as well as functional ones. In a human-computer interaction course, she might explore whether software engineers should design systems that are accessible to visually impaired users. In a machine learning class, she might explore how solving problems using machine learning can lead to inadvertent discrimination. In a networks class, she might explore the issue of censorship on social media platforms.
Explore our open access modules.

The Embedded EthiCS Advantage

The Advantage of the Embedded EthiCS distributed pedagogy over stand-alone courses is:

  1. It shows students the extent to which ethical and social issues permeate virtually all areas of computer science.
  2. It familiarizes students with the wide range of ethical and social issues arising across the field.
  3. It provides students with repeated practice reasoning through those issues, communicating their positions, and designing systems that take into account what they've learned.

History and Evolution of Embedded EthiCS

Grace Hopper and UNIVAC

Overwhelming undergraduate interest spawned Embedded EthiCS. Students in Barbara Grosz’s computer science (CS) course on “Intelligent Systems: Design and Ethical Challenges” clamored for more CS courses to incorporate discussion of ethical issues along with technical computer science content. Grosz enlisted the help of Philosophy professor Alison Simmons in designing a CS-Philosophy collaborative effort to develop an effective, scalable approach for teaching ethical reasoning in the computer science curriculum. A pilot Embedded EthiCS program grew from 4 courses in Spring 2017 to 6 courses (5 new) in Fall 2017. Embedded EthiCS now typically provides modules for 10 courses each semester.

A 2019 CACM article reports on the first 3 semesters experience, including some early lessons learned. Our website has a more current Repository of Ethics Modules. An important component of the successful expansion of the program after the pilot was the creation of the Embedded EthiCS Teaching Lab. We encourage other institutions to join our effort!