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

Embedded EthiCS @ Harvard: bringing ethical reasoning into the computer science curriculum.
Course Modules / CS 146: Computer Architecture

Repository of Open Source Course Modules


Course: CS 146: Computer Architecture

Course Level: Undergraduate

Course Description: "The class will review fundamental structures in modern microprocessor and computer system architecture design. Tentative topics will include computer organization, instruction set design, memory system design, pipelining, and other techniques to exploit parallelism. We will also cover system level topics such as storage subsystems and basics of multiprocessor systems. The class will focus on quantitative evaluation of design alternatives while considering design metrics such as performance and power dissipation."

(Course description )

Course instructor: David Brooks

Module Title: Computer Science and Climate Change

Module Author: Cat Wade

Semesters Taught: Fall 2019-2020


climate change phil
normative vs. descriptive statements phil
distributive justice phil
moral responsibility phil
the difference principle phil
hardware CS
processing power CS
energy CS
architecture CS
geoengineering both

Module Overview:

This module opens with an overview of some statistics pertaining to climate change and technology use and development. With the stakes in place, we turn to clarifying the distinction between: (a) normative questions and statements; and (b) descriptive questions and statements (see annotation 1). The rest of the class then draws on the students’ assigned reading which details five ethical issues pertaining to climate change. These are: skepticism about climate change, past emissions, future emissions, adaptation (adapting rather than preventing climate change), and direct intervention (geoengineering). In their homework assignment, the students are asked to read the assigned paper and restate each of the issues discussed in the form of a primary normative question (see annotation 2). The student responses are then used to guide class discussions through each of these topics. In particular, students are asked to identify which arguments and counterarguments to their normative questions they find most compelling and why. These sections are, therefore, highly student driven. After first thinking in small breakout groups, the students come together as a class to discuss the arguments for and against the normative questions they have identified. During the class discussions, the Embedded EthiCS TA writes the criteria students are using to evaluate arguments on the board. Once all five topics and associated normative arguments are evaluated, the TA asks the students to consider these criteria as a whole and identify any recurring patterns (see annotation 3). The TA then asks students to think of ways in which these criteria might apply to other ethical issues in CS. The module ends by picking up on one specific normative question raised in the ‘future emissions’ section and delves a little deeper: if environmental impact is a burden to be shared, how ought we to distribute this burden? To help adjudicate between some of the many options presented in the assigned reading, Rawls’ Difference Principle is presented as a possible means of choosing a path forward.

  1. The purpose of introducing the normative/descriptive distinction is to help students see the difference between empirical questions such as ‘what would we have to change in order to bring about x’ and normative questions such as ‘should we do such and such to bring about x.’ In the context of climate change, this is an especially important distinction because descriptive and normative statements are often presented simultaneously. In class we pick up and build on the distinction as it has already been introduced in their homework.
  2. The students typically come up with a range of interesting questions, but the most common for each of the topics are:
    Skepticism about climate change – should we try to counteract climate change even when this would incur a cost to those who do not believe in it?
    Past emissions – who should be held responsible for the past emissions that are now contributing to catastrophic climate change?
    Future emissions – who should be held responsible for cutting down future emissions?
    Adaptation – should we be trying to adapt our environment rather than mitigating climate change? (should we be helping the poor and vulnerable now or the poor and vulnerable of the future?)
    Direct intervention – should we be pursuing geoengineering despite the risks it presents?
  3. Some sample criteria: feasibility, how many people an argument would persuade, associated risks and benefits, whether rights have been violated (e.g. right to safety, right to housing etc.).

Connection to Course Material: This course looks primarily at the design, construction and efficiency of computer hardware, including processors, transformers and storage options. As such, energy consumption and economic impact are constant considerations. Considering the environmental impact of different possible design choices is thus a natural further question to ask.


