Human-Centered Computing

Human and Organizational Factors in Software Engineering

In his ICSE 2015 Keynote, Grady Booch said, "Software is the invisible writing that whispers the stories of possibility to our hardware." Software developers are "story makers and story tellers."
Software engineering is essentially a human activity. Empirical Software Engineering could help us better understand this activity. One of my main research interests is to apply Empirical Software Engineering to help software professionals develop high-quality software artifacts in the process of product implementation.

Empirical Studies of Artificial Intelligence

Understanding artificial intelligence requires examining both its capabilities and the people who use it. My research applies empirical methods to study how professionals adopt AI, how people interpret AI-generated content, and what biases and assumptions appear in its outputs. Through these studies, I aim to help individuals and organizations make informed decisions about AI and use it responsibly, with attention to human judgment, fairness, and accountability.

CS for K–12 Education

Expanding access to computer science begins with supporting the educators who introduce it to students. My research examines how K–12 educators develop programming skills and AI literacy, what challenges they encounter, and how professional learning can support their classroom practice. Through this work, I aim to help educators build confidence and create meaningful computing opportunities for students, particularly in rural and under-resourced communities.