Haijun Xia
University of California-San Diego, CA·Computer Science
Programming is hard to learn and mentally demanding even for experts, partly because programs are written as text that can be difficult to read. Diagrams help people understand code, and some programming systems are mostly visual.
- Fields
Computer Science
Education Research
- Topics
human-computer interaction
direct manipulation
programming tools
- Grants
- 1 known grant, through Dec 2027
What they work on
- Analyze diagrams that programmers produce themselves to identify what qualities make graphics effective and directly manipulable for understanding and changing code.
- Design and build a direct-manipulation programming system in which linked graphics and textual code represent the same everyday program, so editing the graphics changes the code.
- Evaluate the direct-manipulation programming approach in scientific, educational and AI-interaction contexts, generating initial theories and empirical evidence about where it helps programmers.
More about the research
Yet past efforts to replace text with graphics have fallen short. They threw away the strengths of text: it is compact and unambiguous, and it is backed by large libraries and tools. This project takes a middle path. It explores tools in which linked text and graphics represent the same program. Programmers could then grab and change the graphics directly to understand and edit the code.
Why it matters
Beginners learning to code and experienced programmers facing complex code could find programs easier to understand and modify. They could work through graphics that stay linked to ordinary text code instead of switching to a separate visual language. The results could inform programming tools for classrooms, scientific computing and AI-assisted coding, making programming more intuitive and accessible.
Known grants
From NIH and NSF research grants. Labs often have other funding we can't see.
Closest labs
Rastislav Bodik
University of Washington, WA·Computer Science
Build a foundation for interactive program synthesis as an extension of solver-aided programming, defining a small set of primitive queries from which interactive tasks such as computing alternative explanations of a synthesized program can be implemented.
Anita Sarma
Oregon State University, OR·Computer Science
Identify the needs and expectations of students and instructors for a chatbot that supports open source software contribution, using participatory design.
Jessica Hullman
Northwestern University, IL·Computer Science
Conduct formative studies with practicing analysts to characterize how they currently reason about alternative models and analysis steps, and where existing tools fail to support defining or comparing those alternatives.
The school
University of California-San Diego: 84 labs on PI Pages, $1.9B a year on research, 637 research doctorates a year.
Reach out
A start for your email. Fill in the brackets.