How could we truly include under-represented students in Computer Science Education

Elavarasi Manogaran
7 min readAug 30, 2022

--

Couple of seventh graders with paper boats in their hand during their computer classes
Seventh grade students exploring Computer Science from a Govt. school at Uri, Jammu & Kashmir

What if computer science (CS) was introduced early to me in K-12? What if I knew I should anticipate challenges and set-backs and fail forward in my CS classes? If only I knew the beauty and joy of computer science was invariably imbued in my own culture. If only I knew I could improve my socio-emotional quotient as I’m sitting and coding in my computing class. What if CS education were a bit more affordable and accessible?

Being a computer science post graduate, teacher and researcher, I have had the privilege to ponder over these questions for substantially longer than usual. I took a valorous twist in my career and landed up in the CS education space on an odyssey from teaching and researching in the universities to K-12, from the UK, Singapore and urban south India to the rural north, from teaching coding to creating culturally responsive computing curriculum.

In 2022, our team at Pi Jam Foundation, with support from UNICEF India, Samagra Shiksha, JKKN and Diksha set out on a mission to create a contextualized curriculum, Let’s Code to help students in Kashmir learn computer science. Kashmiri students remain one of the most marginalized and under-represented people in the world. ‘Digital divide’ or access to technology was not the only barrier in this context. Kashmiri students are shy, sensitive and soft-spoken. But the other day, these students’ faces lit as they were trying to express their love of the Kashmir valley — apples, mountains and snow. The lack of access wasn’t deterring these students from dreaming big. They wanted to solve their communities’ biggest challenges like access to school, unprecedented weather etc, through technology. Reading between the lines, the wounds from their past history and culture was also evident. Even the act of showing up to school was huge and overwhelming and having a video-based instruction was the most favorable mode of learning. These historically excluded students, especially girls and women deserve much more than a small introduction to CS. We cannot let them slip through the cracks.

How do we create a course which is more inclusive and broaden participation among under-represented students, especially young girls and minorities? I’m sharing our journey of curriculum creation, so the rest of the world can mull over some of these best practices and implement some on your own communities.

1. Include students’ tribe in the curriculum

Computer Science and STEM is often portrayed as a far-fetched pursuit. Breaking the bias and stereotypes around who can learn computer science and the choice of careers associated with the field is pivotal. When students see themselves and their environments in what they learn, they are most likely to find learning more meaningful and purposeful. Besides showing familiar names in the field (poets, navy generals and lawyers, who also excelled in computer science and STEM), we included young role models from their own community to let students feel they belong in computing and STEM. Some of them are Ayesha Aziz, a young pilot, who got her flying license at 16 years and Mawya Sudan, the 12th Indian fighter pilot in the Indian air force. We even took a riveting step ahead and introduced a fictional, humanoid android co-instructor to help with the course and named her A.I.S.H.A (Artificial Intelligence She/Her Humanoid Android). AISHA being an AI herself, learnt alongside and progressed throughout the course.

A.I.S.H.A (Artificial Intelligence She/Her Humanoid Android), the fictional AI humanoid android co-instructor, illustrated by Nitya Tiwari

2. Make problem solving meaningful

In CS curriculum, problem solving is an area often envisioned to be deserving complexity and hence lesson plans focus on the ‘challenge’ or ‘logic’ factor, instead of assessing how ‘meaningful’ or relevant it is to students. Research suggests that students especially girls, feel more confident about a problem, if it makes them feel a sense of purpose with their own community. We opted a dual-approach to problem solving using both the design and computational thinking techniques. Students can follow the design thinking approach to create projects as simple as a ‘paper boat that doesn’t sink’ to creating something as complex as a ‘wild edibles library to help improve malnutrition in India’. The key is to empathize, contemplate and question if the problem is meaningful to the student (even if it’s miniature) before dwelling deep.

3. Use semantic waves in a culturally responsive way

Semantic waves was introduced by Karl Maton as part of the Legitimation Code Theory in 2013 and was re-introduced in CS by Paul Curson, Queen Mary University of London using unplugged activities. Descending and ascending a semantic wave is especially challenging for CS concepts with high semantic complexity, like algorithms. To make this process seamless, we used culturally relevant examples during both the unpacking and repacking phase of the wave. Students learn about the concept of algorithms and abstraction by unpacking concrete examples (from the local context) like making a roti and then move up to re-pack complex meanings by creating an algorithm for a wild edibles app specific to Kashmir.

Semantic waves used to teach ‘algorithms’ in a culturally responsive way. Credits for Roti making & video by course instructor Abida Khan

4. Build on familiarity besides low floor and high ceiling

Today’s CS is not all about the hardware and software or problem solving. It also entails letting machines learn and to learn how a machine learns. It is imperative that our 21st century learners are introduced to machine learning, right after they receive a brief introduction to computer Science. However low floor it is, concepts like machine learning might be intimidating to students for the first time. Using things from their observable surface culture, helps students connect readily with any concept. “How bout them apples?”, we pondered. Kashmir’s biggest economy is the apple industry with about 70% of India’s total production of apples coming from Kashmir. We ask students to compare a robotic arm that could be trained to pick apples and analyze its efficiency with a human harvest. They not only learn how a machine could be trained but are prompted to think critically about human biases that could happen as machines were trained to harvest apples. This way, there is a lot of room for thinking, but building on the familiarity helps students learn complex concepts effortlessly.

5. Tell a tale and give life to it

Meet GPU, Cache and Drive (from left to right) who are catching up a breath amidst their food prep for their friend, Sensor’s birthday party (Illustrated by Nitya Tiwari, Edited by Vishesh Banerjee)

Ever heard this computer story?

“Cache is the super-woman who tosses the ingredients to the CPU in lightning speed — but don’t judge her by her looks! GPU is the girl who’s got talent. She could do plating, presentation and what not. She’s got a keen eye for imagery. And Drive, as you can see is a boy with special abilities. He lost his hand but uses a hand of a magic wand, to read, write or sketch almost anything. He could remember so much more than RAM and he is the one his friends rely on, to keep everything safe.”

Story-telling is an ancient, alluring and culturally universal form of teaching that students use to connect and reflect what they learn with their everyday lives. Stories have the power to reclaim the joy of learning computer science as students learn better by making content personally relevant. Above all, they feel included in the highly stereotyped field of computer science.

6. Spread waves of kindness and compassion

Computer Science is often perceived as a field that does not find any relevance with being empathetic or building morals. Research has found that CS majors are less likely to see their roles in solving global problems, fostering justice, improving other people’s lives or learning about different cultures or religion. There is a pressing need than ever, for a value-based, inclusive and equitable CS education, besides a skilled workforce. We teach students how to navigate their emotions as they code for emotions as ‘variables’, catch their thoughts using ‘conditions’ and contemplate about self-regulation as they code. Integrating socio-emotional learning in CS can guide students to be a good human besides being a good coder.

Emotions as variables (Illustrated by Nitya Tiwari)

Fostering these practices within computer science education is necessary to broaden participation in the field and to re-examine the basic assumptions around CS and technology. What if every CS classroom can make learning relevant, meaningful and spread ripples of kindness? If you are new to CS teaching, I hope you start with at least one of these practices above. I hope this speaks to your students, make them feel included in CS and make them smile a bit more every day.

***

--

--

Elavarasi Manogaran

Lead, Computer Science Curriculum & Learning, Poet who writes about CS, nature and life