Ethical Reflection Modules for CS 1

While standalone ethics courses are increasingly common in computer science, I found that there are a lack of resources for integrating practice-based (coding!) reflection directly into CS 1 or 2 courses. This space acts as a repository of ethical reflection modules that I have created over the past couple of years. The goal of these modules is to:

  1. Introduce ethical reflection in CS 1 courses
  2. Develop ethical reflection habits alongside coding (all modules involve programming!)
  3. Pair directly with existing CS 1 curriculum (students practice for loops - but instead of practicing on trivial problems, their practice is situated in ethical design scenarios)

By reducing the barrier to adoption, my hope is that ethical reflection can be implemented more broadly in CS curriculum as a critical habit. Please read the FAQ for more information.

(News) Fall 2019: An ethically realigned CS 1

In Fall 2019, Bucknell University is running a redesigned CS 1 in which all core technical topics contain an ethical component. To follow along, please visit the page where I will publicly share some of our content.

Hiring Algorithms: Developers as Decision-Makers

ethical hiring

What does it mean to design a fair algorithm? What is the human cost of efficiency? What systemic advantages/disadvantages are your algorithms likely to amplify?

Input Validation: Developers as Gatekeepers


What assumptions do we make about the people using our technology? What are the consequences of those assumptions? - who might we exclude? How do we capture diversity through design?

Ethical Engine 1: Developers as Definers of Identity


How can we adequately represent people in code? What characteristics of people should we NOT include in code? What are the implications of our representation decisions?

Ethical Engine 2: Developers as Moral Arbiters


What is ‘moral’ behavior in the context of a computer? How do we write code that is forced to assign value to people?

In Progress…

  • Module on data privacy and data ethics
  • Module on algorithm auditing (related to ethical engine)


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License