My group studies, designs, and develops interactive Human-AI systems that empower data workers to discover insights and detect critical patterns in real-time data analysis, such as in-class students' learning behaviors. The systems we develop streamline the analytical process by reducing the effort and programming skills users need. We achieve this by employing AI techniques, such as LLMs, to identify and predict underlying data structures and representations, and by integrating human-centered design principles to ensure seamless interaction between humans and AI. Our goal is to make advanced real-time data analysis more accessible and efficient for everyone by simplifying complex computational processes.
Bio
. Yan
is an Assistant Director of the Center for Human
Computer Interaction (CHCI) at VT. His research spans
programming support tools, learning at scale, real-time data analysis, and CS education. His work has been
published at top HCI conferences, including ACM CHI, UIST, and CSCW. He received the Best Short Paper
award at VL/HCC 2020, the Best Paper at L@S 2024, and the Best Paper Honorable Mention Award at CHI 2026,
2023,
and UIST 2022. Yan was a
Postdoctoral
Fellow at the University of Toronto (Canada). He received his Ph.D. degree from the University of
Michigan (USA),
and BS and MS degrees in Applied Math and Electrical & Computer Engineering from the University of
Colorado, Boulder (USA).
News
PRIME lab members 
Publications
Physical assistance should help people recognize and correct their own movements, adapting the timing and strength of its intervention while preserving their effort and control.
TutorTrace suggests that making AI responsive to learnersā effort can shift help-seeking from repeated requests toward more independent editing and testing.
AI can help people make decisions more consistent with their priorities by carrying those priorities across the workflow and reshaping the interface around them.
AI can help a group hear perspectives that might otherwise remain unspoken by separating a personās desire to contribute from the burden of taking the floor.
Tracing how students adopt, revise, and build on AI-generated code helps instructors make more accurate judgments about AIās role in their work.
AI can make people more useful to one another by lowering the effort needed to understand a teammateās difficulty and find a manageable way to begin helping.
An AI agent can complete a task successfully and still fail as a collaborator when it acts beyond the authority the user believed they had delegated.
Live coding becomes a shared reasoning activity when students can question decisions, predict outcomes, and help work through the instructorās mistakes.
People can interpret how someone elseās work developed more accurately when patterns of activity remain connected to the concrete changes those actions produced.
Private AI assistance can make knowledge easier to access while making peopleās unmet needs harder for others to see.
Responsible AI use is partly a social design problem: sharing an assistant with a peer increased learnersā felt responsibility for understanding its suggestions before using them.
By keeping teaching materials linked to participantsā evolving ideas, AI can help facilitators continue refining the discussion they want to lead while those ideas are still emerging.
Reducing the work of capturing code helps students preserve more of an instructorās explanations and reasoning, making their notes a richer record of how a solution develops.
As AI takes more initiative, people can shift from producing the work to supervising it, making timing, visibility, and ownership central to effective humanāAI collaboration.
AI can make individual study feel socially shared by giving learners simulated peers whose work they can observe and whose ideas they can question.
A group can have the expertise it needs and still fail to benefit from it when members cannot translate that expertise into clear, actionable guidance.
AI can expand what instructors think to look for, prompting them to investigate relationships among participation, progress, and difficulties that their usual monitoring strategies would leave unexplored.
Listen to a two-host podcast about VizGroup. The content is generated by NotebookLM, and verified by the authors.
AI can shift instructors from searching for anticipated mistakes to discovering unexpected patterns by organizing studentsā solutions around meaningful similarities and differences.
AI can extend peopleās practical know-how across varied requests by generalizing their demonstrations while leaving the resulting behavior open to correction.
Instructors can ask more revealing questions about a class when they can search for how studentsā programs behave, including mistakes that look correct on the surface.
VizProg presents an innovative, real-time visualization system that meaningfully displays class-wide students' coding progress, making it simple for programming instructors to pinpoint issues and mistakes.
Thoughts: The challenge of delivering programming education at scale is exacerbated by factors such as real-time instruction, a large student population, novice learners, and the complexity of the material being taught. To enhance the classroom experience for students and simplify the task for instructors, how can we make programming education more engaging and manageable?
SemanticOn enables users to specify visual and textual semantic conditions in web automation programs by natural language description and content highlighting.
Thoughts: SemanticOn only considers 1-1 mapping between user intents and UI actions. How can we support other kinds of mappings? How can we design PbD systems are more trustworthy?
To scale programming support in a large live classroom, PuzzleMe coordinates students to help each other by exchanging test cases and problem-solving approaches for coding exercises.
Teleoperators can use Mimic to program robots by demonstration and reuse demonstrations in new context
Asteroids explores a new space of remote physical task learning via telepresence robots
Explores the motivations/barriers/opportunities of live streaming programming as compared to pre-recorded video through interviews with 14 streamers & 12 viewers.
Thoughts: What can we do to enhance the learning experience in an online environment by adopting the in-person social features that a physical library has? What can be done to support different social needs in an online learning context in order to enhance learning outcomes?
Umitation enables web developers to perform "copy-and-paste" (retarget) interaction on web front-end UI behaviors with a trigger-object-response framework.
CoCapture allows designers to create UI behavior mockups on existing web interfaces by demonstrating and remixing, and to accurately describe their requests to developers by referencing the resulting mockups using hypertext.
Bashon introduces a crowdsourcing approach to help make program synthesis systems more robust, reliable, and trustworthy, and reduces the cost of downstream data collection for training a program synthesis system.
EdCode applies a semi-asychronous on-demand help seeking model in a learning setting, aiming towards provide more personalized support at scale.
Two techniques, interactive event-flow graphs and GUI-level guidance, that guide GUI testers to discover more test cases and avoid duplicate test cases.
Sifter improves the video curation process by combining automated techniques with a human-powered two-stage pipeline that browses, selects, and reaches an agreement.
CodeOn enables effective task hand-offs between developers and remote helpers by allowing asynchronous responses to on-demand requests.
Explore the types and causes of the coordination costs for transient software teams when using existing collaborative programming tools: a VCS and a shared editor.
Two studies that present the opportunities and the design recommendations of on-demand remote support systems for developers.
Other Publications
Lab & School