CS Education for the Socially-Just Worlds We Need: The Case for Justice-Centered Approaches to CS in Higher Education

09/27/2021
by   Kevin Lin, et al.
University of Washington
0

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.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

01/04/2021

Do Abstractions Have Politics? Towards a More Critical Algorithm Analysis

The expansion of computer science (CS) education in K–12 and higher-educ...
03/04/2019

Female Teenagers in Computer Science Education: Understanding Stereotypes, Negative Impacts, and Positive Motivation

Although teenage girls engage in coding courses, only a small percentage...
11/12/2021

Enabling human-centered AI: A new junction and shared journey

AI has unique characteristics compared to non-AI systems. The AI/CS comm...
12/03/2021

Could AI Democratise Education? Socio-Technical Imaginaries of an EdTech Revolution

Artificial Intelligence (AI) in Education has been said to have the pote...
09/10/2019

Human Languages in Source Code: Auto-Translation for Localized Instruction

Computer science education has promised open access around the world, bu...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

The dominant narrative in computing education research (CER) frames “equity as inclusion” (Calabrese Barton and Tan, 2020), emphasizing capacity, access, and participation in CS education for all students (Fletcher and Warner, 2021). This narrative assumes that all students want to learn CS the way we currently teach it. “However, are we satisfied with everyone learning to code, if the end game is to produce (admittedly more ‘diverse’) coders who will primarily work to ensure the continued profitability of capitalist start-ups and technology giants?” (Costanza-Chock, 2020). Are the students we wish to recruit and retain satisfied with this vision for CS?

Beyond capacity, access, and participation, Fletcher and Warner describe student experience as the fourth component of the CAPE framework for assessing equity in CS education. While “[s]tudent performance measures such as course grades” provide a means of assessing equity in outcomes, they argue that “truly equitable experiences must go beyond these simple outcome measures” in order to “create an environment where all students feel they belong, instruction is inclusive, and diverse perspectives are valued explicitly” (Fletcher and Warner, 2021). Dominant approaches toward computing education emphasize computing as an anti-political and exclusionary discipline more interested in efficiency and business profit than social justice (Hubbard Cheuoua, 2021; Ko et al., 2020; Vakil, 2018; Malazita and Resetar, 2019; Raji et al., 2021) or “do[ing] something good” (Vakil, 2020).

Ko et al. argue for “a more critical CS education” that make “injustices visible to society” (Ko et al., 2020). Critical theory is a method of addressing social problems that assumes “many improvement efforts fail because they do not consider the perspective of the group being served” (Hubbard Cheuoua, 2021). Critical CS education recognizes that teaching “computer science content knowledge alone is not enough” (Ryoo, 2019) to realize CS for All and broaden participation in computing (Davis et al., 2021) because dominant approaches produce inequity by marginalizing students’ identities and political values (Calabrese Barton and Tan, 2020; Vakil, 2018; Ryoo, 2019; Ryoo et al., 2020; Davis et al., 2021; Vakil, 2020; Shah et al., 2020; Rankin and Thomas, 2020; Vakil and de Royston, 2019).

Informed by critical theory, justice-centered approaches to computing education clearly articulate computing’s commitment to social justice in order to engage computer science as a discipline in service of students’ sociopolitical values and identities (Vakil, 2020). In contrast to dominant approaches that implicitly define CS education in service of corporations, industry, empire, and militarism (Vakil, 2018), justice-centered approaches explicitly define CS education in service of students’ sociopolitical values, marginalized identities, and commitment to social justice. The turn toward justice-centered approaches “complicates and challenges [narratives that] explain Black (and other minoritized) students’ motivations about what to learn or not to learn as tied to their perceptions of what is ‘geeky’ (or inversely what is ‘cool’)” and instead emphasizes “more complex dynamics underlying student resistance or interest” toward learning CS such as students’ political values and identities (Vakil, 2020).

Currently, justice-centered approaches to CS are emphasized in K–12 CS education with curricula such as Exploring Computer Science (ECS) that were created “to directly address structural and curricular inequalities youth experience in public high schools” (Ryoo, 2019). However, justice-centered approaches are comparatively absent in higher CS education research and pedagogical practice. In this position paper, we argue for justice-centered approaches to CS in higher education. Section 2 reviews the literature on justice-centered approaches to computing education that center three features: ethics, identity, and political vision. Section 3 makes the case for attention to justice-centered approaches in higher CS education beyond K–12 learning environments where most justice-centered work is conducted and implemented in the learning sciences and CS education communities. Section 4 proposes a justice-centered approach for undergraduate Data Structures and Algorithms, a fundamental course in many undergraduate programs that bridges programming practice and theoretical computer science. Data Structures and Algorithms presents a challenging case study of how a course that has traditionally marginalized all three features (ethics, identity, and political vision) can be reauthored to center justice.

2. Justice-Centered CS Education

We frame our paper around Vakil’s definition of justice-centered approaches to CS education that attend to three features: the content of curriculum, the design of learning environments, and the politics and purposes of CS education reform (Vakil, 2018).

2.1. Ethics in the computing curriculum

Fiesler et al. analyzed 115 syllabi from university tech ethics courses and found “that many topics within tech ethics are high level and conceptual when it comes to the impact of technology on society—e.g., how human decisions are built into code, how technology can reproduce and augment existing social inequalities, how data is created by and directly impacts people, and how choices made at both the level of companies and in small bits of code combine to create large-scale social consequences” (Fiesler et al., 2020). Consequently, they argue that tech ethics “could be part of every computing course” (Fiesler et al., 2020). Recent work in undergraduate computing ethics include designs for standalone ethics courses (Reich et al., 2020; Ferreira and Vardi, 2021); integrated ethics across the curriculum (Grosz et al., 2019; Cohen et al., 2021)

; and integrated ethics modules or lessons in courses such as machine learning

