#1 Addressing inequity in Computer Science

Social justice youth development fosters critical thinking in young people while encouraging them to act toward achieving an equitable distribution of resources and opportunity for all. The iCode curriculum is designed to empower young people by bringing together critical thinking about social justice with developing computer science skills and mindsets. 


Social justice holds that everyone deserves equity in economic, political, and social rights and opportunities. Making social justice part of the conversation in computer science helps youth think critically about how bias and fairness are reflected in the algorithms, coding and systems of computer science.

Systemic injustice can be created by computer programs and systems when the teams developing a computer program do not reflect the people that they are developing resources for.  Misunderstandings and implicit bias can unintentionally become part of algorithms and programming.  Diverse teams of coders are more effective in developing systems that reduce the creation of systemic injustice. 

The iCode curriculum combines unplugged activities that focus on creating a safe space for learning and working together, developing computational thinking, or understanding social justice with computer science activities where youth develop their coding skills using Scratch and micro-bit microcontroller designing and coding.  

In this video, you will see facilitators focusing on social justice, one of the underlying concepts in iCode, and how a social justice orientation to computer science may begin to address inequities in society. 

1. As you watch the video, think about this:

  • How do you support diverse youth and create brave spaces for engaging in difficult conversations?
  • What has been your experience (if any) of bias in the workplace or community settings? 

2. Watch the video:

3. Share what you noticed:

  • What did you notice in the video?
  • What is needed in a program to make youth feel safe?
  • How can youth code something about their cultural heritage?  

4. Teaching Culturally Relevant Computer Science

Teaching culturally relevant computer science is not a different way of teaching, but it may shift how you think about the work you do. The goal is to put the learners and their experiences in the forefront of your thinking as you plan and implement lessons.  Learn about young people’s families and cultural history; provide opportunities for parents and families to be involved.  Value the different points of view that each person brings to the learning experience. 

Be prepared to provide multiple opportunities for discussion and reflection (a core component of experiential learning). Have learners reflect individually, in pairs and in groups.  Use writing, talking, and other strategies for learners to record and communicate their thoughts.  The iCode curriculum provides opportunities for learners to think about and share their own experiences and then integrates their experiences into the coding activities so that coding becomes another strategy young people can use to express themselves. 

5. Key Take-Away:

  1. The iCode curriculum integrates social justice principles with computer science education.
  2. Creating brave spaces for diverse youth to engage in difficult conversations and fostering a sense of safety and belonging is crucial for effective learning.
  3. Connect computer science activities to learner’s cultural heritage, involve families, and encourage reflection through various forms of expression to make learning meaningful and inclusive.

Developed in collaboration with click2computerscience.org and UC ANR News & Information Outreach in Spanish. Funded by National Urban Research and Extension Center. 

NUREC Logo

Resources: 

These practices are also more fully described in 4-H Social Justice Youth Development: A Guide for Youth Development Professionals


Source URL: https://ucanr.edu/site/uc-science-connect/1-addressing-inequity-computer-science