Link to module

Evaluated December 2021

This module draws upon the mediation theory of technology developed by Peter-Paul Verbeek to explore the ethical aspects of design in computer science. Through reading, discussion, small group work and applied exercises, students will develop conceptual and practical knowledge about ethical design practices in their field.

This is a two-stage module. Part A is a reading-and-discussion type lecture, similar to a philosophy course, organized around an important article in the philosophy of technology. Part B is a group exercise in description and analysis that enables students to apply the concepts of the article to thinking critically about the technologies around them. This part of the lessons can be taught in several ways, across either one or two class meetings: the accompanying instructors’ guide provides several thoroughly described options for different ways to incorporate the module’s two parts, either separately or together.

It addresses knowledge area Software Engineering/Software Design. This module could be effectively used in any course that has a major software project, especially Computer Science II, Data Structures, Algorithms, Human Computer Interaction, Software Engineering and Software Design.

This module comes packaged up to be dropped directly into a course, with little to no outside labor, planning or expertise required of the instructor (beyond familiarizing herself with the material provided). It is designed to function as a standalone lesson (or pair of lessons) to slot into a technical course. It is highly structured, and this structure includes space both for small-group discussion among students and for some full-class discussion led by the instructor. The module comes with an extensive instructors’ guide that is designed to be a comprehensive support document; no prior/outside knowledge of Peter-Paul Verbeek is required.

It is important to note that this guide is conceptually dense and presumes a higher-than-average comfort with and fluency in philosophy. (That being said, much of this conceptual density is effectively captured in tables and charts, which might prove helpful to educators grounded primarily in CS.) An instructor wanting to take this module further may develop additional exercises that consider social disparities or structural injustices. Instructors ought to be careful to note that this module promotes one particular (white male) philosopher and arguably perpetuates the Great Men of Ideas ethos that undergirds so much of the Silicon Valley mythology of visionary geniuses. Another point requiring care comes in the second part: by requiring students to pass binary moral judgment, the module risks a solutionist turn, but this can be mitigated by instructors pushing the students to observe and submit to evaluation, the criteria they use to reach their own moral judgments.

This module is most likely to appeal to students (and instructors!) with at least a recreational interest in philosophy. Students whose core education has not required them to read or engage with philosophy will require additional guidance and support. No specific background is required, but the conceptual abstractions on which P-P Verbeek’s mediation theory relies does not overlap particularly with the abstractions that are fundamental to computer science.

The module is organized around a descriptive theory of how humans interact with technology; insofar as that theory connects and makes sense, every student is likely to find this material helpful for thinking about their own everyday encounters with technology and quite possibly their own work in building and design. The article-centered part of the module, if taught on its own, risks remaining overly abstract for many students, but the second part offers a helpful complement to make this theory more concrete, especially because it enables to students to think upward from their own experience.

Like many ethics modules, the “deliverable” here is an experience for the students, rather than any sort of material for an instructor to evaluate. Should an instructor need to assess part of the assignment, they will need to develop the assessment tool.


The evaluation of this module was led by Emanuelle Burton and Marty J. Wolf as part of the Mozilla Foundation Responsible Computer Science Challenge. Patrick Anderson, Judy Goldsmith, Colleen Greer, Darakhshan Mir, Jaye Nias and Evan Peck also made contributions. These works are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.