Faculty in CSE @ UC San Diego
My research is in computing education, with a focus on improving how we teach computer science to meet the needs of all learners and prepare them for successful careers in technology. As Principal Investigator (PI) for multiple NSF-funded projects, I investigate fundamental questions about how students learn computing, how course design affects student outcomes, and how we can create more inclusive and effective educational environments. My work is grounded in rigorous educational theory, employs both quantitative and qualitative research methods, and emphasizes translating research findings into practical classroom interventions that benefit students and educators. Through this research, I aim to advance both our theoretical understanding of computing education and the practical preparation of the next generation of software developers and computer scientists.
My research thrives on collaboration. I work closely with faculty, graduate students, and undergraduate students across multiple institutions, including the University of California San Diego (UCSD), University of Wisconsin-Madison, and College of Engineering Guindy, India. These partnerships are essential to my research philosophy: each collaborator brings unique perspectives and expertise that strengthen our collective work. The projects described here represent true team efforts, and I am grateful for the insights and contributions of every collaborator.
The complete list of my research publications can be found on my Google Scholar profile.
One of the most significant challenges facing computing education today is the academia-industry gap in preparing students for professional software development. While undergraduate computer science curricula excel at teaching students to write programs from scratch, industry positions typically require developers to work with large, pre-existing codebases—a skill rarely taught in traditional academic settings. This NSF-funded research project addresses this critical gap by developing and evaluating pedagogical approaches to help students develop program comprehension skills necessary for working with large-scale software systems.
Recent studies indicate that professional software developers spend approximately 58% of their time understanding existing code rather than writing new code. Despite this reality, most computing courses focus primarily on teaching students to build programs from the ground up, leaving them unprepared for the comprehension-intensive nature of industry work. This disconnect contributes to the challenges new graduates face when transitioning from academic environments to professional software development roles.
This project investigates several key questions:
The project is grounded in two complementary theoretical frameworks:
Cognitive Apprenticeship Theory: This framework emphasizes learning through observation, scaffolding, and guided practice. In the context of program comprehension, students learn by observing expert strategies for code navigation, receiving structured support as they develop their own approaches, and gradually taking on more complex comprehension tasks.
Information Foraging Theory: Originally developed to explain how people seek information, this theory provides insights into how programmers navigate codebases. Students learn to recognize valuable “information scent” in code, develop efficient search strategies, and make cost-benefit decisions about where to focus their comprehension efforts.
The research employs a multi-faceted approach:
Course Development: Creating a high-impact course specifically designed to teach program comprehension skills through hands-on work with real-world, large-scale codebases.
Empirical Studies: Conducting systematic studies to understand how students comprehend code, identify common challenges, and evaluate the effectiveness of different teaching strategies.
Tool Development: Developing or adapting tools that support program comprehension learning, potentially including visualization tools, code navigation aids, and comprehension scaffolds.
Assessment Design: Creating valid and reliable assessment methods to measure students’ program comprehension abilities and track their development over time.
This research has the potential to:
The project outcomes, including curriculum materials, teaching strategies, and research findings, will be shared with the broader computing education community through:
This project is supported by the National Science Foundation (NSF), Award #2417531, as part of their commitment to improving undergraduate STEM education and addressing workforce development needs in computing.
This NSF Broadening Participation in Computing (BPC) Demonstration Project addresses a critical need in computer science education: creating inclusive and culturally responsive learning materials that resonate with students from diverse backgrounds. The project generates and evaluates multi-cultural computing resources, including textbooks and other learning materials, designed to increase engagement, belonging, and success for all students in undergraduate Computer Science (CS) programs.
Traditional computer science curricula often utilize examples, contexts, and scenarios that reflect a narrow range of perspectives. This limited approach can create barriers for students from various backgrounds, potentially leading to:
Research suggests that when students encounter curriculum materials that incorporate varied cultural perspectives and when content connects to diverse backgrounds, they demonstrate improved learning outcomes, increased persistence, and stronger identification with the field. By creating resources that are culturally inclusive, this project aims to create opportunities for all students to succeed in computing education.
This project aims to:
The project employs a comprehensive approach to resource development and evaluation:
Resource Development:
Evaluation Framework: The project utilizes multiple measures to assess impact:
The project is grounded in several educational theories and frameworks:
Culturally Responsive Pedagogy: Recognizing and incorporating students’ cultural backgrounds as assets in learning, rather than viewing diversity as a challenge to overcome.
Social Cognitive Theory: Understanding how students’ beliefs about their capabilities (self-efficacy) and their sense of belonging influence motivation, persistence, and achievement.
Universal Design for Learning (UDL): Providing multiple means of engagement, representation, and expression to support diverse learners.
Key questions driving this research include:
This project has the potential to:
By demonstrating effective approaches to creating culturally relevant computing resources, this project contributes to the urgent national need to expand participation in computing and strengthen our domestic STEM workforce. The materials and models developed will be freely available as Open Educational Resources (OER), ensuring broad access and impact across institutions of varying sizes, types, and resource levels, creating opportunities for all Americans everywhere.
This initiative is open to all eligible participants and does not discriminate against, or grant preferential treatment to, any individual or group on the basis of race, color, national origin, religion, sex, disability, and/or other protected categories. The project’s goal is to create educational environments and resources that create opportunities for all students to succeed in computing education and careers. The research is grounded in NSF’s core principles of merit, competition, equal opportunity, and excellence, advancing both Intellectual Merit through new knowledge about effective curriculum design and Broader Impacts by expanding participation in STEM for all students.
This project is supported by the National Science Foundation (NSF) Broadening Participation in Computing (BPC) program, Award #2417787, reflecting NSF’s mission to promote the progress of science, advance national health, prosperity, and welfare, and strengthen our domestic workforce to fuel economic prosperity, national security, and global science and engineering competitiveness.