Good for whom? Activities for CS teachers and students to discuss implications of automation

Do we actually teach this part of the standard? As teachers, are we prepared to talk about the implications of automation?

Kenny Graves, an Ethics & Technology Coordinator at the Ethical Culture Fieldston School and Math for All leader, shared two CS activities co-developed with public school computer science teachers. These activities serve a dual purpose:

They can be used in an adult professional development setting to give adults the space to self-assess their readiness to teach about the impact of computer science with attention to identity, diversity, and social justice; and

The lessons can be used directly with students in computer science classrooms to begin normalizing the practice of considering the impact of an algorithm before jumping right into the creation of the program.

Activity 1: Adaptation of the classic pseudocode activity (KG)

In groups, in no more than 10 steps, write a set of pseudocode instructions that leads an individual to the closest restroom. Assume that the individual will only do what you tell him/her/them to do.

After people first write their instructions, note that most algorithmic instructions will not work for everyone. Have the students themselves come up with who might be unable to use their algorithms. (Asking the question this way helps avoid assumptions about the make-up of your particular group, for example a group of able-bodied, gender conforming individuals, and allows for more inclusive participation. Leaving the question open-ended rather than identifying specific groups increases opportunities for students to brainstorm and enables local language and culture to be included (and potentially addressed) more easily.–Thank you to Kate Fractal for the feedback to improve this portion of the activity.)

To what extent did your instructions change? How can we learn more about the needs of the groups you identified? For whom did you write your algorithm: yourself or others? How does the perspective from which you write code influence the input and output.

Algorithms are not just about writing a good set of instructions (CS4All Blueprint). We need to ask, “Good for whom?”

Post navigation

4 Thoughts

Thank you for tackling this topic! I really appreciate the way you highlight that algorithms do not fit the needs of every individual person.

I see a lot of potential in restroom pseudocode activity for learning as it is readily approachable by wide audiences. I am also concerned that as written, there is also the potential for people being hurt. In the part of the lesson where people are asked “how you would modify the instructions”, I see an assumption that the people engaging with it are able-bodied and cisgender / gender conforming. Students who themselves fit in these categories, or have friends or family members who do, may have already taken some of these considerations into account.

People face pressure to present as conforming, which means instructors may be unaware of the identities in their classes. In any general education envirnoment, an inclusive assumption is that members of minority groups may be present even when they are not visible.

I would like to suggest some elements to add that could help avoid this assumption.

After people first write their instructions, note that most algorithmic instructions will not work for everyone. Have the students themselves come up with who might be unable to use their algorithms. In addition to the groups orginally identified, some other groups that might be left out include young children or people who don’t read English. There are likely other groups that neither of us have thought of as well. Asking this question increases opprotunities for students to brainstorm and enables local language and culture to be included (and potentially addressed) more easily.

During the process of modifying instructions, another useful question is “how can we learn more about the needs of these groups?”, while recognizing that minority groups have a diversity of needs and desires within them. For example, some non-binary people may want to go out of their way to use a non-gendered restroom. Others might care more about convinenence and use whichever restroom is closest.

Implicit assumptions are something we all deal with. I hope my suggestions are taken in their intended tone of friendly collaboration.

Kate, I really appreciate your thoughtful feedback and have updated the post to address both the assumptions that people dealing with the content are gender conforming and/or able bodied, as well as the othering baked into the lesson by people who aren’t in those groups. I 100% take your comment in the spirit it was intended, and very much recognize there are assumptions and biases of my own that I’m unable to see–your pointing them out helps me immensely. I am deeply committed to this work, and I can’t do it well if I’m othering or marginalizing people along the way.
Please let me know if the changes addressed the assumptions baked into the original one.

First of all, I’d like to thank you for doing the work of raising awareness about the implications that code and algorithms have on the day to day lives of marginalized groups.

As a gender non-conforming person, I would like to request that the language of “identifies as” be dropped. I’ve never heard the terminology “identifies as” applied to cisgender (gender conforming) individuals, and thus it often serves to minimize or invalidate the experiences of those who are non-binary, genderqueer, neurogender, etc.

Ari, thank you so much for pointing out the error. There were other issues pointed out by another commenter that I addressed with an edit of the entire section.
As a gender conforming person, I appreciate you taking the time to help me see my own biases and will make sure to have an explicit conversation with my team about your comment.

Some of you may have heard about the "Social Justice and Computer Science" class that I've been working on @RPI with faculty, graduate students, and undergrads. I'd like to present some of the content we've taught this semester: #ethicalCS #STS #DH

Very excited for the opportunity to rethink and redesign our CS 1 course this summer via a @BucknellU curriculum grant. I'll be shifting the motivation of the course towards societal impact (#ethicalCS), design & creativity, and critical interrogation of data. More soon!