Module Goals:

  1. Give students the opportunity to make and evaluate difficult ethical arguments and to criticize and provide counterarguments to their peers’ positions in a way that is constructive and grounded in sound ethical reasoning.
  2. Introduce students to the distinction between normative and descriptive questions and statements.
  3. Familiarize students with the idea of distributive justice and Rawls’ Difference Principle as well as giving students the opportunity to articulate how this would apply to design and policy decisions.
  4. Empower students to work through papers that present a number of nuanced and often dense ethical arguments by identifying a guiding normative question and seeing how the different arguments pertain to that question.

Key Philosophical Questions:

  • What is a normative question or statement? What is a descriptive question or statement?
  • What criteria do we use when evaluating ethical positions and arguments?
  • What is distributive justice, why should it matter, and what are some possible accounts of what a just distribution is?

Philosophical questions for modules are typically more applied, specific to the technical content of the CS course. For this module, however, the aim is to let student-identified normative questions drive the session. See marginal comments above for examples (in Module Overview).


Key Philosophical Concepts:

  • Distributive justice
  • Intergenerational justice
  • Moral responsibility
  • Positive rights (to safety, housing, etc.)
  • Risk/benefit analysis
  • Normative vs Descriptive questions and statements
  • The Difference Principle (Rawls)

Assigned Readings:

Gardiner, S. M. (2010). “Ethics and climate change: an introduction.” Wiley Interdisciplinary Reviews: Climate Change, 1 (1), 54-66.

• Strubell, E., Ganesh, A., & McCallum, A. (2019). “Energy and policy considerations for deep learning in NLP.” arXiv preprint arXiv:1906.02243

The Gardiner piece was selected for three reasons: (1) it covers a wide range of issues pertaining to climate change, thus, engaging/appealing to a variety of students; (2) it tackles a number of issues without framing those issues explicitly in terms of normative questions so that students can be asked to identify those driving questions for themselves, giving students a sense of ownership over the class discussions; and, finally, (3) it summarizes positions succinctly, providing arguments in favor and arguments against (without coming across as favoring any one position).
The CS professor assigned the Strubell et. al. paper. It is a great fit for the module, as it highlights some of the environmental impacts of architectural design in NLP that students have already touched upon in the course. It also includes a section on policy recommendations in light of these empirical facts, making it an ideal target for ethical analysis.


Class Agenda:

  1. Some statistics concerning climate change and CS
  2. Normative vs. Descriptive questions and statements
  3. 3. Gardiner’s ‘5 areas of discussion’ in ethics and climate change
    1. Skepticism about climate change
    2. Past Emissions
    3. Future Emissions
    4. Adaptation
    5. Direct Intervention
  4. Limited CS resources and just distribution
  5. Concluding discussion

Sample Class Activity:

Students discuss each of Gardiner’s 5 ‘areas of discussion.’ The homework assignment (see below) serves as preparation for this discussion by asking students to identify the primary normative question at stake with each issue. In class, students are broken into small groups to discuss each issue and then reunited to share and discuss as a class. The Embedded EthiCS TA guides the discussion by breaking down the argumentative space. For example, with respect to ‘future emissions,’ after recapping the idea that cutting emissions can be thought of as a kind burden to be distributed justly, the students are presented with the following:

Who should be held responsible for cutting down future emissions?

Option 1: the bigger the past emission, the bigger the future cut

Option 2: every country should cut emissions by the same %

Options 3: the amount the country has to reduce emissions should be proportional to their socioeconomic circumstances

Discuss the 3 options: (a) Find a reason in favor and a reason against each of the options; (b) decide which option you think is the most ethical; and (c) state your position as a normative statement.

