Category Archives: Culturally Relevant Education

abstract wall

Breaking Barriers in Computer Science via Culturally Relevant Educational Tools (Part 3)

By Joseph Chipps, Ed.D.

In the last post, I gave background on ethnocomputing and culturally situated design tools, two constructs I used to develop culturally relevant education in newer, equity-designed computer science classes (e.g., Exploring Computer Science (ECS)1 and AP Computer Science Principles (AP CSP)2). It is much more challenging to build those theories and tools into AP Computer Science A due to the use of shared tools and languages. So what can be done in AP Computer Science A?

First, we can increase sociopolitical awareness. In computing, we invite students to identify and address social inequities as developers of technology. For example, in the e-textiles unit of ECS, students construct a textile computing artifact with touch sensors, and collect the ranges read by the sensor when their peers use the artifact. As each student will produce a different range, the developer must synthesize the data while coding to make distinct cases for their product to follow. Inevitably, some students will be unable to use the product due to gender or race because of the way the technology was developed. This then leads to discussions of technology as biased (i.e., airport scanners discriminate against people of color (POC) and facial recognition not recognizing POC). An opportunity I took in the AP Computer Science A curriculum was to introduce the concept of variable declarations using a Student object that contains data (name, age, gpa, and gender). I invited groups of students to discuss what type of data they would make each variable, and to explain their reasoning. Some of the groups assigned gender to a boolean variable (one of two possible states, i.e. true/false) while others assigned gender to a String variable (any array of characters, i.e. “Female”). As students shared stories and engaged in dialogue, the class quickly realized that assigning gender to a boolean value transfers human bias to technology, and rejects the existence of non-binary genders.

Second, we can implement practices from culturally relevant education by using the experiences of students as an asset in the classroom. One of the ways to attach learning to the experiences of students is to connect curriculum to the real world. For example, DiSalvo, Guzdial, Bruckman, and McKlin3 studied how high school Black and Latino male students negotiate between geeking out and being cool when testing games. When students learned it was a real job in the world, students were more likely to maintain their interest and identity in computer science. A second way to attach learning to the lived experiences of students is to connect to students’ perceptions of self (or self-identity). Frederick, Donnor, and Hatley4 conducted a meta analysis of culturally responsive education (CRE) programs in technology education, and determined that courses that utilize CRE should acknowledge students’ representations of self. To achieve this, curriculum should present diverse and realistic perspectives as well as provide spaces for students’ voices and self-expression. I cannot think of examples in computer science; however, Nichole Pinkard’s5 (2001) Rappin’ Reader and Say, Say, Oh Playmate expertly used oral traditions and play rituals, prior knowledge of African-American children, as a method of early literacy instruction. Furthermore, the authors advise that those who acknowledge lived experiences of students also need to find ways to counter harmful narratives and deficit identity formation.

Third, we can build connections with local community members. For example, Lachney6 leveraged the expertise of programmers, students, and schools in the development of the cornrow curves CSDT. The programmers worked with community hair braiders to help develop the computational patterns in the software. But how do we build culturally situated design tools that can be part of the shared tools and languages of industry? Ogbonnaya-Ogburu, Smith, To, and Toyama7 adapted critical race theory to human-computer interaction (HCI) and concluded that the technology sector is prone to interest convergence; that is, the inclusion of POC in technology requires benefits to those in power. For example, changes in designs may not occur unless they help all people, not just POC. Talking with students about this helps create awareness. This overlaps with good techquity practices.

Finally, we can invite students to personalize computing artifacts. Kafai, Fields, and Searle8 studied the experiences of students personalizing electronic textile projects. The final project of the e-textiles unit invites students to develop any textile artifact of their choice as long as it has touch sensors and LEDs, and exhibits four different behaviors based on the user input. Projects have included play mats that force arguing siblings to hold hands for a certain amount of time, t-shirts and hats that display teams and schools in bright lights, and plush dolls that play music when squeezed. The authors found that allowing for personalization showcased aesthetic designs while revealing the diversity embedded in technology development.

When I design CRE curriculum for computer science, I frame the class as project-based, where students collaboratively construct videos, images, applications, presentations, pdfs, and other artifacts to demonstrate their understanding of material. Rather than present information for them to consume, I provide methods of inquiry, where students must reflect, research, discuss, and build their own understanding of content from their unique sociocultural context. Inquiry is situated on real-world contexts. When I can, I invite students to develop their artifacts using culturally situated design tools. To go beyond the curriculum, I challenge students to question the impacts of computing on the economy, society, and culture while providing space for ideas and dialogue, independent of a patriarchal, capitalist, and white framework. Which algorithms are biased, and how can we deconstruct bias within the logic? What does an anti-racist programming language look like?  How do we counter deficit narratives in classes like AP Computer Science A, where the shared tools and languages could negatively impact purposefully excluded communities (PEC)s. And to reiterate, what does anti-racist eduction look like when students are forced to use the shared tools and languages of a profession that purposely excludes them?

