Back to Home

Research

Selected work, ordered by relevance

IN PROGRESS

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.

CHI 2025 Workshop Submission (Unpublished) PDFCode
PUBLISHED

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.

Tangible, Embedded, and Embodied Interaction (TEI) 2026PDFCode
PUBLISHED

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.

Frontiers in Education (FIE) 2024PDF
PRESENTED

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?

Jacobs Design Showcase 2024 Poster