Research
My research lies at the intersection of human-computer interaction and computer science education. A core focus within computing education is identifying relevant skills and competencies for computer science curriculum. In light of the recent shift toward GenAI-integrated programming, educators are wondering: What skills remain critical for students to be learning?
I explore this question in my thesis work, Redesigning and Evaluating Introductory Programming for GenAI-Era Skills. I use quantitative and qualitative approaches to understand how students fare on traditional introductory computing competencies—such as code reading and writing—along with skills that introductory students have often implicitly learned but are often not directly assessed on—such as debugging, testing, and problem decomposition. My early studies examined student outcomes in an introductory course redesigned to emphasize these skills, and I found that many core errors arose from issues in problem decomposition.
My most recent work deepens my investigation of problem decomposition. I enjoyed presenting Planning on Paper: Problem Decomposition with Diagrams in Introductory Computing at ICER 2026 (ACM Conference on International Computing Education Research). It has been exciting to bridge my cognitive science background with my computing education research! I enjoyed delving into notional machines to articulate how students might be engaging with sequential and hierarchical representations of programs.
Aside from my dissertation work, I conduct research (and teaching) on TA training and professional development. During my time as a cofounder for Transform Tutoring before my graduate studies, I noticed that small interventions I created for my mock-tutoring interviews of potential tutors made significant differences in their approach to teaching. As I entered my graduate program, I was thrilled to find faculty who shared my interest in interventions to help new teachers (e.g. first-time TAs), and have begun to explore these interventions from a research perspective. Most recently, I have in-submission work examining first-time computing TAs' perspectives on the role of TAs in students' usage of GenAI and possible improvements to TA training courses and professional development.
Lab affiliations
CS Education Lab, UC San Diego
PI: Leo Porter · 2023–present
Studying LLM-assisted learning in introductory CS courses, and helping develop a novel intro CS course with GenAI as a core member of both the teaching and research teams. Led and presented a study on novice use of GenAI for open-ended programming tasks at the Microsoft AI Economy Institute summit.
Dissertation: Redesigning and Evaluating Introductory Programming for GenAI-Era Skills
Design Lab, UC San Diego
PIs: Steven Dow, Philip Guo · 2022–2023
Studied dynamic interventions for computer science learners in classroom and tutoring settings. (Joined UCSD as a PhD student in Cognitive Science before switching to CSE.)
Parallel Distributed Processing Lab, Stanford University
PI: Jay McClelland · 2021–2022
Studied learners' formulation, explanation, and use of abstract principles while completing a novel task. Designed and implemented a sequence of simplified Sudoku puzzles in Python and JavaScript for online deployment.
Abbott Lab, Columbia University
PI: Larry Abbott · 2020–2021
Studied biologically plausible models of memory using neural network models in PyTorch. Trained a custom network with the covariance matrix adaptation evolutionary strategy (CMA-ES) and compared its performance with stochastic gradient descent.
Visual Thinking Lab, Johns Hopkins University
PI: Jonathan Flombaum · 2016–2017
Studied the effect of visual working memory encoding on long-term object representation. Ran human-subject behavioral experiments using everyday object images partially obscured by random visual noise to test effects on recognition and familiarity.
Publications
Visit my Google Scholar for a list of publications.