UC Science Connect

#3 Introducing block-based coding (Scratch)

The iCode curriculum is designed to empower young people by weaving together experiences that value individual and family identity, teach social justice, and develop computer science skills and mindsets. 


In block-based coding, computer commands are grouped together in pre-programmed blocks that coders drag and drop together to build a computer program.  Scratch uses block-based coding to introduce youth to the complex thinking and reasoning that is needed to code, or write, computer programs. Scratch was developed to help children develop computer science skills to think creatively, reason systematically, and work collaboratively with an easy-to-use coding tool.

Scratch instructional videos are designed so users can work independently and find the answers they need about how to create and edit their own code.  These videos make it easy for educators to individualize the learning experience and let youth explore and learn on their own. 

In this video, you will see young people learning learn to use Scratch to express themselves and tell stories about their family and identity.  The purpose of intertwining learning to code with thinking about their own identity is for young people to build confidence in their computational skills concurrently with exploring their identity.   The iCode curriculum was designed to engage young people from groups that are underrepresented in the computer science field and develop their computer science skills and identity so that they are more confident in considering computer science as a career choice. 

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

  • Notice how participants are learning to use Scratch. The facilitators don’t need to be experts in coding to help youth be successful in these activities.
  • What are the facilitators doing to help youth learn and be successful?
  • Listen to what youth say about their experience. 

2. Watch the video:

3. Share what you noticed:

  • What did you notice in the video?
  • How are computer science and identity intertwined in these activities?  For what purpose?
  • How did youth describe learning to code in Scratch? What are their feelings about learning to code? 

4. Teaching Culturally Relevant Computer Science

When educators allow youth to work at their own pace on a personally meaningful project, the experience can increase their motivation to succeed in the project and how much ownership they have of the final product.  This investment in the learning experience helps prepare youth to persevere through future challenges. 

This does not mean educators should not help when young people encounter difficulties, but we should solve the problem for them. Helping them search for the answer on their own or find a peer who can help them will be more valuable. Youth learn more when they help others and develop troubleshooting skills they use in other projects.

5. Key Take-Away:

  • Block-based coding helps young people to learn basic computer science concepts early, which they can then strengthen when transitioning to more traditional text-based code.
  • Helping young people troubleshoot problems in their code in part of teaching computer science.  Preparing them to find answers on their own or learn from their peers is part of culturally relevant teaching in computer science where each person’s expertise is valued.   

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: 

Scratch lets learners code their own interactive stories, animations, and games. In the process, they learn to think creatively, reason systematically, and work collaboratively — essential skills for everyone in today’s society.