(Saltz et al., 2019), human-centered computing (Skirpan et al., 2018), and introductory CS (Fiesler et al., 2021; Doore et al., 2020). Critical approaches to computing ethics challenge dominant narratives by centering computing’s moral, ethical, and social values as well as its political power to reshape social structures and hierarchies (Ko et al., 2020; Vakil, 2018, 2020; Ferreira and Vardi, 2021; Raji et al., 2021; Moore, 2020; Ryoo et al., 2020; Vakil and Higgs, 2019). Computing does not exist separate from the world; computation is designed by people to realize their political visions about how the world ought to work (Ko et al., 2020; Vakil and Higgs, 2019).

But critical computing ethics are challenged by the hierarchies of knowledge in computing that prioritize “technical” skills over “social” skills (Raji et al., 2021). “Technical” content—not “social” content—is what matters in dominant approaches to CS education. An analysis of 200 “technical” AI/ML courses by Saltz et al. revealed only 12% of courses included some mention of ethics. Of the 12% of “technical” AI/ML courses that mentioned ethics, ethics-related topics were relegated to the last two classes in the schedule and, in one course, left as a discussion topic only “if time allows” (Garrett et al., 2020). Dominant approaches to CS education reinforce the perception of CS as an anti-political discipline through the epistemic, cultural, and ideological “infrastructures of abstraction” that treat “technical” content as the only content that “counts” (Malazita and Resetar, 2019). Integrating ethics can be even more difficult in “core” courses such as intro CS (Malazita and Resetar, 2019).

Reaffirming the importance of a broader diversity of epistemologies, cultures, and ideologies in CS, Raji et al. argue that “quick ethics fixes, like modules largely developed for and within computer science, are not a sufficient intervention to actually teach CS students of how ethical challenges get resolved in real world contexts” (Raji et al., 2021). Rather, more interdisciplinary efforts are needed to engage students with diverse stakeholders and collaborators (Raji et al., 2021; Vakil and Higgs, 2019). In Design Justice, Costanza-Chock calls on us to “seek more than ‘freedom from bias.’ For example, feminist and antiracist currents within science and technology studies have gone beyond a bias frame to unpack the ways that intersecting forms of oppression, including patriarchy, white supremacy, ableism, and capitalism, are constantly hard-coded into designed objects, platforms, and systems” (Costanza-Chock, 2020). Justice-centered computing ethics must teach students about the relationship between computing, power, and identity.

2.2. Identity in the learning environment

Student identities include not only social identities such as race, gender, or ethnicity, but also computing identities that represent what they might be able to achieve as a computer scientist (Vakil, 2020). While computing identity often appears prominently in broadening participation in computing (BPC), “less frequently do scholars empirically or theoretically address how matters of identity shape learning processes and trajectories of engagement with CS concepts and practices” (Vakil, 2018) despite the importance of identity in relation to students’ “sensemaking around the values of a particular discipline” (Vakil, 2020). For marginalized students who experience inequities in “the social structures of schooling” (Calabrese Barton and Tan, 2020), their CS identity is linked to their political identity: their commitment to issues of power and their agency toward changing the world (Vakil, 2018, 2020; Calabrese Barton and Tan, 2020). Dominant approaches to CS education that frame learning as anti-political (where only the “technical” content counts) emphasize that CS has no space for students’ political identities.

Computing identity is not only sociopolitical, but also intersectional. Dominant computing culture that values “technical” skills over “social” skills not only shapes students’ computing identity on sociopolitical terms, but also intersects with “power dynamics that exemplifies racism, sexism, socioeconomic status, homophobia, ableism, xenophobia, etc.” (Rankin et al., 2021). Ignoring identity and political values in computing education not only ignores processes that shape students’ understanding of computing as an anti-political discipline (Calabrese Barton and Tan, 2020; Agarwal and Sengupta-Irving, 2019; Vakil, 2018, 2020; Malazita and Resetar, 2019; Ryoo et al., 2020), but also ignores power dynamics and privileges that reinforce the the matrix of domination (Costanza-Chock, 2020) and ultimately marginalize Black women (Rankin and Thomas, 2020; Rankin et al., 2021; Washington, 2020; Shah et al., 2020) as well as Black and Latinx students (Shah et al., 2020).

To create more inclusive and anti-oppressive learning environments, Washington argue for cultural competence in computing (3C): greater awareness, attitudes, knowledge, and skills toward working effectively in cross-cultural situations (Washington, 2020). To realize this in the computing classroom, Davis et al. define a framework for culturally responsive-sustaining CS pedagogy to ensure that: “students’ interests, identities and cultures are embraced and validated, students develop knowledge of computing content and its utility in the world, strong CS identities are developed, and students engage in larger socio-political critiques about technology’s purpose, potential, and impact” (Davis et al., 2021).

2.3. Political vision for computing education

Given the importance of political identity toward students’ computing identity and their understanding of computing ethics, justice-centered approaches engage political identity by “collectively, clearly, and unequivocally articulat[ing] a political vision for CS learning anchored in principles of peace, antiracism, and justice” that “challenges the corporate technology sector on moral, epistemological, and political grounds” (Vakil, 2018). CS education has inequitable political consequences not only for society at large, but also for professional practice that “is intrusive and oppressive on immigrant, tech industry workers and their families from endarkened nations […] through intersecting processes that include H1B work visa regulations, racism, xenophobia, and the legacies of colonialism and imperialism” (Philip and Sengupta, 2021).

To counter dominant narratives for the political vision of CS education, justice-centered approaches to CS education emphasize a political vision of CS education toward social justice. Consequently, justice-centered approaches work to develop students’ sociopolitical consciousness: “the recognition and desire to act upon societal inequities” through computing (Madkins and McKinney de Royston, 2019). Integrating both identity work and sociopolitical consciousness, Calabrese Barton and Tan describe a framework of rightful presence “towards making present the intersections of contemporary (in)justices, while orienting towards new, just social futures” (Calabrese Barton and Tan, 2020). The rightful presence of political struggles can help ensure epistemic justice (Agarwal and Sengupta-Irving, 2019) and resist deficit stereotypes (Ryoo et al., 2020) by explicitly valuing and centering the social and political aspects of computing.

