C
O
D
E

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
Code.org empowers students of all levels to code
102M
Code.org students
50%
Underrepresented racial/ethnic groups
232M
Student projects
48%
Female & gender expansive
As a leader in free K–12 computer science education, Code.org continually works to make coding accessible and engaging for all students.
After launching their first iteration of a Python course, they wanted to push its inclusivity and engagement even further.
They approached our team to analyze the competitive landscape and reimagine a more compelling learning experience.
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

Learning preferences quiz
To know how they learn best

Customized lessons
To adjust to their pace

Group coding activity
To imbed relevance & collaboration

Wondering how we got to this?
Let’s back up and dive into how our research findings informed each section.
Embracing collaborative, personalized, and simple CS instruction leads to higher engagement
Literature review
13 peer-reviewed sources
Competitive analysis
5 companies
SME interviews
4 participants
Heuristic evaluation
Nielsen's 10 heuristics
The following research methods were conducted to uncover how students, especially those underrepresented in the coding space, experience CS and how to best engage them in future designs.
Key research findings
-
Lean into the power of community
-
Weave approachable and engaging narratives
-
Refine and simplify interfaces
Combining music, coding, and team work to get learners engaged
Let's dive into how the group challenge came to fruition!
Through our literature review, we found that abstract, test-heavy curricula can reinforce stereotypes of innate talent. To combat this, we connected lessons to students’ interests and emphasized teamwork to make computer science more meaningful, engaging, and collaborative.
Brainstorming themes, layouts, & interactions
There were lots of different directions we could go for the group challenges theme.
Some of our initial ideas consisted of building the parts for a robot or baking a cake! ​

Crazy 8's exercise

Build-A-Robot wireframe idea
We had a lot of fun brainstorming, but we kept coming back to music!
In our lit review, we found amazing inspiration from from EarSketch, a music coding program shown to boost engagement, especially among underrepresented learners. ​
Building the Music Visualizer Python Challenge

Shapes are assigned based on Python knowledge to match each student’s skill level
In this activity, students are assigned a shape to code and animate in sync with music to create a collaborative music visualizer.
Using Python constructs like loops and functions, their code appears on a shared canvas and comes together in a final group performance.
The coding console

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!