A photograph of a display showing a slide titled “Critical Computing Education”, with an iPad hovering above showing Zoom.
This is what an invited talk looks like now.

Encouraging more critical computing: A (virtual) trip report

Amy J. Ko
Bits and Behavior

--

For researchers like myself, one of the major disruptions from the pandemic has been the loss of travel. Most years, I would fly more than 50,000 miles a year, attending 4–5 conferences to share research and network, visiting universities to give invited talks and meet new faculty, and also spending a good amount of time at the National Science Foundation, evaluate proposals by my colleagues. This travel would take me all over the world, including Europe, Asia, Australasia, and sometimes South America and Africa. I’ve always tried to make the most of this incredible privilege to roam, learning about the countries I visited, deeply networking with its scholars, and building on those in-person encounters online. With the pandemic, all of this is gone.

Well, most of it is gone. Over the past month, I’ve had the opportunity to see how well the university visit part of my typical travel translates online. I received four invitations to speak: from the University of Colorado at Boulder’s Department of Information Science (Oct 7), the University of Virginia’s Computer Science department (Oct 21), Carnegie Mellon University’s Human-Computer Interaction Institute (my alma mater, Oct 30), and the University of Pennsylvania’s Computer and Information Science department (Nov 10). All four invites came in the same week, and there was no way I would have said yes to all of them if they’d all involved travel—that would have been 12 exhausting days of travel and visits in 10 weeks during a very busy quarter. But four virtual invited talks, with 1 on 1 meetings with faculty and Ph.D. students? Sure, why not!

I developed a talk based on my lab’s recent CACM viewpoints article on It’s Time for More Critical Computing Education, and the many research projects that we’ve started to explore its ideas. The talk starts with my own journey from CS researcher narrowly focused on developer productivity to more critically conscious scholar investigating how people can see the systems of oppression that code embodies. The talk then discusses some of the outstanding new work by my Ph.D. students that advances ways of teaching these ideas, and ends with several concrete calls to action for faculty and Ph.D. students in CS and related disciplines. You can see the slides or watch the CMU recording.

The recording of my CMU talk.

In addition to the talk, I met 1 on 1 or in groups with more than 70 people. At CU Boulder, I met the entire group of first and second year Ph.D. students after giving my talk. At the University of Virginia, I met Sebastian Elbaum, Seongkook Heo, Worthy Martin, Tom Horton, Daniel Graham, Panagiotis Apostolellis, Kevin Skadron, Mark Sherriff, and Yuan Tian. At Carnegie Mellon I met Mary Beth Kery, Ken Holstein, John Zimmerman, John Stamper, Jeff Bigham, Karen Kornblum, Jodi Forlizzi, Mary Shaw, Motahhare Eslami, Brad Myers, Ken Koedinger, Tianshi Li, Jim Herbsleb, Amy Ogan, Chinmay Kulkarni, Sarah Fox, and a dozen Ph.D. students. At the University of Pennsylvania I met Benjamin Pierce, Clayton Greenburg, Eric Fouh, Harry Smith, Arvind Bhusnurmath, and several Ph.D. students across CS.

Across those 20 or so hours of conversation, I found the same amazing breadth and depth of ideas that I normally find at an in-person visit. We talked about teaching methods for explaining bias in machine learning, the complexities of human-AI interaction, and the foundational skills underlying data programming. We talked about partnerships between research and practice, community-based research, administrative roles, organizational change, power, and activism. We talked about unintended consequences, CS counter narratives, explainability, speculative fiction, algorithm audits, hard conversations about race, the theater of the oppressed, and balancing utopic and dystopic framings of computing. We discussed metacognition, growth mindset, nudging, empathy, perspective taking, and respect in learning and design. We also talked about the recent reduction of many fields of CS toward parameter tuning, the power of simplicity in programming language design, alternative pathways in CS careers, and being queer in academia.

While the topics ranged widely, the most salient thing about across all of these conversations and post-talk Q&A were the reactions that each individual had to my call for more critically conscious CS education. Here are a few common responses I noticed:

