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…

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.
Math Augmentation: How Authors Enhance the Readability of Formulas using Novel Visual Design Practices
Andrew Head, Amber Xie, and Marti A. Hearst
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

Augmenting Scientific Papers with Just-in-Time, Position-Sensitive Definitions of Terms and Symbols
Andrew Head, Kyle Lo, Dongyeop Kang, Raymond Fok, Sam Skjonsberg, Daniel S. Weld, and Marti A. Hearst
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.

Composing Flexibly-Organized Step-by-Step Tutorials from Linked Source Code, Snippets, and Outputs
Andrew Head, Jason Jiang, James Smith, Marti A. Hearst, and Björn Hartmann
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

Managing Messes in Computational Notebooks
Andrew Head, Fred Hohman, Titus Barik, Steven M. Drucker, and Robert DeLine
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)