Computing education’s commitment to justice in the classroom and beyond can be enacted through political activism in the classroom, such as “calls to action, practitioner reflections, legislative engagement, and direct action” (Moore, 2020). This political activism moves beyond narrow ethical critiques or modules (Raji et al., 2021) and supports student agency to create the “socially-just worlds we need” (Costanza-Chock, 2020). By articulating a just political vision for computing education, ethics and identity “do not need to be ‘included’ in the curriculum” because they will already be the center of inquiry (Vakil, 2018).

3. Why Justice in Higher CS Education

Much of the research on justice-centered approaches to computing education focuses on K–12 learning environments (Vakil, 2018; Vakil and de Royston, 2019; Calabrese Barton and Tan, 2020; Agarwal and Sengupta-Irving, 2019; Ryoo, 2019; Ryoo et al., 2020; Madkins and McKinney de Royston, 2019; Shah et al., 2020); much less research focuses on higher education. Of the three features (ethics, identity, and political vision), higher CS education has predominantly focused on ethics (Fiesler et al., 2021, 2020; Reich et al., 2020; Ferreira and Vardi, 2021; Grosz et al., 2019; Cohen et al., 2021; Saltz et al., 2019; Skirpan et al., 2018; Doore et al., 2020), with some of the earliest work in academic communities appearing at SIGCSE Technical Symposium in 1972 (Fiesler et al., 2020). Work on identity in higher CS education is relatively more recent (e.g. Unlocking the Clubhouse: Women in Computing in 2002), and the turn to intersectional and critical perspectives as they relate to computing identity (Rankin et al., 2021; Rankin and Thomas, 2020; Hubbard Cheuoua, 2021) is even more recent. Political vision in higher CS education is most commonly articulated through work in critical tech ethics (Ferreira and Vardi, 2021), but political vision is often complicated by dominant computing culture. Cohen et al., for example, found that both “[socially responsible computing TAs] and students worried that other students might perceive the new [socially-responsible] content as politically charged and thereby dismiss it” (Cohen et al., 2021).

We argue that higher CS education’s emphasis on ethics without identity or political vision is problematic. Researchers are calling attention to the limitations of dominant and epistemologically-exclusionary approaches to ethics education in higher CS education (Raji et al., 2021; Malazita and Resetar, 2019; Cohen et al., 2021). These critical reflections reveal problems arising as a result of failure to attend to identity and political vision: CS education that ultimately produces students whose “anti-political” values (Malazita and Resetar, 2019) perpetuate injustice (Costanza-Chock, 2020; Agarwal and Sengupta-Irving, 2019; Calabrese Barton and Tan, 2020); educators who feel the need to avoid rather than address “political overtones” in ethics education (Cohen et al., 2021); internship experiences that marginalize and oppress Black women in computing (Rankin et al., 2021); and “well-intentioned” (Malazita and Resetar, 2019) but culturally-blind (Washington, 2020) CS faculty whose resistance to critical interventions and identity-centered instruction marginalizes students’ sociopolitical identities (Vakil, 2018; Vakil and Higgs, 2019; Vakil, 2020; Ryoo et al., 2020; Philip and Sengupta, 2021).

Ko et al. urge CS educators to make “injustices visible […] through the problems we focus on in our classrooms; through who we choose to teach; in how we shape students’ career choices; and in how we conceptualize computing to journalists, social scientists, and society” because “[t]he world has critical questions about computing and it is time we started teaching more critical answers” (Ko et al., 2020). In addition to classroom benefits afforded by justice-centered approaches, we argue that justice-centered approaches in higher CS education specifically support justice-centered K–12 CS education; help programs make progress toward diversity, equity, inclusion, and access (DEIA) and broadening participation in computing (BPC) goals; and reauthor CS to nurture student interest toward creating more socially-just worlds. Justice-centered approaches in higher CS education have implications for students, institutions, and society.

3.1. Support justice-centered K–12 CS education

Justice-centered approaches in higher CS education support the parallel and ongoing efforts to center justice in K–12 CS education. Without justice-centered approaches in higher CS education, justice-centered K–12 CS educators must emphasize the stark reality: that what awaits students afterwards is an unjust, oppressive, and anti-political higher CS education (Vakil, 2020; Malazita and Resetar, 2019). Higher CS education risks not only undoing efforts to center justice in K–12 CS education, but also further marginalizing students by producing epistemological, material, and physical harm (Rankin et al., 2021; Vakil, 2018; Philip and Sengupta, 2021; Ko et al., 2020).

This not only affects students, but also institutions of higher CS education. As justice-centered approaches become increasingly common in secondary teacher education programs and curricula such as ECS (Ryoo, 2019), sociopolitically-conscious students unsatisfied with dominant approaches in higher CS education know to vote with their feet and enroll in programs that support their CS identity. Precisely to spite dominant reasoning for more inclusive CS education that capitalize on ‘diverse’ students’ ideas for corporate profit (Costanza-Chock, 2020; Vakil, 2018), institutions unresponsive to justice-centered approaches risk backsliding on diversity efforts by failing to center marginalized students’ identities and political values in computing.

3.2. Make progress toward DEIA and BPC goals

Justice-centered approaches can help undergraduate computing programs improve diversity, equity, inclusion, and access (DEIA) as well as achieve broadening participation in computing (BPC) goals. Fletcher and Warner describe “CAPE: A Framework for Assessing Equity throughout the Computer Science Education Ecosystem” that addresses capacity for, access to, participation in, and experience of equitable CS education (Fletcher and Warner, 2021). Justice-centered approaches to CS education directly affects student experience in the way they “explicitly address issues of equity” and help “all students feel included and accepted” (Fletcher and Warner, 2021). These goals are not only initiated within institutions of higher CS education, but also mandated by funding agencies for certain research grants: the National Science Foundation Computer and Information Science and Engineering directorate, for example, recently began requiring principal investigators of proposals submitted to selected programs to include a plan for broadening participation in computing at the time of award.111https://www.nsf.gov/cise/bpc/

