Seminar: Programming Assistance to Improve Software Development and Programming Education
Computer programmers of all expertise levels rely heavily on external support from other developers, web forums, or AI technologies while programming. However, many help-seeking practices can be inefficient: other developers may not be available on-demand to support frequent questions; web forums do not always provide personalized support or quick responses to queries, and AI technologies cannot well assist with logical reasoning, and their answers do not often extend to less popular information needs. My research explores how we can make it easier for people to get personalized programming assistance by coordinating and scaling the collective effort of experts, non-experts, and machines. In this talk, I will overview three projects: 1) on demand expert assistance to improve developers productivity, 2) peer assistance to improve the programming learning experience, and 3) AI-powered assistance to help novices easily create programs.
Yan Chen is a Postdoctoral Fellow in the Department of Computer Science at the University of Toronto, Canada, where he is hosted by Professor Tovi Grossman. His research spans human-computer interaction, developer support tools, crowdsourcing, and programming learning. Yan is active in the HCI research community. His work has been published at top HCI conferences, including CHI, CSCW, and UIST, and also topic-specific venues like IEEE VL/HCC. Yan received his Ph.D. degree from the University of Michigan School of Information, where he was advised by Steve Oney. Prior to Ph.D., Yan received both his M.S. and B.S. from the University of Colorado at Boulder.