Read Part 1 of the series.

Read Part 2 of the series.

  1. Goode, J., Chapman, G., & Margolis, J. (2012). Beyond curriculum: The Exploring Computer Science Program. ACM Inroads, 3(2), 47–53. https://doi.org/10.1145/2189835.2189851
  2. Astrachan, O., Cuny, J., Stephenson, C., & Wilson, C. (2011, March). The CS10K project: mobilizing the community to transform high school computing. In Proceedings of the 42nd ACM technical symposium on Computer science education (pp. 85-86).
  3. DiSalvo, B., Guzdial, M., Bruckman, A., & McKlin, T. (2014). Saving face while geeking out: Video game testing as a justification for learning computer science. Journal of the Learning Sciences, 23(3), 272-315.
  4. Frederick, R., Donnor, J., & Hatley, L. (2009). Culturally responsive applications of computer technologies in education: Examples of best practice. Educational Technology, 49(6), 9-13.
  5. Pinkard, N. (2001). Rappin’ Reader and Say Say OH Playmate: Using Children’s Childhood Songs as Literacy Scaffolds in Computer-Based Learning Environments. Journal of Educational Computing Research, 25(1), 17–34. https://doi.org/10.2190/B3MA-X626-4XHK-ULDR
  6. Lachney, M. (2017) Culturally responsive computing as brokerage: Toward asset building with education-based social movements. Learning, Media and Technology, 42(4), 420-439. doi:10.1080/17439884.2016.1211679
  7. Ogbonnaya-Ogburu, I. F., Smith, A. D., To, A., & Toyama, K. (2020, April). Critical Race Theory for HCI. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (pp. 1-16).
  8. Kafai, Y. B., Fields, D. A., & Searle, K. A. (2014). Electronic textiles as disruptive designs: Supporting and challenging maker activities in schools. Harvard Educational Review, 84(4), 532-556. doi:10.17763/haer.84.4.46m7372370214783
Close-up of hands on a laptop computer

Breaking Barriers in Computer Science via Culturally Relevant Educational Tools (Part 2)

by Joseph Chipps  Ed.D.

In the last post, I gave background on my school, situation, and the problems I was trying to address to bring in more people of color (POC) and females into the white and Asian male dominated Computer Science (CS) courses in my school. I also gave background on Culturally Relevant Education (CRE)1 the term I will use that encompasses culturally relevant pedagogy and culturally relevant teaching.

In order to develop Exploring Computer Science (ECS)2 and AP Computer Science Principles (AP CSP)3 using a culturally relevant educational framework, curriculum developers of those courses relied on theories and tools positioned within culturally relevant education: ethnocomputing and culturally situated design tools.

Ethnocomputing attempts to bridge the gap between culture and computing in that it assumes that computing is not a neutral activity; rather, computing is informed by capitalist, patriarchal, and western logic, beliefs, and tools4. Ethnocomputing originated from the idea that computing should be taught using relevant cultural artifacts and references of the local learners; that is, the cultural contexts of the learner5. In the ECS curriculum, through collaborative practices and methods of inquiry, students develop their own understanding of computing using journal writing, dialogue, construction of culturally meaningful artifacts, and presentations. In the code.org AP CSP curriculum, students develop a protocol for sending a color image through a network by creating their own personal favicon, the little icon at the top of a browser tab. This activity allows students to develop icons from their sociocultural backgrounds; students create their own symbols for computing, and through those symbols construct meaning as well as perception of self. Furthermore, the biases of the instructor are acknowledged as students work together to construct their own ideas and interpretations of computing.

AP Computer Science A externally tests students’ understanding of Java, an object-oriented programming language. Object-oriented refers to a style of programming in which we use data structures called objects to hold data that belongs to the object (i.e. a Student’s name, age, and gpa). I give a detailed example at the end of the post, that shows how I attempt to use items from students’ lived experiences to construct the rationale and embedded logic of encapsulating data within a single entity while using a design artifact from industry to help students code-switch.

As I teach about Class and Object in Java, I know they are symbolic tools, shaped by generations of programmers over time. Even the diagram in the example below is a constructed symbol, formed by decisions and negotiations over time within the programming community. So I have to ask: am I acclimating my students to cultural norms embedded within a larger system that purposely excludes them or am I supporting their futures by teaching them tools and languages required for code-switching?

