Teaching Responsible Computing Playbook

Teaching Responsible Computing Playbook

Difficult Conversations

Authors: Seny Kamara

When performing a deep dive into responsible computing, it is critical to have conversations about topics including but not limited to race, gender, structural inequalities, and violence. The reason for that is when talking about responsible computing, one is talking about the role of computing in society, and talking about society is messy and difficult (as is life in general). This section focuses on classes that are (i) primarily discussion/reading based (so not required introductory courses though we address such class very briefly later in the section) and (ii) taught to primarily computing majors (i.e. the students might not have the required background or training to talk about difficult topics).

With the rise of the MeToo and Black Lives Matter movements, there have been hard conversations about gender and race in the classrooms. Or perhaps more accurately, students are more aware of these issues (and some of them have also been highlighted due to COVID-19). This coupled with the negative media coverage of computing exacerbating existing societal inequalities, means that more (computing) students are interested in how computing interacts with hard societal questions. Thus, by including meaningful, hard conversations about these topics, one can facilitate student learning on issues that will only become more urgent as time goes on.

On the other hand, the repercussions of a hard conversation gone wrong means that many instructors shy away from such topics. Highlighting certain challenges that an instructor should pay attention to may aid such conversations in a class discussion (as well as why similar situations may not arise in a core/traditional computing course).

The first challenge is that most students do not know the context and history of issues such as race in the United States. Further, given the current setup of computing curricula, it is unrealistic to assume that a computing major would know as much of the context and history of racial issues as a history major. The reason this is problematic is that one cannot have a meaningful discussion about race without having proper context and knowledge of history. Thus, the instructor has to make extra effort to provide proper context and history about the topic(s) being discussed. See the related section on Structured Ways of Thinking about Computing and Society for more on this.

The second challenge is that the lived experiences of students are different. This means, for example, when talking about bias in policing, the assumptions about police can vary significantly based on a student’s race, which in turn could spark fundamental and heated disagreements on the basic tenets of the discussion. In non-introductory core computing courses, the assumption is that since all the students have taken the required prerequisite course(s) they have a similar level of background knowledge/view of the relevant topics. However, this is not the case when talking about the lived experience of students in the US. The instructor has to take this disparity into account when planning the discussions. See the related section on Discussing Justice and Equity for more on this.

The third challenge is that some of the topics (for example, human trafficking or genocide in Myanmar) could be hard for some students to talk about. Or, if directly confronted with these issues, students might still lack the sophisticated critical thinking skills required to have meaningful discussions about these important topics. Thus, the instructor has to create an environment where the students can have meaningful conversations about these charged issues.

Finally, the instructor themselves might not have the necessary background/expertise to talk about some of the issues that they still want to discuss in the class. In such a case, the instructor's job is to figure out how to bring in the required expertise from outside of the classroom.

