My research lies at the intersection of human-computer interaction and computer science education, with a focus on two interconnected threads: how generative AI tools reshape the learning and teaching of computing, and how we train the humans who teach it. On the GenAI side, I investigate how novice programmers interact with AI coding assistants — what cognitive and metacognitive skills are displaced, scaffolded, or newly required — with an eye toward designing curricula that preserve meaningful learning rather than just accelerating output. On the TA training side, I study how to systematically develop teaching assistants and tutors as educators, examining what effective pedagogical practice looks like at the undergraduate and graduate level and how it can be reliably cultivated at scale.
I joined the CS education world after my undergraduate and early research work in computational neuroscience. This dual identity shapes my approach: I bring firsthand knowledge of what makes these subjects hard, exciting, and worth teaching well. As an instructor for UCSD's Deep Learning course (CSE 151B), I bring my background in deep learning together with my graduate training in education and pedagogy to innovate in how we teach the AI topics that are becoming increasingly present in research and industry.
See my research, the courses I teach and have supported, or my CV.