Research
Selected work, ordered by relevance
AI-Assisted Programming Tool
Code Explanations: Automated Hierarchical Descriptions of Program Behavior
This project introduces a tool that uses AI to generate layered code explanations—per-line, per-block, and by function parameter—to help users better understand and modify programs. Built with CodeMirror and GPT-4o, the system overlays interactive insights directly onto code. A pilot study showed its potential, and future work aims to expand its usability across skill levels, tasks, and languages.
Memory Bottle
Memory Bottle is an interactive vessel that lets users preserve and relive fleeting moments by recording sound and color. Powered by an ESP32 and Arduino ecosystem, the system uses a state machine to manage sensor data and wireless uploads. Users simply tilt the bottle to 'pour' the memory out, triggering an immersive playback where the audio is heard and the captured color fills the room.
A Quantitative Analysis of a Summer Bridge Program's Impact on Students' Non-Academic Indicators
Evaluation a summer bridge program for underserved Computing students, measuring its impact on non-academic factors like sense of belonging, resource awareness, and science identity. The research found that both online and in-person formats improved outcomes, with in-person programs showing stronger effects, especially on social confidence.
Programming with Ambiguity
Modern Large Language Models (LLMs) can synthesize code for us from simple natural language instructions. But, it also invents details we might or might not want. How might the advancement of LLMs change the future of programming?