Attention to all three features of justice-centered approaches—ethics, identity, and especially political vision—can help higher CS education move “beyond equity as inclusion” (Calabrese Barton and Tan, 2020) and address disparities in student participation and experience (Fletcher and Warner, 2021) by ensuring the rightful presence of marginalized students’ interests in learning CS (Calabrese Barton and Tan, 2020; Ryoo et al., 2020). Justice-centered approaches can improve DEIA in programs and support BPC efforts by centering the values, experiences, and purposes of marginalized peoples in computing through emphasis on computing’s social responsibility (Cohen et al., 2021; Ko et al., 2020; Vakil, 2018), the disparate experiences of students with dominant versus marginalized identities (Rankin and Thomas, 2020; Rankin et al., 2021; Washington, 2020; Shah et al., 2020), and the political vision of computing toward realizing more socially-just futures (Costanza-Chock, 2020; Vakil, 2018; Ko et al., 2020).

3.3. Reauthor CS for more just futures

Despite differences between institutions, higher CS education shares a common author: the 1960s and 1970s academic computer scientists whose dominant, European scientific values (Aikenhead and Ogawa, 2007) inspired a vision for computing that centered cognition and mathematics (Vakil, 2018; Kafai et al., 2019; Raji et al., 2021) to the exclusion and marginalization of identity and political vision (Vakil, 2018; Vakil and Higgs, 2019; Vakil, 2020; Ryoo et al., 2020; Philip and Sengupta, 2021). Justice-centered approaches in higher CS education enable hosts (e.g. teachers) to engage newcomers (e.g. students) in a process of reauthoring rights rather than expecting assimilation to dominant narratives and values (Calabrese Barton and Tan, 2020).

The implications of reauthoring extend beyond the classroom because they involve communication and learning not only with newcomers but also with hosts as they negotiate tensions between values and purposes for CS education. Reauthoring considers students’ cultural values, experiences, and ways of knowing “integral to disciplinary learning” (Calabrese Barton and Tan, 2020). To address today’s critical questions surrounding social computation, dominant approaches that emphasize an epistemological wall between the “technical” and the “social” are not equipped to provide critical answers (Ko et al., 2020). Reauthoring rights through a process of political struggle and critical engagement—involving both hosts and newcomers—can move computing as a discipline toward more critical perspectives that better appreciate and understand the sociopolitical implications of computation for all, reimagining computing in ways that nurture student interest toward creating more socially-just worlds.

4. Data Structures and Algorithms

In this section, we propose a justice-centered approach to Data Structures and Algorithms, or “CS2” at many institutions. While CS2 is a broad label representing the second course in computer science, many CS2 courses emphasize the design, implementation, and application of data structures and algorithms. Through conversation with experienced instructors, Porter et al. identified “two largely disjoint courses that are referred to in the CS education community as CS2”: Basic Data Structures and Advanced Data Structures (Porter et al., 2018). They argue that, “At the end of a course on Basic Data Structures, students should be able to:

  1. Analyze runtime efficiency of algorithms related to data structure design.

  2. Select appropriate abstract data types for use in a given application.

  3. Compare data structure tradeoffs to select the appropriate implementation for an abstract data type.

  4. Design and modify data structures capable of insertion, deletion, search, and related operations.

  5. Trace through and predict the behavior of algorithms (including code) designed to implement data structure operations.

  6. Identify and remedy flaws in a data structure implementation that may cause its behavior to differ from the intended design.

Advanced Data Structures extend these learning objectives to emphasize “topics that rely on earlier data structures (e.g., balanced trees rely on BSTs, heaps rely on arrays)” as well as graph representations and graph algorithms (Porter et al., 2018). Dominant approaches to teaching CS2 center the development of cognitive skills toward relatively standardized data structures and algorithms knowledge.

Although “the goal of all this activity is to increase individual comprehension of CS concepts and competent programming performance” (Kafai et al., 2019), Kafai et al. argue that the cognitive framing does not necessarily imply that learning is decontextualized or irrelevant to students. The persistent popularity of the “Nifty Assignments” session at the annual ACM Technical Symposium on Computer Science Education (SIGCSE) is a testament to CS1 and CS2 instructors’ interest in designing assignments that connect to students’ diverse interests for learning CS.

However, without justice-centered approaches, CS2 risks reproducing present-day oppressions. By teaching data structures as implementations for abstract data types, undergraduate computing programs emphasize the dominant programming practice that uses abstract data types to free “a programmer from concern about irrelevant details in his use of data abstractions” (Liskov and Zilles, 1974)—the kind of content knowledge reinforcing the “infrastructures of abstraction” that produce anti-political values (Malazita and Resetar, 2019). By centering runtime or space complexity analysis (Porter et al., 2018) as the primary means for evaluating data structure and algorithm tradeoffs, undergraduate computing programs emphasize efficiency as the primary (sometimes only) concern in data structure and algorithm analysis, thus marginalizing computing’s ethical and social responsibilities. A more critical reading of the CS2 learning goals reveals the limits of cognitive approaches that frame “[a]lgorithm design and implementation [as] a means of realizing a specification or abstract data type without critically questioning the design of the abstraction” (Lin, 2021; Costanza-Chock, 2020; Malazita and Resetar, 2019).

Justice-centered approaches to CS education are not necessarily mutually exclusive to dominant cognitive approaches (Kafai et al., 2019). In the context of CS2, undergraduate Data Structures and Algorithms content knowledge is an asset with recognized value within dominant academic and corporate communities: students’ data structures and algorithms content knowledge can prepare them for interviews, internships, and full-time work in either computer science research or the software engineering industry. The social mobility afforded by access to high-paying jobs in research and industry cannot be ignored as a means of creating opportunities for students who might otherwise have few options to generate wealth, sustain their families, and escape poverty.

