People of ACM - Yasmin Kafai

May 21 , 2026

In 2013, the Scratch Foundation was established to ensure Scratch remains free and continues to serve young people. What was the impetus for starting the Scratch programming language? How do you see this popular programming language fitting into the current computer science education landscape?

We started Scratch to provide a networked, media-rich programming tool for a group of afterschool community centers called the Computer Clubhouse. We wanted kids to discover how to be creative with computing and to have a platform for sharing their designs online. Scratch made programming easier by providing a block-based language that avoided the simple syntax mistakes that often act as barriers to entry. By allowing users to integrate text, images, and sounds when programming games, stories, or animations, Scratch appeals to people with a wide variety of interests. And it turns out that kids really like sharing their creations with others, as more than 1 billion projects have been posted to the Scratch site. In many ways, Scratch started what you find today on many other sites like Minecraft and Roblox, where young designers can share their creations.

What are e-textiles, and how do they aid in computer science education?

Electronic textiles, or e-textiles, are maker activities that, like Scratch, help young people learn how physical computing artifacts are made and designed. Youth use conductive thread to sew sensors and LEDs into fabric projects, creating interactive, personalized items—such as hoodies, T-shirts, and hats—while learning programming, circuitry, and computational concepts. For many kids, making a wearable electronic textile can be an unexpectedly rich opportunity to learn about engineering and computing. The “Stitching the Loop” curriculum unit in Exploring Computer Science is a great example of how to bring e-textiles into high school classrooms.

How is teaching young people to design their own generative language models enhancing their AI literacy?

We’ve been working with high schoolers to build their own very small language models—“babyGPTs,” or scaled-down versions of generative language models—trained on limited datasets. Using the open-source nanoGPT framework, they create their own generative AI models to produce Shakespeare-inspired plays, Marvel scripts, graduation speeches, and other creative works. As the lesson progresses, students reflect on the differences between human and machine learning, learn foundational concepts about neural networks and data use, and discuss the ethics of using public data. Most importantly, they come to see that these systems are designed from beginning to end—not opaque or magical, but the result of decisions made by real people.

Many parents and educators have come to view aspects of the digital world (including video gaming and social platforms) as intentionally designed to be addictive. As we improve access to computing around the globe, what frameworks should we employ to ensure that computers do not distract from learning?

When I started researching computing education forty years ago, video games had a very similar reputation. Most people considered playing games a waste of time. I decided to change this perception by having students program their own games to teach fractions to younger students in their school. This approach turned out to be very successful, not only in introducing students to programming concepts but also in helping them learn fractions. Today, this approach of having students learn about programming by making their own applications (rather than learning isolated concepts) has become the standard in K-12 computing education. Likewise, we need to think about how we can leverage the extensive social media experiences youth already have to help them understand how applications like TikTok and Instagram are designed.

What is the next big frontier in computer science education?

People are talking about the relevance of computer science education when people will be able to generate code for applications with a simple prompt on ChatGPT, Gemini, or Claude. But how do you know whether the code works as intended? You still need debugging skills, and many say it’s harder to debug code that you haven’t written yourself. The larger issue is that learners need to develop skills that allow them to review what these applications are doing and whether there is potential harmful bias. Our current work on AI Auditing equips youth with a five-step approach to examining the output of AI applications. We have lesson plans and data sets that were developed in collaboration with computer science teachers to explore the use of AI auditing in high school classrooms.

 

Yasmin Kafai is the Lori and Michael Milken President’s Distinguished Professor at the University of Pennsylvania. A recognized leader in computer science education, she develops online tools, projects, and communities that foster coding, critical thinking, and creativity. This year she was named (with Mitchel Resnick of MIT) as the co-recipient of ACM Karl V. Karlstrom Outstanding Educator Award.

Kafai and Resnick researched and developed Scratch, the widely popular programming language and community now used by over 150 million young people worldwide. She also pioneered the use of electronic textiles in high school classrooms, which teach circuitry and coding in new ways while broadening participation in computing.

Recently Kafai has been investigating how young people can develop AI literacy by designing their own small generative language models and learning how to conduct AI audits. She is a fellow of the American Educational Research Association and the International Society of the Learning Sciences.