Course Level
Knowledge Unit
Fundamental Data Structures
Collection Item Type
Other Material Type

In this follow-up to "Embedded Ethics: Pandemic Contact Tracing and Ethical Trade-Offs" [6], students revisit a trade- off they faced in that first module. There, students brainstormed about the rich data one might collect to build a powerful app for contact tracing, discovered that this may facilitate violations of privacy, considered the harms that can come from this, and recognized the trade-off between protecting privacy and gathering data to support the fight against the spread of a disease such as COVID-19.

This second module comprises pre-class, in-class, and post-class activities. In the technical portion of the module, students learn that seeming solutions like anonymization won’t solve privacy concerns. Through a collaborative active-learning exercise, they discover that a policy of limited collection more effectively protects data privacy: if location and private health information are not collected, they cannot be leaked. However, increased privacy comes at the cost of lowered public health protections. In the Philosophy portion of this module, students return to the stakeholders they met in the first module, with a different ethical goal in mind: justifying a design decision to a stakeholder who would have preferred a different ethical trade-off. They practise this through a second collaborative activity and a short, writ- ten, homework exercise. All the elements of this module, and the materials that support them, are described in Section 6.

Together these two modules demonstrate how technical design decisions can be ethically informed. After completing these embedded ethics modules, students will be better prepared to recognize and discuss ethical issues, and take them into account in their design decisions—skills that will be increasingly important to their careers.

ACM Digital Library Entry


Timing of the Modules. This module is designed to be taught after the module "Embedded Ethics: Pandemic Contact Tracing and Ethical Trade-Offs" [6], though it could be adapted to be a stand-alone module.

If teaching this as a stand-alone module, less class time will be required. However, the instructor would need to introduce at least some concepts from the first module, in particular, the concept of an app to help limit the spread of disease, the potential to violate privacy, and the trade-off between protecting privacy and having a more powerful app. This can be done more quickly if the instructor simply teaches these ideas, but may be a less impactful strategy that having students discover the privacy issue themselves, as is done in the first module. Stakeholders can be introduced through the activities in this module, without any prior exposure to that concept.

If teaching both modules, we recommend spacing them out by at least a couple of weeks. This leaves time for stu- dents to ponder potential solutions to the problems raised in module 1 before they are addressed in module 2. It also allows time to grade the homework, so that student answers can be referenced during the lecture (opportunities to do so are pointed out in speaker notes with the slides). Most importantly, separating the two modules avoids giving the impression that ethical design is something students can learn and discard after a single class period. Instead, students are encouraged to continue incorporating ethical thinking throughout the course and in their future work in Computer Science.

If necessary, both modules could be done within the same week, or even within the same class period. If they are combined during the same class period, we’d recommend that the homework from the first module be given as an ungraded solo-writing activity, and the pre-class video for module 2 be shown during class, immediately after the completion of the module 1 material.

Prior Knowledge Needed by Students. This module assumes students are familiar with graph data structures, so it fits well in a CS2 course. To adapt for use in CS0 or CS1, the instructor could represent the data simply as a table and omit any mention of graphs. Alternatively, the instructor could use a graph representation for contact data if they merely introduce the concept of a graph; no graph algorithms are assumed.

Instructional Team. We strongly recommend keeping the same lecturer(s) and discussion leader(s) for both modules, so that they can be aware of what was discussed in the first module, since students will likely refer back to it. (Graders could more easily be changed, especially if they are given a summary of the previous module.) Additionally, if both modules are being taught, there’s even more reason for Computer Scientists to invest in teaming up with Philosophers who are already familiar with the ethical concepts referenced in the modules. But if such a collaboration is infeasible, we’ve included a brief primer (in section 4) on the Philosophical concepts that would be useful background for Computer Scientists teaching both halves of the in-class lecture.

In-class Activities and Homework. All of our recommendations from the first module still apply to this module. To briefly summarize the main points: We recommend keeping the same groups for the technical and ethical active learning activities—though these groups need not be the same as those used in the first module. We also recommend modelling the kind of discussion desired in the Philosophy activity before sending students into their groups, since students are still likely to be less familiar with Philosophical discussions (see demo conversation in the Recording of Lecture video, 18:10-21:00). Collecting answers through a Google form may help to keep students on track during the Philosophy activity and allow the instructors to easily collate and respond to the groups’ answers when students return to full-class discussions. Finally, we recommend grading the homework, giving a small grade incentive and grading mostly on completion. If more grading hours are available, more time could be spent commenting on student answers—either individually, or as a general overview of common successes/mistakes in the homework that can be shared with the class.

Emphasizing Collaboration. Ethical issues in the work-place are often dealt with in a collaborative fashion. Although there is plenty of collaborative discussion in the lecture component of this module, instructors who wish to emphasize this further may wish to require that the homework be done in groups.

Engagement Highlights

This module incorporates several of the NCWIT Engagement Practices [2]:

Like the first module, this module fulfills the Make IT Matter engagement practice, Use Meaningful and Relevant Content, by centering the highly relevant topic of COVID- 19. This module also Makes Interdisciplinary Connections, linking Computer Science to the humanities discipline of Philosophy by inviting students to consider what ethical reasoning could be used to justify a design decision to a stakeholder who would have preferred a different trade-off be made between privacy and public health.

Furthermore, like the first module, this module also embodies the Grow an Inclusive Community engagement practice. All examples and images avoid stereotypes and include representation of diverse social groups. The in-class portion is also highly interactive, incorporating students’ responses into the lecture and including two small-group activities that encourage collaborative learning.

Finally, this second module incorporates the engagement practice Building Student Confidence, by referencing concepts taught and student answers from the first module and homework, acknowledging the progress they have made in ethical decision making, and encouraging them to build upon that foundation when practicing the new skill taught in this module: justification of ethical decisions.

Materials and Links

Computer Science Details

Programming Language

Material Format and Licensing Information

Creative Commons License