
Areas of specialization: Human-computer interaction · Programming languages · Data science · Applications of AI.
I design IDEs for Ideas, interactive systems that help experts and learners communicate knowledge. Lately, I have been designing systems to help…
- Scientists read scientific articles,
- Data scientists write exploratory code in computational notebooks,
- Programmers read and author programming tutorials.
These systems reduce the barriers to communicating specialized technical knowledge by providing interactive aids for reading and writing, supported by dedicated text and program analysis algorithms.
This research begins with the design of innovative interactions, continues to the implementation of working systems, and incorporates techniques from program and text analysis. It has culminated in the design of widely-deployed, innovative tools maintained by leading industry and foundation software companies, including Microsoft’s nbgather tool for data scientists and AI2’s Semantic Reader application for scientific reading.
Prospective students: I am recruiting Ph.D. students for fall 2023 on the topics of math augmentation and scientific reading. To learn about my group and what I look for in applications, read my advice here. I invite you to introduce yourself over email. While I cannot reply to every message, I read every one I receive.
News
October 2022: I will be giving invited talks on "Designing the Interactive Paper" at Scholarly Document Processing, KAIST HCI, and UW's course on prototyping the future of scholarly communication.
September 2022: This fall, I am teaching Designing Programming Environments: Live and Literate Programming, a special topics course at the intersection of HCI and programming systems.
April 2022:
Our CHI '22 paper on math augmentation received a best paper award!
January 2022: I joined the UPenn faculty as an Assistant Professor in the Department of Computer and Information Science. I and Danaë Metaxa will be founding members of the Penn HCI group.
Selected Recent Publications
This list of publications represents some research directions I have been thinking about a lot lately. A full, up-to-date list of my publications and accompanying resources appears in the publications section of my CV.
ACM Conference on Human Factors in Computing Systems, 2022
Describes how authors alter the presentation of math formulas to make them more approachable, from colorization to labels, layout, and beyond. Recommendations are provided for designing more expressive, efficient math presentation tools.
Best Paper Award

ACM Conference on Human Factors in Computing Systems, 2021
Presents ScholarPhi, a reading interface for scientific papers that reveals definitions of terms and symbols. The design is grounded in an observational study and 4 pilot studies. A controlled study with 27 researchers showed the tool is useful and desired.

ACM Conference on Human Factors in Computing Systems, 2020
Presents Torii, a new kind of computational notebook for authoring programming tutorials. The design is grounded in interviews with authors and a content analysis of 200 tutorials. In a lab study, 12 tutorial authors created flexibly-organized tutorials with the tool.
Nominated for Best Paper Award

ACM Conference on Human Factors in Computing Systems, 2019
Presents code gathering tools, interactive extensions to computational notebooks that help analysts find, clean, recover, and compare versions of code. In a lab study, 12 data analysts quickly appropriated the tools to support exploratory data analysis.
Best Paper Award
Teaching
Spring 2023: CIS 3990: Introduction to Human-Computer Interaction (syllabus)
Fall 2022: CIS 7000-001: Designing Programming Environments: Live and Literate Programming (syllabus)
Spring 2022: CIS 700-003: Human-Computer Interaction.
Summer 2019: CS160, User Interface Design and Development (co-taught with Sarah Sterman, @UC Berkeley)