top of page

C

O

D

E

Screenshot 2025-10-14 at 11.31.31 AM.png

Building belonging and peer connection in Code.org’s Python high school course

Overview

With Python’s relevance on the rise, Code.org sought to create a more engaging curriculum that got students excited to code. After months of research, we gained an understanding of current best pedagogy, barriers to learning, ways to address those barriers, and the current market space. This knowledge informed our mid-fi design creation, resulting in a two part design solution involving a personalized onboarding experience and a collaborative group project.

My role

UX Researcher & UX Designer

Timeline

March to August

Team size

4

Tools

Figma, Maze, & Optimal Workshop

How can we get high school students excited and engaged in learning Python?

This was the initial question we asked ourselves. 5 months later, this was our creation!

Avatar

To build connectedness

AI CodeMate - Step 1.jpg

Learning preferences quiz

To know how they learn best

Screenshot 2025-09-10 at 2.05.23 PM.png

Customized lessons

To adjust to their pace

Quiz Results.jpg

Group coding activity

To imbed relevance & collaboration

Screenshot 2025-09-10 at 2.18.36 PM.png

Wondering how we got to this?

Let’s back up and dive into how our research findings informed each section.

Building representation through avatars

Research uncovered that underrepresentation in computer science can undermine belonging, lowering growth mindsets and making students less likely to see themselves in the field.

AI CodeMate - Step 1_edited.jpg

We saw an opportunity to strengthen students' representation by allowing them to design avatars (CodeMates) that reflected themselves, fostering belonging.​

Skin tone wheel allows for a highly customized complexion.

Option to randomize avatar's features.

Customize hair, headwear, expressions, pronouns, etc.

Testing shows that avatars might not be the answer for representation but they do strengthen connectedness

In a quantitative test of 30 participants, we asked:

How well does your CodeMate represent you? 

30%

Answered "well" or "very well"

Do you feel more connected to the platform?

73.3%

Answered "more connected"

The takeaway: Representation is still important, but avatars might not be the best way to acheive it. Instead, avatars may best serve to strengthen the connection users feel to the platform.
Next steps: More research into alternative avatars, such as animals, could tell us more about what connects users to the platform best.

Understanding learning preferences to tailor the course

Personal surveys that capture students’ interests and goals help tailor projects to their lives, making computer science more engaging and accessible.

Screenshot 2025-09-10 at 2.05.23 PM.png

We designed a learning preferences self-assessment to ensure students learn in supportive environments, with results shared to teachers for personalized guidance.​

Answers can be multi-selected.

Free form answer boxes are available.

In the future: This data could inform how the course adapts and presents material.

Customization resonated well with users

On round 1 & 2 of testing, 60 users rated how useful the customized lesson was on a 5-point Likert scale:

86.7%

Chose "useful" or "very useful"

[Customization] allows me to feel more connected since it shows...[my] experience will be different from another person’s experience.

- Maze participant, round 1 testing

Combining music, coding, and team work to get learners engaged

Abstract, test-heavy curricula can reinforce stereotypes of innate talent. Connecting lessons to students’ interests and emphasizing teamwork makes computer science more meaningful, engaging, and collaborative.

Group project intro.jpg

We leaned into music to connect students’ interests with coding, drawing inspiration from EarSketch, a music coding program shown to boost engagement, especially among underrepresented learners.

​

In this activity, groups apply Python constructs like loops and functions to animate shapes in sync with music on a shared canvas.

Shapes are assigned based on Python knowledge to match each student’s skill level

Group Coding-1.jpg

Shared canvas shows teammates' shapes interacting 

Their CodeMate from onboarding is available in an AI Chatbot form

Task timer keeps teammates on track

Each person has their own coding workspace as well as access into their group's code

Task tracker keeps teammates aligned on their goals

This project got users excited to code!

On round 2 testing, 30 users rated how inviting the group challenge felt on a 5-point Likert scale:

80%

Chose "inviting" or "very inviting"

“The group challenge felt fun and creative, especially with the band theme and shared canvas. It encouraged collaboration and self expression.”

- Maze participant, round 1 testing

Customizable and collaborative coding lessons improved engagement

Getting students engaged and interested in Python deserves a multi-tactic approach. Students have many different backgrounds, interests, and learning styles. The best way to cater towards those differences is to make a curriculum that is flexible enough to mold to their needs! 

bottom of page