This activity builds on skills that students have been practicing in both the first half of the class and in their homework assignment. By the time we get to the activity on Future Emissions, the class has already broken into groups and discussed as a class the previous two issues of Skepticism and Past Emissions (and, importantly, practiced articulating the ethical reasons for and against positions within each issue). Students are encouraged to think both about the reasons raised in the Gardiner paper itself, as well as any additional reasons they might think of themselves. The students are, thus, well-equipped to tackle part (a) of the activity. After each discussion, the Embedded EthiCS TA writes up on the board the kind of criteria the students generated for evaluating these reasons and positions. Students are able to refer to these criteria when answering part (b) of the activity (it is explained that ‘which option do you think is the most ethical’ is to be interpreted as ‘which option do you think is the best supported by ethical reasons’). The task of articulating normative questions in their homework assignment and the explanation of the normative/descriptive distinction at the beginning of class have put students in a good position to tackle part (c) of the activity. Part (c) also allows another chance to see the difference between statements like ‘America has the economic capacity to reduce future emissions’ and ‘America should be made to reduce future emissions (perhaps because they have the capacity to).’

Module Assignment:

The students are assigned the two readings listed above and asked to do the following:

  1. For each of these ethical issues (i.-v.) please do the following:
    1. Restate the issue raised in each section in the form of a normative question, i.e., a question about what we should do1. For example: Should we raise taxes for the rich? Should every citizen be allowed to vote – including the incarcerated? Should we fire people if they disagree with us? Etc.
      Note that normative questions can also take the form of asking who should be held responsible for something2. For example: should you be held responsible for what your kids say and do? Should someone be held responsible for what they do under the influence? (1 sentence)
    2. Using the questions you formulated in response to (a), pick one question and describe in your own words what you take to be the most persuasive answer to that question as found in the text (it can be either for or against the question you formulate) and explain why you take it to be persuasive. (3-4 sentences)
  2. Assume for now that the main ethical question raised in your other assigned reading is: should we reduce the amount of energy required for progress in NLP R&D? Which of Gardiner’s five ethical issues is most relevant to this question and why? (1-2 sentences)
  3. Finally, in the section on direct intervention, Gardiner presents the following position: “Many people, including a number of climate scientists, appear to believe that the attempt to geoengineer is not only risky, but also both an attempt to divert attention from the obligation to reduce emissions, and ultimately a sign of hubris” (63). Using considerations given in the text and/or your own views or intuitions please answer the following:
    Is the attempt to reduce the amount of energy required for progress in NLP R&D vulnerable to similar objections, namely, that it is risky, merely diverting away from some other more pressing or urgent issue, and a sign of hubris? Why/why not? (4-5 sentences)

[Note: the footnotes in the module assignment were part of the assignment itself.]
This assignment plays a number of roles. First, it is designed to help structure the breakout and group discussions that happen in the class (see especially questions 1(a) and 2). Second, it is intended to prime the students to start applying the ethical issues and arguments raised in the Gardiner piece to their course material and to CS issues more broadly. Third, it incorporates both the philosophical and the technical texts that the students were assigned (see especially questions 2 and 3). Fourth, it is intended to guide students through a close reading of the Gardiner piece, which is dense at times (see especially question 1(b)).

1 Normative questions and statements are often thought to contrast with descriptive questions or statements. E.g.: ‘it is wrong that the bank was robbed’ vs. ‘the bank has been robbed’

2 Interestingly, questions of the form ‘who should have to fix this mess’ are often both normative and practical, i.e., sometimes we are not only asking: ‘who should we hold responsible for this mess’ but also ‘who is able to fix this mess?’

Lessons Learned:

In our experience, students are highly participatory throughout the module. The high level of engagement is likely due to: (1) the homework assignment being designed so as to prepare them for discussion; (2) the structured breakout sessions followed by group discussion for each of the ethical issues.

Responses from the students, the CS professor, and TAs were also positive. We believe this is due to the concerted effort to constantly tie the philosophical material to the course material (in both the homework assignment and throughout the module).

Future iterations should aim to improve on time management. When students are extremely engaged and have a lot to contribute, we found that certain conversations had to be cut short and that the discussion of distributive justice at the end was rushed.