Intro & Overview

Brown CS 2950v course advertisement.
Brown CS 2950v course advertisement.

In Fall 2019, I taught a course called Crypto for Social Good. I didn’t like the name but I had to make a quick decision and that was the best I could come up with at the time. I had a sense of the topics I wanted to cover but I didn’t have a way to capture the essence of the course.

In fact, on the first day of class I told my students:

I’m not exactly sure what this course is about, but we’re going to figure it out.

And we did. What we found is that the course was about the impact of computer science and technology on marginalized groups. The course had a privacy and surveillance bias to it because that’s what I work on, but we had students from a variety of CS backgrounds including AI/ML, robotics and systems so our discussions ended up being somewhat broader (though we unfortunately did not have any students from the social sciences).

My motivation for creating the course was frustration. I have studied computer science for almost 25 years. I have worked on cryptography for over 15 years. I worked at Microsoft Research for 8 years. I spent a year and half on a National Academy of Sciences committee studying the impact of encryption on law enforcement and national security. I went all the way from being a confused undergraduate computer science major to an Associate Professor and, until very recently, I never attended a lecture or had a conversation with other computer scientists about the specific impact that technology has on marginalized groups.

Of course, teaching and research on this subject did exist outside of CS but my point is that I never encountered any computer science work that focused on the experiences of marginalized people. This leads me to believe that, as a field, we don’t really care. At least not in a meaningful way. We write diversity and inclusion statements but we don’t do research or build technologies that address the problems of marginalized communities.

So this is why I created the course. But what is this blog about? During our time together, my students and I read, analyzed and discussed many reports and articles and we thought a lot about computer science’s role (and sometimes absence) in various social problems. We thought about the problems that different communities were facing and whether technology-based solutions even made sense (often they didn’t!). In some cases, we also sketched new technologies that could potentially impact these communities in a positive way. None of these discussions were authoritative. We didn’t come up with any definitive answers; but we weren’t trying to. Our goal was to educate ourselves and reflect. To imagine what computer science would look like if the interests of marginalized people were taken seriously by the field.

I think the results of our work are important and, as far as I know, somewhat unique so this blog will serve as a way to communicate them to those who are interested. I will post summaries and analyses of our readings and, eventually, the research that came out of that.

Posts related to class discussions will be authored as a group named 2950v-XX, where XX will be the course year. I decided on group authorship to protect the students’ privacy and to avoid them being targeted.

For Fall 2020, I plan on broadening the class beyond crypto and on changing the name to “Algorithms for the People”. I feel that it better captures what the course was always about; even if I didn’t realize it at first.