Yet dominant approaches that don’t attend to the participation or experience of marginalized students in computing risk exacerbating inequity in computing by creating and sustaining wealth for dominant students and corporations that are currently overwhelmingly benefiting from higher CS education’s emphasis on producing anti-political programmers (Vakil, 2018; Costanza-Chock, 2020; Malazita and Resetar, 2019). A justice-centered approach to Data Structures and Algorithms not only equips students with cognitive skills that unlock high-paying computing jobs, but also teaches students how they might navigate the tension around “selling out” their political commitments just to be “a part of a huge unfeeling oppressive corporation that makes you money sure, but never does something good” (Vakil, 2020).

4.1. A critical comparative approach

Critical Comparative Data Structures and Algorithms (CCDSA) is a justice-centered approach to undergraduate Data Structures and Algorithms that emphasizes critical comparison as the primary method of inquiry for centering ethics, identity, and political vision.

Ethics:

Critiques sociopolitical values of data structure and algorithm design (Lin, 2021) and dominant computing epistemologies that approach social good without design justice (Costanza-Chock, 2020).

Identity:

Centers students in culturally responsive-sustaining pedagogies (Davis et al., 2021) to resist dominant computing culture and value Indigenous ways of living in nature (Aikenhead and Ogawa, 2007).

Political vision:

Ensures the rightful presence (Calabrese Barton and Tan, 2019, 2020) of political struggles through reauthoring rights (Calabrese Barton and Tan, 2020) and problematizing the political power of computing (Vakil and Higgs, 2019) toward social justice rather than dominant narratives around corporate profit and hegemony.

CCDSA applies a “theory dialogue” approach to Data Structures and Algorithms to engage the diversity of “cognitive, situated, and critical framings” for computing education by emphasizing “understanding of key computational concepts, practices, and perspectives” (cognitive framing); “stress[ing] personal creative expression and social engagement” (situated framing); and respecting “the values, practices, and infrastructure underlying computation as part of a broader goal of education for justice” (critical framing) (Kafai et al., 2019). Although foregrounding the critical framing does not completely “erase these tensions” around the “selling out,” it offers students “a new and exciting possibility to be political while engaging in creating technology within the context of [a] CS class” (Vakil, 2020).

In the following subsections, we describe how CCDSA emphasizes ethics, identity, and political vision as a case study of how justice can be centered in higher CS education.

4.2. Ethics via epistemological comparison

The epistemological values of dominant approaches toward ethics result in “ethical and social interventions in CS education becom[ing] framed as valuable in application-centered classes, like data visualization or applied machine learning, but not in ‘core’ technical classes like [introductory CS]”

(Malazita and Resetar, 2019). CCDSA proposes countering the dominant narrative by incorporating ethics as a type of algorithm analysis on equal epistemological footing with runtime or space complexity analysis.

CCDSA engages ethics in CS2 with an affordance analysis of data structures and algorithms (Lin, 2021): a more critical algorithm analysis that draws on “critical methods from science and technology studies, philosophy of technology, and human-computer interaction” in order to evaluate the political consequences of data structures and algorithms in social contexts and applications (Lin, 2021). Unlike dominant approaches to “algorithm analysis” that emphasize the internal implementation of data structures and algorithms (Porter et al., 2018), affordance analysis emphasizes the external interface of data structures and algorithms as they are applied in real-world applications. While dominant approaches to teaching abstraction risks producing “CS students as knowers who organize the world through excision” (Malazita and Resetar, 2019), affordance analysis specifically problematizes the affordances of abstract data types (e.g. priority queues) as they are applied to problems (e.g. content moderation) by emphasizing how the design of an abstraction encodes affordances that can have political values (Lin, 2021). While comparison between data structures and algorithms on the basis of efficiency are important, CCDSA emphasizes critical comparison between abstractions on the basis of their sociopolitical implications.

However, CCDSA is not satisfied with affordance analysis alone. Although affordance analysis makes space for sociotechnical critique of the design of software solutions, “it is inherently limited to the algorithmic components of a sociotechnical system” and provides less instruction toward “redressing design values” (Lin, 2021), engaging epistemological limitations (Malazita and Resetar, 2019), or reauthoring political relationships through CS (Calabrese Barton and Tan, 2020; Vakil, 2020). Costanza-Chock argues for practices that move beyond the “universalizing assumptions behind affordance theory” and instead attend to design justice that pushes students to “think more critically about software, technology, and design […] in service of human liberation and ecological sustainability” (Costanza-Chock, 2020). Echoing the centrality of ethics, identity, and political vision in justice-centered CS education, design justice emphasizes design practices, design narratives, design sites, and design pedagogies that create social conditions (Costanza-Chock, 2020).

Design justice in CCDSA moves beyond affordance analysis to critical comparison of computing epistemologies and dominant design narratives that center the software designers/engineers versus community-led design practices that reauthor the relationship between designer and user. “Design justice is interested in telling stories that amplify, lift up, and make visible existing community-based design solutions, practices, and practitioners” (Costanza-Chock, 2020), values that in K–12 CS learning environments manifest as creative work situated in and centering students’ own communities, needs, and interests (Ryoo et al., 2020; Vakil, 2020; Kafai et al., 2019; Davis et al., 2021). In CCDSA, design justice counters the dominant narrative that emphasizes software design as elite, private, and exclusionary and instead centers community concerns and values.

4.3. Identity via cultural comparison

CCDSA implements each of the six core components for culturally responsive-sustaining CS pedagogy (Davis et al., 2021) to center student identity.

4.3.1. Acknowledge racism in CS and enact antiracist practices