Key Questions:

  • Is the target for difficult conversations a small discussion-based course or is it a lecture-based computing course? The rest of the key questions will assume a discussion-based course. Having a meaningful conversation in a large core computing course can be hard (due to such courses typically being first-year or sophomores who may not have the experience to talk about such issues or just the sheer class size). However, the course could have some initial discussion about responsible computing in general and can give students “heads up” on what might come in future courses. Or it can followup with reading that can give students more insight into the tricky issues.
  • Is there a plan to set up the context/history of the topic of an in-class discussion? Given that computing majors might not be aware of history (or international students might know the basics of say US history), the instructor needs to make sure that the students get to know the proper context (e.g. when talking about atrocities committed by humans it is useful to know the history and “backstory” of why things got bad). This can be done e.g. by assigning appropriate readings that students have to complete before coming to class. It is important to humanize the events and to be respectful of the affected people. This means the instructor has to put in the hard work before class to educate themselves and understand the context and history of the topics being discussed.
  • What is the plan to handle potentially tricky issues of morality and/or politics? Computing students (and faculty) tend to get uncomfortable when talking about morals and personal issues. While one could try to think of topics related to responsible computing where the goal is to talk about pros and cons of computing without talking about morals or values, in many cases it cannot and should not be avoided. While care must be taken to not to talk in a deterministic manner, these important discussions can be facilitated by setting the proper context (see the above question) and by scheduling topics in an order that makes such discussions easier (see the sixth question below). Politics is another tricky topic especially in the United States where it is essentially equated to conflict between Democrats vs. Republicans or Conservatives vs. Liberals. However, for most discussions of responsible computing, politics is more relevant in terms of the historical context or explaining existing power structures and policies (and these topics should not be avoided).
  • What is the plan to handle the different lived experiences of the students? Differing lived experiences means that students could lead to situations where say a White student would tell a Black student that they are overreacting when talking about police brutality. Part of the instructor’s job is to cut-off the standard comments from students who do not have the relevant experience but still talk over students who have a differing view of things. This can be handled when assigning reading assignments to address most of these issues (which are generally not that hard to predict) and point out why such questions/comments can be misguided. On the other hand, there should be room for students to make mistakes while participating in these discussions. An instructor should be able to educate such students in a non-judgemental way and also prevent other students from “ganging up” on someone who might end up saying something stupid because they did not think through their arguments. Finally, the instructor should take care to not expect students to more actively participate in discussions whose lived experiences might be more relevant (e.g. the instructor should not expect the Balck students to lead discussions about race).
  • What are the norms for discussions? It is important to set up the norms around class discussions, including expectations of what is OK and what is not. E.g. it is important to emphasize that everyone should be respectful of others, and to critique what students are saying but refrain from personally criticizing the person.
  • What is the plan to create an environment where the discussions about especially charged topics can proceed in a meaningful way? As noted earlier most computing students will not have the training or background to properly process some of the more charged topics. One way to handle this is to start with topics/readings that are a bit detached from topics that are directly relevant to students’ lives (e.g. by picking a technical topic that students would not be very familiar with) and/or are sufficiently far back in history that students can think about as an “outsider.” As the course goes along, the topics can become more challenging (leaving the most challenging topic for last since hopefully by then the students in the course would be better prepared to handle that topic). Note that at some level, these are how “traditional” courses are structured where the harder topics are left for the end of the course and the initial parts of the course are used to prepare students for the later topics. Another option is to let students opt-out (e.g. not submit a writeup if that is required after completing the reading assignment) if they think they do not have the mental space to engage with a topic.
  • What is the plan to handle topics where the instructor might not have the required background/expertise? One option would be to screen a relevant movie or video about the topic. However, care must be taken in picking such a movie/video as sometimes the video/movie might not present all the relevant views. Another option is to bring in an expert into the class: this expert could be a colleague from another department whose research area is closely aligned with the topic being discussed or it could be an activist in a relevant area.
  • What if there does not exist a perfect resource? What if the instructor cannot find a resource that takes all the relevant viewpoints into account or is problematic in some fundamental ways? In such a case, it is OK to use the resource as long as the instructor communicates with the students clearly about the issues with the resource (this can be thought of as setting the proper context).


☐ Identify the target course for the difficult conversations.

☐ Set up proper context/history on the topics for the students before they come to class.

☐ Identify ways to handle issues of morality/values and/or politics.

☐ Identify ways to handle (potentially diametrically opposing) lived experience of the students.

☐ Setup norms for discussions in the course.

☐ Setup a supportive environment for the students including paying attention to the progression of topics.

☐ Identify ways to compensate for the instructor’s lack of expertise/background in the discussion topic.

☐ Identify ways to scaffold a resource that could be problematic in parts.


Brown University

At Brown University, we created a new course called Algorithms for the People, which specifically looks at how technology affects marginalized communities (also see the accompanying blog as well as the related talk Crypto for the People). This is a discussion-based course where students are given weekly assignments (students have to submit a report and participate in an in-class discussion). Students also have to present a research paper and do a project. This is an elective and students tend to self-select when they register for the course. An important piece of information to keep in mind is that students at Brown tend to skew liberal.

Check-list walkthrough. We now give a quick walkthrough of the check-list items to show how they were resolved at Brown. (Warning: The checklist above did not exist when the effort was started so the mapping might not be perfect. However, the hope is that this gives an example of how you might go about using the checklist.)

  • Identify the target course for the difficult conversations.
  • Set up proper context/history on the topics for the students before they come to class.
  • Identify ways to handle issues of morality/values and/or politics.
    • We avoided reading assignments that took an explicit moral stance or came across as proselytizing. E.g. the first reading in class is titled The Moral Character of Cryptographic work, which in spite of the word “Moral” in the title does not come across as a screed and actively tries to engage the reader who might disagree with the thesis of the paper (which is to argue that (theoretical) cryptographers have a responsibility to consider the societal implications of their work). The paper defines a framework to think about various issues and connects the present issues with historical precedent like implications of working on a nuclear bomb.
  • Setup a supportive environment for the students including paying attention to the progression of topics.
    • The first reading is on the paper The Moral Character of Cryptographic work The earlier part of the course talks about historical events where there is documentation that details what exactly happened, so that no ambiguity about the sequence of events), e.g. the COINTELPRO, where the Church report details what happened in surveillance of protest movements from 1956 to 1971. Then towards the backend of the course, we cover the topic of mass atrocities in Myanmar. In addition in advance of particularly sensitive topics, we have allowed students the option to not submit their report on the reading assignments. Students have taken up on this offer citing the lack of mental space to think about tricky issues.


Related Pages

Authors and Contributors

Image of Seny Kamara

Seny Kamara (author)