Improving computer science education w/ explicit instruction

Introductory computing courses are often exclusionary spaces where students with prepartory privillege (e.g. prior programming experience, supportive peers) can succeed and those who don’t feel they are “coders” face unnecessary challenges. This projects works towards the vision of making introductory computing courses equitable learning experiences by designing instruction that teaches fundamental but often overlooked programming skills. See our 2019 CSE paper that explains our theory of instruction for programming skills and how a curriculum based on it resulted in better learning.

I have tried to make introductory programming courses more accessible by designing and evaluating explicit instruction, strategies that provide instruction and scaffolded practice opportunities to teach specific introductory programming skills. Our work has found that simple strategies can improve how students read/trace code.

This work is in collaboration with the UW College of Education.


Integrated with CS Principles (2019): In collaboration with GT Wrobel, Baker Franke, and Hannah Walden at, we integrated strategies and ideas from this paper into’s Computer Scince Principles 2020-‘21 curriculum to help improve the experiences of the 50,000 students a year who use it to learn computing!

Benjamin Xie
Postdoctoral Scholar

Designing interactive tools for equitable computing education.