Silence. Some faculty and Ph.D. students did not know what to say; I think they had never engaged in talking about oppression, and weren’t really sure how to have a conversation about it, what questions to ask about it, or whether it was relevant to CS. I noticed so many people in meetings forming thoughts, start to talk, and then decide against it, or signal curiosity or pondering with their brows. I didn’t read any of this as disinterest—all of my talks, whether they had 30 people or 100, sustained engagement to the end and through Q&A—but perhaps it signaled discomfort, fear, and uncertainty.

Is this my job? Some of the more skeptical faculty and students raised questions about whether talking about computing and oppression was their job. They wondered if perhaps it was the job of people in humanities or social sciences, or even people’s parents and families. I usually responded with another question, “Who would have the joint expertise of a deep technical understanding of the mechanisms underlying computation, and their potential effects in marginalized oppressed groups? Certainly not Google. Certainly not the English department. And as you’re implying, certainly not computer science. So who’s going to go develop students’ moral reasoning in ways that are grounded in algorithms and data?” The response was usually, “Hm. Good point.

How do we do it? Some faculty and students felt responsible, but unsure about how to proceed. I gave the caveat that we need a lot more research before we can know what works, but that there are many things to try. We teach the theoretical limits of computing in theory classes; why not the social limits too? We teach how to verify correctness and measure performance in software engineering classes; why not bias and harm? We teach students how to analyze the impact of software; why not the unintended consequences? Perhaps the simplest idea we discussed was just defining computer science differently on day one of each CS class: not code as abstract process and data, but concrete artifacts in the world that empower and disempower real people, in line with the systems of oppression in which software is deployed.

I don’t think I can do this. Some faculty and students felt equipped with methods to try, but lacking confidence to try them. Some of this low confidence stemmed from fears of having hard conversations with students about technology and politics. Other gaps in confidence were organizational, with fears of taking risks in teaching in an academic context that are pedagogically conservative, intellectually narrow, and disinterested in teaching innovations. I reassured them that there are many teaching skills to learn to do this well, and that trying small incremental changes to build confidence and learn was probably better than a full embrace, which isn’t likely to work without these skills. Meanwhile, researchers like myself should be studying how to help educators confidently and successful learn these skills.

I don’t have time to do this. Some faculty fully accepted their responsibility, felt equipped with ideas, and were confident in their ability to try, fail, and learn. But they worried about their already dense curricula. I responded with two points. First, it’s not necessarily the case that talking about computing critically is additional content. It may just be different content. For example, rather than introducing tree data structures as an abstract data type for modeling hierarchies, one might instead frame it as a way of imperfectly approximating the messy hierarchies found in society so that we may compute on them in ways that provide value, while accepting their failure to capture reality, and the consequences of those failures to people at the margins of our abstractions. Second, even if content is additional, we must ask whether talking about the role of computing in society—which is something they will definitely have to engage in their careers—is any less important than yet another algorithm, data structure, or research discovery that they will almost certainly never use.

Let’s do this. Many faculty and students—and particularly students and junior faculty—had none of the concerns above and were ready to contribute. They wanted to know how to coordinate our efforts, share our discoveries, learn from each other, and take meaningful action. Many of these conversations centered on how to make change beyond their classroom, persuading their colleagues, implementing curricular changes, partnering with other disciplines on their campus, and balancing these efforts under the oppressive expectations of publish or perish, where efforts to make change might be read as non-meritorious, or worse, actively suppressed or scolded.

No one of the responses above, other than silence, was more common than another. And at every institution—no matter how woke or conservative—there were people along this spectrum. What this says to me is that, at least in the case of higher education CS, there are huge opportunities for change, if only those passionate about making it would be resourced and empowered to make that change, and we have enough research to guide them. Department chairs: look to your Ph.D. students and junior faculty for vision and ideas, and they will give it to you in spades; look to them for action, and they will take it. Give them the time and space to make change, and they’ll give you the more critically conscious computing curriculum that the world needs.

If I can get all of that standing in front of a computer for 20 hours, virtual visits will work just fine. All I’m missing out on is the bougie New American brunch in Boulder, a blue crab and oyster dinner in Charlottesville, a greasy Primanti Brothers from Pittsburgh, and a cheesesteak from Philly. My pandemic diet probably doesn’t need those anyway :)

#BlackLivesMatter

--

--

Amy J. Ko
Bits and Behavior

Professor, University of Washington iSchool (she/her). Code, learning, design, justice. Trans, queer, parent, and lover of learning.