- Author’s version: arXiv:2109.13283
Justice-centered approaches to equitable computer science (CS) education prioritize the development of students’ CS disciplinary identities toward social justice rather than corporations, industry, empire, and militarism by emphasizing ethics, identity, and political vision. However, most research in justice-centered approaches to equitable CS education focus on K-12 learning environments. In this position paper, we problematize the lack of attention to justice-centered approaches to CS in higher education and then describe a justice-centered approach for undergraduate Data Structures and Algorithms that (1) critiques sociopolitical values of data structure and algorithm design and dominant computing epistemologies that approach social good without design justice; (2) centers students in culturally responsive-sustaining pedagogies to resist dominant computing culture and value Indigenous ways of living in nature; and (3) ensures the rightful presence of political struggles through reauthoring rights and problematizing the political power of computing. Through a case study of this Critical Comparative Data Structures and Algorithms pedagogy, we argue that justice-centered approaches to higher CS education can help students not only critique the ethical implications of nominally technical concepts, but also develop greater respect for diverse epistemologies, cultures, and narratives around computing that can help all of us realize the socially-just worlds we need.
Equity pedagogies are “assets-based pedagogical approaches that support minoritized students’ learning outcomes and further develop their potential to become social change agents” (Madkins 2020). Equity pedagogies challenge dominant approaches that are not designed to support and engage minoritized students. The emphasis on developing students’ “potential to become social change agents” is a critical reflection of the dominant discourses in CS education. Currently, dominant approaches to CS education do not make space for social change or social justice—in fact, Malazita and Resetar (2019) argue that dominant approaches teach the opposite: that CS is “anti-political”. Ethics are often relegated to optional courses or a few “special topics lectures” at the end of the course “if time allows”; analysis of algorithms restricted to runtime and space complexity; programming done in service of “unfeeling” big tech corporations whose profits soar at the cost of local communities; and learning CS in service of maintaining the United States’ dominance over the world in war, money, and culture. CS education is about power.
Justice-centered approaches place these concerns about power and social (in)justice at the center of education. Affordance analysis and other ethical evaluations of technologies are only one small piece of the puzzle. In the absence of justice-centered approaches, affordance analysis and other interventions risk subsumption to dominant narratives: the idea that we can analyze our way out of problematic technologies, or that ethical evaluation can be done without engaging history, culture, or identity. Justice-centered approaches require engaging our full humanity in ways that resist disembodied approaches to science learning.
One of the contributions of this work is a new curricular approach for (advanced) data structures and algorithms. Critical Comparative Data Structures and Algorithms (CCDSA) builds on the foundation of comparative data structures pedagogy to center social justice. Comparative data structures provided a new theme for the study of data structures and algorithms around affordance analysis of designed abstractions but tended to leave humanity (e.g. history, culture, identity) implicit.alone won’t be enough to achieve the socially-just worlds we need. A critical comparative approach explicitly engages broader questions such as, “Who designs computation? To what end? How do our design processes, goals, and purposes undermine our intentions to do good?” In suggesting the last question, we raise new concerns around the conflict between design justice and disembodied or universalizing computer technologies. The aim to design technologies for everyone is often ultimately realized as designing technology for a few. CCDSA defines this reflexive practice of questioning processes as critical comparison where the dominant perspective is placed in dialogue with more marginalized and justice-centered perspectives.
Critical comparison is a powerful method that can be repeatedly applied to each dimension of equity pedagogies and justice-centered approaches. It pushes us to reconsider our assumptions in every facet of the student experience. It’s particularly suitable for higher education where students significantly internalized of dominant purposes and narratives for education. However, this approach also has its own risk. In attempting to compare, we place both perspectives in the spotlight—and so we may teach that holding either perspective is acceptable. But is that always the case? There are many ideas where educators may have a moral imperative to either support or denounce if we wish to realize a more just society. And, if we want to support our students towards becoing social change agents, we’ll need to help everyone better understand the ways in which power shapes values, approaches, and narratives. In Sasha Costanza-Chock’s words: “Is the ultimate object to make people good coders, or to make coders good people?”