Module Evaluations

With funding from the Mozilla Foundation Responsible Computer Science Challenge, we had a panel of experts evaluate over forty teaching modules that can be used in teaching Responsible Computer Science, understood in the broadest possible terms. 

Responsible CS module evaluations based on criteria we developed.

Each of the evaluations is intended to help an instructor know what they need to consider before adopting the module. Our hope is that the guidance makes adopting a module more likely and that instructors who want to expand their students’ exposure to Responsible Computer Science can do so more easily and more confidently. Below we provide some general advice for more effectively incorporating Responsible Computer Science into the teaching of Computer Science.

When it comes to responsible computing, taking time out of the normal rhythms of CS education to explore cultural, philosophical, and sociopolitical issues can be a good thing. It offers students the opportunity to stop and reflect at a deep level and to reconsider their assumptions. But because class time is limited, an in-depth module may not be optimal or even possible for your course. Yet, there are modules we evaluated that engage responsible computing in ways that open the conversation without disrupting the delivery of core material.

Because so much of computing culture treats social and ethical concerns as ancillary, teaching responsible computing requires more than just transmitting ethical concerns: it is necessary to reorient students, on a fundamental level, toward caring about the impact computing has on others. Effecting this kind of fundamental reorientation, however, can feel daunting for instructors who are unfamiliar with teaching non-technical subjects.

Many of these modules are accompanied by supplemental material to support instructors in making this move. By reading further about each given module, you better equip yourself to teach something you wouldn’t otherwise feel comfortable taking on.

Modules that integrate coding and design work with social and ethical reflection can be a great way to get students thinking about how all their decisions have ethical stakes. Many of the Computer Science 0, Computer Science I, and Computer Science II modules we have evaluated do just that. Framing discussion so that students see the ethical and social concerns as integral to the technical material, students are more likely to see the broader impacts of their work as professionals. As a Computer Science student matures through an RCS-focused curriculum they move from learning how to talk about RCS issues in the context of software through to deep analysis and decision making on controversial issues. Different modules are appropriate for different stages.

Ethical theory and social theory from other fields can be a great way to help your students expand and enrich the way they see the world and can equip them with concepts and language for describing and analyzing what they see. But it takes some knowledge (or support) to teach these subjects and some time for students to learn it. That’s why we advocate for two things. First, there are faculty in disciplines such as sociology, philosophy, cultural studies, and psychology, who have that knowledge and may be willing to collaborate. Seek them out and learn from them. Second, consider adding a Responsible Computer Science module to courses at all levels of the curriculum. Doing these things lays a foundation that makes such discussions, especially with people who are not computer scientists, part of the practice of computing. There is value in having students learn how to have discussions about the impact of technology. These conversations, especially when they involve students from different academic backgrounds, help Computer Science students better understand how to draw on outside expertise for problems that they do not understand. Further, it helps students outside of Computer Science understand the role they have to play in analyzing the impact software has on people and social structures.

Finally, if you do decide to adopt any module advancing Responsible Computer Science, please let the creator of the module know and give them credit. It’s the responsible thing to do.

The materials here were developed by Patrick Anderson, Emanuelle Burton, Judy Goldsmith, Colleen Greer, Darakhshan Mir, Jaye Nias, Evan Peck, and Marty J. Wolf. These works are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.