The instructor leads fireside chats with teaching assistants (TAs) or students to explore their social identities (e.g. race, gender, ethnicity), their power and privileges, and how lived experiences have shaped their worldviews. By calling-out sites of inequity in the CS classroom and beyond, the teaching staff makes a commitment to dismantling structural oppression and decenter whiteness (Davis et al., 2021; Rankin et al., 2021; Shah et al., 2020). Critical comparison is made between dominant European scientific culture and Indigenous ways of living in nature (Aikenhead and Ogawa, 2007) to engage the limits of European scientific epistemology and knowledge.

4.3.2. Create inclusive and equitable classroom cultures

Anti-racist practices are reinforced through course structure, assignments, and policies. Instruction and assessment applies universal design for learning to meet students’ diverse means of engagement, representation, and action/expression (Burgstahler, 2011) by providing, for example, diverse reasons for engaging beyond the dominant narrative around software engineering. Assignments highlight student ingenuity, creativity, and criticism as opposed to dominant approaches that make students “subservient to the micro-demands of the autograder” (Malazita and Resetar, 2019). Students are not only encouraged to collaborate but taught how to recognize, confront, and dispel stereotypes and power imbalances that occur during teamwork (Shah et al., 2020); teamwork is a learning goal (Kussmaul, 2012).

4.3.3. Pedagogy and curriculum are rigorous, relevant, and encourage sociopolitical critiques

Like many undergraduate CS courses, data structures and algorithms teaches by examining well-established concepts, but dominant approaches fail to include historical and sociopolitical context. Instructors teach the “fraught histories” of computing: ideas that were designed for expressly militaristic purposes, a discipline that marginalized women and Black people after computing became desirable to white men, and a dominant culture that valued primarily mathematical and cognitive ways of solving problems. Critical comparison is used to “critically examine technology and interrogate its role in society” (Davis et al., 2021) not only on the basis of affordance analysis, but also in relation to the people, places, values, and hierarchies that CS can either reinforce or dismantle (Vakil, 2018).

4.3.4. Student voice, agency, and self-determination are prioritized in CS classrooms

Active learning pedagogies such as Process Oriented Guided Inquiry Learning (POGIL) (Kussmaul, 2012) offer a more structured approach to teamwork in order to ensure equity and develop process skills throughout peer teaching and learning. The instructor not only discusses the historical and sociopolitical context of computing, but also engages students in discussion about the purposes and implications of technology. Student questions, contributions, and experiences are incorporated throughout the classroom, developing their identities as culturally-competent computer scientists (Davis et al., 2021; Washington, 2020).

4.3.5. Family and community cultural assets are incorporated into CS classrooms

Community, cultures, and assets are incorporated to explore the critical comparison between dominant European scientific culture and Indigenous ways of living in nature. For example, field trips to local natural and cultural museums help highlight the cultural creativity and technological ingenuity of local community members so that students see the software they build and analyze as operating within a community and therefore responsive to the voices and perspectives of the real people that live around them. Cultural experts from outside the dominant computing culture but within the local community are invited to share their perspectives.

4.3.6. Diverse professionals and role models provide exposure to a range of CS/tech careers

The teaching staff are often the most visible people in the classroom, so effort is made to diversify instructors and TAs. TA recruitment and selection processes not only emphasize “clarity, technical proficiency, use of whiteboard, and responsiveness to student questions and needs” (Kamil et al., 2019), but also cultural competency (Washington, 2020; Davis et al., 2021) and readiness to engage with culturally responsive-sustaining practices. Classroom and career advice decenters dominant narratives around software engineering jobs in order to highlight opportunities in academic research inside and outside of CS, professional as well non-profit or volunteer opportunities to teach CS in local communities, and roles for computing in social change beyond critique (Abebe et al., 2020).

4.4. Political vision via narrative comparison

The critical comparative approach to ethics and identity orients CCDSA toward a political vision of CS for social justice: design justice (Costanza-Chock, 2020) and culturally responsive-sustaining pedagogy (Davis et al., 2021) go a long way to making space for students to engage with sociopolitical values in the computing classroom (Ryoo et al., 2020). CCDSA articulates a political vision of CS for social justice through critical comparison of narratives and purposes for learning Data Structures and Algorithms. Dominant narratives emphasizing the economic value of data structures and algorithm content knowledge in service of software engineering and dominant CS research are compared to marginalized narratives that frame data structures and algorithms knowledge in service of local communities, non-profits, environmental justice, and interdisciplinary knowledge.

In order to reauthor rights toward making present systemic injustices (Calabrese Barton and Tan, 2020), hosts (e.g. teachers) and newcomers (e.g. students) must engage in political struggle to broaden definitions of what counts as connective and productive disciplinary engagement (Agarwal and Sengupta-Irving, 2019). Hosts, however, not only include teachers but the dominant higher CS education community. Ultimately, the proposed CCDSA pedagogy enacts change in only a single course situated within a broader curriculum that reinforces dominant narratives (Vakil, 2020). CCDSA thus cannot truly realize political vision unless the dominant higher CS education community is involved in the political struggle of reauthoring rights with newcomers. Although a single course cannot represent the entirety of dominant higher CS education, recognizing and articulating this limit of political vision might orient students toward understanding political vision as a project spanning not just a course but rather than the entire project of critical and justice-centered approaches to CS education. The project of political vision in justice-centered higher CS education might involve students today as newcomers, but gradually change as they grow into more experienced contributors and leaders in higher CS education. CCDSA students may one day work to reauthor narratives in service of the next generation of students. In this way, justice in CS education needs all of us: not only K–12 CS educators and researchers, but also higher CS education too.