ECS and AP CSP have the privilege of using tools and languages not shared by the programming community because they were designed to exist outside of professional communities for the specific purpose of increasing participation, but activity within a course that has historically used industry standard languages will always be mediated by the shared tools and languages of the professional community. Yes, I can create student-centered activities that allow students to construct their own ideas of concepts and logics, and invite students to raise sociopolitical consciousness in their and other communities. But am I doing a disservice to those students by forcing them to construct the logic, symbols, and beliefs of a culture that purposely excludes them? Or am I helping them enter this community?

Culturally Situated Design Tools (CSDT) support ethnocomputing in that they are collaboratively developed tools that exist outside of the shared tools of computing, and are inspired by purposefully excluded communities (PEC) culture. For example, a collaborative project in ECS requires students to present the cultural background of Native American bead looms, connections between bead looms and mathematics, and their own authentic bead loom designs that they construct using a CSDT. Embedded in this lesson is the realization that computing and mathematical concepts are not singularly defined and owned by white, patriarchal, western history; rather, embedded within Native American cultures. Alternatively, in ECS, after learning the history of cornrows, students use a CSDT to design and reflect on the mathematics of cornrow curves. Students investigate recursion through a CSDT that simulates cornrow curves. When I was taught recursion in a Java class, I heard names like Fibonacci and solved problems that required some understanding of basic number theory. Students constructing recursive artifacts using a non-western tool like a cornrow design simulator is anti-racist computing education. We are putting the stories that were removed from education back into the curriculum.

But what does a CSDT look like when the purpose of a course is to introduce students to the shared tools and languages of the professional community? How can we leverage the experiences and voices of those who have not been included in the development of tools we use to design and execute computing? How do we promote anti-racist education when the tools and languages we use are embedded in exclusionary culture6? These were the barriers I faced when trying to implement ethnocomputing via culturally situated design tools in my AP Computer Science A curriculum. I still do not have answers. Perhaps a next step in computing is to design anti-racist computing tools and languages for industry. How can we use heritage cultural artifacts and vernacular culture to support the development of anti-racist computing tools and languages that can be used in industry as well as education? In my next post, I will explore what can be done in courses like AP Computer Science A such as increasing sociopolitical awareness, using the experiences of students, building connections within the community, and personalizing student-constructed artifacts.

Java Example Details:

For example, a class called Student would be an archetypical framework for how to define a student in a computer, and would include three parts: what data a student has (name, age, gpa, etc); how to create a student (which data can we set initially vs which data can be set later) and; actions we can do with the student data (update data, access data, add new scores to the gpa). While a class is a template for an object, an object is an instance that we can create. For example, once I have defined the template for what a Student is in a file called Student.java, then in a runner file, I can create a Student named Alice and input all of Alice’s data. I can then store all of Alice’s data within the object called Alice. Over time, I can access and manipulate Alice’s data, and even have Alice’s data interact with other Students’ data if, for example, I want to know the average GPA of the school or any selection of Students. The concept of objects is essential to AP Computer Science A. Consequently, I developed a lesson inspired by ethnocomputing for the first week of the course that would invite students to interpret experiences from their life into an object (discussed above). Figure 1 shows an example of what students must create.

MatzohBallSoup
– chefName : String

– ingredientNum : int

– temperature : double

+ getChefName(): String

+ getIngredientNum(): int

+ getTemperature(): double

+ setChefName(String): void

+ setIngredientNum(int): void

+ setTemperature(double): void

+ toString(): String

 Figure 1. Example of object design from my Java curriculum

Read Part 1 of the series.

Read Part 3 of the series.

  1. Aronson, B., & Laughter, J. (2016). The theory and practice of culturally relevant education: A synthesis of research across content areas. Review of Educational Research, 86(1), 163-206. doi: 10.3102/0034654315582066
  2. Goode, J., Chapman, G., & Margolis, J. (2012). Beyond curriculum: The Exploring Computer Science Program. ACM Inroads, 3(2), 47–53. https://doi.org/10.1145/2189835.2189851
  3. Astrachan, O., Cuny, J., Stephenson, C., & Wilson, C. (2011, March). The CS10K project: mobilizing the community to transform high school computing. In Proceedings of the 42nd ACM technical symposium on Computer science education (pp. 85-86).
  4. Tedre, M., Sutinen, E., Kahkonen, E., & Kommers, P. (2006). Ethnocomputing: ICT in cultural and social context. Communications of the ACM. 49(1), 126-130. doi: 10.1145/1107458.1107466
  5. Babbitt, B., Lyles, D., & Eglash, R. (2012). From ethnomathematics to ethnocomputing. In Swapna Mukhopadhyay & Wolff-Michael Roth (Eds.). Alternative forms of knowing mathematics (pp. 205–219). doi: 10.1007/978-94-6091-921-3_10
  6. Margolis, J., Estrella, R., Goode, J., Holmes, J.J. and Nao, K. Stuck in the Shallow End: Education, Race, and Computing. MIT Press, Cambridge, MA, 2010.