References

  • R. Abebe, S. Barocas, J. Kleinberg, K. Levy, M. Raghavan, and D. G. Robinson (2020) Roles for Computing in Social Change. In Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency, New York, NY, USA. External Links: ISBN 9781450369367, Document Cited by: §4.3.6.
  • P. Agarwal and T. Sengupta-Irving (2019) Integrating Power to Advance the Study of Connective and Productive Disciplinary Engagement in Mathematics and Science. Cognition and Instruction 37 (3), pp. 349–366. External Links: Link, Document, ISSN 0737-0008 Cited by: §2.2, §2.3, §3, §3, §4.4.
  • G. S. Aikenhead and M. Ogawa (2007) Indigenous knowledge and science revisited. Cultural Studies of Science Education 2 (3), pp. 539–620. External Links: Link, Document, ISSN 1871-1502 Cited by: §3.3, item Identity, §4.3.1.
  • S. Burgstahler (2011) Universal Design: Implications for Computing Education. ACM Transactions on Computing Education 11 (3). External Links: Document, ISSN 1946-6226 Cited by: §4.3.2.
  • A. Calabrese Barton and E. Tan (2019) Designing for Rightful Presence in STEM: The Role of Making Present Practices. Journal of the Learning Sciences 28 (4-5), pp. 616–658. External Links: Link, Document, ISSN 1050-8406 Cited by: item Political vision.
  • A. Calabrese Barton and E. Tan (2020) Beyond Equity as Inclusion: A Framework of “Rightful Presence” for Guiding Justice-Oriented Studies in Teaching and Learning. Educational Researcher 49 (6), pp. 433–440. External Links: Link, Document, ISSN 0013-189X Cited by: §1, §1, §2.2, §2.2, §2.3, §3.2, §3.3, §3.3, §3, §3, item Political vision, §4.2, §4.4.
  • L. Cohen, H. Precel, H. Triedman, and K. Fisler (2021) A New Model for Weaving Responsible Computing Into Courses Across the CS Curriculum. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 858–864. External Links: Link, ISBN 9781450380621, Document Cited by: §2.1, §3.2, §3, §3.
  • S. Costanza-Chock (2020) Design Justice: Community-Led Practices to Build the Worlds We Need. The MIT Press, Cambridge, MA, USA. Cited by: §1, §2.1, §2.2, §2.3, §3.1, §3.2, §3, item Ethics, §4.2, §4.2, §4.4, §4, §4.
  • K. Davis, S. V. White, B. Dinah, and A. Scott (2021) Culturally Responsive-Sustaining Computer Science Education: A Framework. Technical report Kapor Center. External Links: Link Cited by: §1, §2.2, item Identity, §4.2, §4.3.1, §4.3.3, §4.3.4, §4.3.6, §4.3, §4.4.
  • S. A. Doore, C. Fiesler, M. S. Kirkpatrick, E. Peck, and M. Sahami (2020) Assignments that Blend Ethics and Technology. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 475–476. External Links: Link, ISBN 9781450367936, Document Cited by: §2.1, §3.
  • R. Ferreira and M. Y. Vardi (2021) Deep Tech Ethics: An Approach to Teaching Social Justice in Computer Science. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 1041–1047. External Links: Link, ISBN 9781450380621, Document Cited by: §2.1, §3.
  • C. Fiesler, M. Friske, N. Garrett, F. Muzny, J. J. Smith, and J. Zietz (2021) Integrating Ethics into Introductory Programming Classes. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 1027–1033. External Links: Link, ISBN 9781450380621, Document Cited by: §2.1, §3.
  • C. Fiesler, N. Garrett, and N. Beard (2020) What Do We Teach When We Teach Tech Ethics?. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 289–295. External Links: Link, ISBN 9781450367936, Document Cited by: §2.1, §3.
  • C. L. Fletcher and J. R. Warner (2021) CAPE. Communications of the ACM 64 (2), pp. 23–25. Cited by: §1, §1, §3.2, §3.2.
  • N. Garrett, N. Beard, and C. Fiesler (2020) More Than ”If Time Allows”: The Role of Ethics in AI Education. In Proceedings of the AAAI/ACM Conference on AI, Ethics, and Society, New York, NY, USA. External Links: ISBN 9781450371100, Document Cited by: §2.1.
  • B. J. Grosz, D. G. Grant, K. Vredenburgh, J. Behrends, L. Hu, A. Simmons, and J. Waldo (2019) Embedded EthiCS. Communications of the ACM 62 (8), pp. 54–61. External Links: Link, Document, ISSN 0001-0782 Cited by: §2.1, §3.
  • A. Hubbard Cheuoua (2021) Confronting Inequities in Computer Science Education: A Case for Critical Theory. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, New York, NY, USA. External Links: ISBN 9781450380621, Document Cited by: §1, §1, §3.
  • Y. Kafai, C. Proctor, and D. Lui (2019) From Theory Bias to Theory Dialogue. In Proceedings of the 2019 ACM Conference on International Computing Education Research, New York, NY, USA, pp. 101–109. External Links: Link, ISBN 9781450361859, Document Cited by: §3.3, §4.1, §4.2, §4, §4.
  • A. Kamil, J. Juett, and A. DeOrio (2019) Gender-balanced TAs from an Unbalanced Student Body. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education, New York, NY, USA. External Links: ISBN 9781450358903, Document Cited by: §4.3.6.
  • A. J. Ko, A. Oleson, M. Kirdani-Ryan, Y. Register, B. Xie, M. Tari, M. Davidson, S. Druga, and D. Loksa (2020) It is time for more critical CS education. Communications of the ACM 63 (11), pp. 31–33. External Links: Link, Document, ISSN 0001-0782 Cited by: §1, §1, §2.1, §3.1, §3.2, §3.3, §3.
  • C. Kussmaul (2012) Process Oriented Guided Inquiry Learning (POGIL) for Computer Science. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, New York, New York, USA. External Links: ISBN 9781450310987, Document Cited by: §4.3.2, §4.3.4.
  • K. Lin (2021) Do Abstractions Have Politics? Toward a More Critical Algorithm Analysis. In 2021 Research on Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT), External Links: Link Cited by: item Ethics, §4.2, §4.2, §4.
  • B. Liskov and S. Zilles (1974) Programming with abstract data types. ACM SIGPLAN Notices 9 (4), pp. 50–59. External Links: Link, Document, ISSN 0362-1340 Cited by: §4.
  • T. C. Madkins and M. McKinney de Royston (2019) Illuminating political clarity in culturally relevant science instruction. Science Education 103 (6), pp. 1319–1346. External Links: Link, Document, ISSN 0036-8326 Cited by: §2.3, §3.
  • J. W. Malazita and K. Resetar (2019) Infrastructures of abstraction: how computer science education produces anti-political subjects. Digital Creativity 30 (4), pp. 300–312. External Links: Link, Document, ISSN 1462-6268 Cited by: §1, §2.1, §2.2, §3.1, §3, §4.2, §4.2, §4.2, §4.3.2, §4, §4.
  • J. Moore (2020) Towards a more representative politics in the ethics of computer science. In Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency, New York, NY, USA, pp. 414–424. External Links: Link, ISBN 9781450369367, Document Cited by: §2.1, §2.3.
  • T. M. Philip and P. Sengupta (2021) Theories of learning as theories of society: A contrapuntal approach to expanding disciplinary authenticity in computing. Journal of the Learning Sciences 30 (2), pp. 330–349. External Links: Link, Document, ISSN 1050-8406 Cited by: §2.3, §3.1, §3.3, §3.
  • L. Porter, D. Zingaro, C. Lee, C. Taylor, K. C. Webb, and M. Clancy (2018) Developing Course-Level Learning Goals for Basic Data Structures in CS2. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 858–863. External Links: Link, ISBN 9781450351034, Document Cited by: §4.2, §4, §4.
  • I. D. Raji, M. K. Scheuerman, and R. Amironesei (2021) You Can’t Sit With Us. In Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency, New York, NY, USA, pp. 515–525. External Links: Link, ISBN 9781450383097, Document Cited by: §1, §2.1, §2.1, §2.1, §2.3, §3.3, §3.
  • Y. A. Rankin, J. O. Thomas, and S. Erete (2021) Real Talk: Saturated Sites of Violence in CS Education. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, Vol. 12, New York, NY, USA, pp. 802–808. External Links: Link, ISBN 9781450380621, Document Cited by: §2.2, §3.1, §3.2, §3, §3, §4.3.1.
  • Y. A. Rankin and J. O. Thomas (2020) The Intersectional Experiences of Black Women in Computing. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 199–205. External Links: Link, ISBN 9781450367936, Document Cited by: §1, §2.2, §3.2, §3.
  • R. Reich, M. Sahami, J. M. Weinstein, and H. Cohen (2020) Teaching Computer Ethics. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 296–302. External Links: Link, ISBN 9781450367936, Document Cited by: §2.1, §3.
  • J. J. Ryoo, T. Tanksley, C. Estrada, and J. Margolis (2020) Take space, make space: how students use computer science to disrupt and resist marginalization in schools. Computer Science Education 30 (3), pp. 337–361. External Links: Link, Document, ISSN 0899-3408 Cited by: §1, §2.1, §2.2, §2.3, §3.2, §3.3, §3, §3, §4.2, §4.4.
  • J. J. Ryoo (2019) Pedagogy that Supports Computer Science for All. ACM Transactions on Computing Education 19 (4), pp. 1–23. External Links: Link, Document, ISSN 1946-6226 Cited by: §1, §1, §3.1, §3.
  • J. Saltz, M. Skirpan, C. Fiesler, M. Gorelick, T. Yeh, R. Heckman, N. Dewar, and N. Beard (2019) Integrating Ethics within Machine Learning Courses. ACM Transactions on Computing Education 19 (4), pp. 1–26. External Links: Link, Document, ISSN 1946-6226 Cited by: §2.1, §2.1, §3.
  • N. Shah, J. A. Christensen, N. A. Ortiz, A. Nguyen, S. Byun, D. Stroupe, and D. L. Reinholz (2020) Racial hierarchy and masculine space: Participatory in/equity in computational physics classrooms. Computer Science Education 30 (3), pp. 254–278. External Links: Link, Document, ISSN 0899-3408 Cited by: §1, §2.2, §3.2, §3, §4.3.1, §4.3.2.
  • M. Skirpan, N. Beard, S. Bhaduri, C. Fiesler, and T. Yeh (2018) Ethics Education in Context. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 940–945. External Links: Link, ISBN 9781450351034, Document Cited by: §2.1, §3.
  • S. Vakil and M. M. de Royston (2019) Exploring Politicized Trust in a Racially Diverse Computer Science Classroom. Race Ethnicity and Education 22 (4), pp. 545–567. External Links: Link, Document, ISSN 1361-3324 Cited by: §1, §3.
  • S. Vakil and J. Higgs (2019) It’s about power. Communications of the ACM 62 (3), pp. 31–33. External Links: Link, Document, ISSN 0001-0782 Cited by: §2.1, §2.1, §3.3, §3, item Political vision.
  • S. Vakil (2018) Ethics, Identity, and Political Vision: Toward a Justice-Centered Approach to Equity in Computer Science Education. Harvard Educational Review 88 (1), pp. 26–52. External Links: Link, Document, ISSN 0017-8055 Cited by: §1, §1, §1, §2.1, §2.2, §2.2, §2.3, §2.3, §2, §3.1, §3.1, §3.2, §3.3, §3, §3, §4.3.3, §4.
  • S. Vakil (2020) “I’ve Always Been Scared That Someday I’m Going to Sell Out”: Exploring the relationship between Political Identity and Learning in Computer Science Education. Cognition and Instruction 38 (2), pp. 87–115. External Links: Link, Document, ISSN 0737-0008 Cited by: §1, §1, §1, §2.1, §2.2, §2.2, §3.1, §3.3, §3, §4.1, §4.2, §4.2, §4.4, §4.
  • A. N. Washington (2020) When Twice as Good Isn’t Enough. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, New York, NY, USA, pp. 213–219. External Links: Link, ISBN 9781450367936, Document Cited by: §2.2, §2.2, §3.2, §3, §4.3.4, §4.3.6.