Andrew Head
Assistant Professor @ UPenn
Computer Science

Areas of interest: Human-computer interaction · Programming · Reading.

Welcome to my home page! I am Andrew Head, an assistant professor at the University of Pennsylvania. My group specializes in developing technology for interactive reading and reasoning. My current goals are to:

  • Help scientists get more out of their readings in less time
  • Make math notation everywhere inviting and understandable
  • Help programmers comprehend code using AI
  • Accelerate programmers in writing, maintaining, and understanding proofs of correctness about their programs

Our projects follow a systems-centric HCI approach. We do in-depth user studies to understand what people need from their tools. Then, we build working interactive systems, imbuing them with powerful new interaction design ideas. We publish our work at ACM CHI and UIST, and other venues focused on information presentation and programming support.

👥  Our group

I advise Ph.D. students Alyssa Hwang, Litao Yan, Hita Kambhamettu, Jeff Tao, and Jessica Shi. I co-lead our Penn Human-Computer Interaction (Penn HCI) alongside Danaë Metaxa. Our group works closely with Benjamin Pierce from PLClub and Chris Callison-Burch from PennNLP. I am also a faculty affiliate for Penn’s MindCORE center.

Prospective Ph.D. applicants: I will be hiring incoming Ph.D. students this cycle. If you want to work with our group, apply to Penn's Computer and Information Science program. I will consider applications broadly overlapping with HCI. This year, I am particularly invested in hiring on the topics of HCI for software verification, and amplified reading. Check out our recent publications to see what we are doing in these areas.

Penn master's and bachelor's students: If you want to do research with our group, take Penn's class in human-computer interaction—CIS 4120/5120—and then apply to do research with our group here. You may also want to keep an eye out for special topics courses (7000-level) that I and Professor Metaxa teach, which frequently offer hands-on research experiences.

📰  Our latest news

September 2024: This semester, I am teaching a new research seminar on Interactive Reading. Our goal is to develop technology that deepens, accelerates, and enlivens reading. Check out the course teaser and syllabus.

August 2024: Harry Goldstein has had a paper accepted to UIST '24 on Tyche, a in-editor UI that helps programmers understand the comprehensiveness of their property-based tests. Read the paper here.

April 2024: The NSF has awarded us $1M for "Property-based Testing for the People," a project that brings together HCI and PL methods to develop usable and useful tools for software verification. The project is led by Benjamin Pierce and myself.

April 2024: Congratulations Hita Kambhamettu for receiving the NSF Graduate Research Fellowship! We are so proud of you!

February 2024: Harry Goldstein's paper on Property-Based Testing in Practice receives a Distinguished Paper Award at ICSE '24. Congrats, Harry!

January 2024: We have had two papers accepted to CHI '24: Litao Yan's paper on AI-generated code explanations in the editor and Hita Kambhamettu's vision of intelligent, interactive medical notes.

🧪  Publications

Our projects contribute novel interactions for programming (•), reading (•), and working with notation (•).

Tyche: Making Sense of Property-Based Testing Effectiveness [pdf]
Harrison Goldstein, Jeffrey Tao, Zac Hatfield-Dodds, Benjamin C. Pierce, and Andrew Head
ACM User Interfaces Software and Technology Symposium (UIST), 2024
Ivie: Lightweight Anchored Explanations of Just-Generated Code [pdf]
Litao Yan, Alyssa Hwang, Zhiyuan Wu, and Andrew Head
ACM Conference on Human Factors in Computing Systems (CHI), 2024
Explainable Notes: Examining How to Unlock Meaning in Medical Notes with Interactivity and Artificial Intelligence [pdf]
Hita Kambhamettu, Danaë Metaxa, Kevin Johnson, and Andrew Head
ACM Conference on Human Factors in Computing Systems (CHI), 2024
Property-Based Testing in Practice [pdf]
Harrison Goldstein, Joseph W. Cutler, Daniel Dickstein, Benjamin C. Pierce, and Andrew Head
ACM/IEEE International Conference on Software Engineering, (ICSE), 2024
Best Paper Award
FFL: A Language and Live Runtime for Styling and Labeling Typeset Math Formulas [pdf]
Zhiyuan Wu, Jiening Li, Kevin Ma, Hita Kambhamettu, and Andrew Head
ACM User Interfaces Software and Technology Symposium (UIST), 2023
CALYPSO: LLMs as Dungeon Master's Assistants [pdf]
Andrew Zhu, Lara Martin, Andrew Head, and Chris Callison-Burch
AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, (AIIDE), 2023
Rewriting the Script: Adapting Text Instructions for Voice Interaction [pdf]
Alyssa Hwang, Natasha Oza, Chris Callison-Burch, and Andrew Head
ACM Conference on Designing Interactive Systems (DIS), 2023
Scim: Intelligent Skimming Support for Scientific Papers [pdf]
Raymond Fok, Hita Kambhamettu, Luca Soldaini, Jonathan Bragg, Kyle Lo, Marti A. Hearst, Andrew Head, and Daniel S. Weld
ACM Conference on Intelligent User Interfaces (IUI), 2023
Paper Plain: Making Medical Research Papers Approachable to Healthcare Consumers with Natural Language Processing [pdf]
Tal August, Lucy Lu Wang, Jonathan Bragg, Marti A. Hearst, Andrew Head, and Kyle Lo
ACM Transactions on Computer-Human Interaction, (TOCHI), 2023
CiteSee: Augmenting Citations in Scientific Papers with Persistent and Personalized Historical Context [pdf]
Joseph Chee Chang, Amy X. Zhang, Jonathan Bragg, Andrew Head, Kyle Lo, Doug Downey, and Daniel S. Weld
ACM Conference on Human Factors in Computing Systems (CHI), 2023
Best Paper Award
Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage Tutorials [pdf]
April Yi Wang, Andrew Head, Ashley Zhang, Steve Oney, and Christopher Brooks
ACM Conference on Human Factors in Computing Systems (CHI), 2023
Nominated for Best Paper Award
Bolt-on, Compact, and Rapid Program Slicing for Notebooks [pdf]
Shreya Shankar, Stephen Macke, Sarah Chasins, Andrew Head, and Aditya Parameswaran
International Conference on Very Large Data Bases, (VLDB), 2023
Math Augmentation: How Authors Enhance the Readability of Formulas using Novel Visual Design Practices [pdf] [video]
Andrew Head, Amber Xie, and Marti A. Hearst
ACM Conference on Human Factors in Computing Systems (CHI), 2022
Best Paper Award
From Who You Know to What You Read: Augmenting Scientific Recommendations with Implicit Social Networks [pdf] [video]
Hyeonsu B. Kang, Rafal Kocielnik, Andrew Head, Jiangjiang Yang, Matt Latzke, Aniket Kittur, Daniel S. Weld, Doug Downey, and Jonathan Bragg
ACM Conference on Human Factors in Computing Systems (CHI), 2022
Fine-Grained Lineage for Safer Notebook Interactions [pdf]
Stephen Macke, Hongpu Gong, Doris Jung-Lin Lee, Andrew Head, Doris Xin, and Aditya Parameswaran
International Conference on Very Large Data Bases, (VLDB), 2021
Augmenting Scientific Papers with Just-in-Time, Position-Sensitive Definitions of Terms and Symbols [pdf] [demo] [code] [video]
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 (CHI), 2021
Composing Flexibly-Organized Step-by-Step Tutorials from Linked Source Code, Snippets, and Outputs [pdf] [video]
Andrew Head, Jason Jiang, James Smith, Marti A. Hearst, and Björn Hartmann
ACM Conference on Human Factors in Computing Systems (CHI), 2020
Nominated for Best Paper Award
Managing Messes in Computational Notebooks [pdf] [demo] [code] [video]
Andrew Head, Fred Hohman, Titus Barik, Steven M. Drucker, and Robert DeLine
ACM Conference on Human Factors in Computing Systems (CHI), 2019
Best Paper Award
Gamut: A Design Probe to Understand How Data Scientists Understand Machine Learning Models [pdf] [video]
Fred Hohman, Andrew Head, Rich Caruana, Robert DeLine, and Steven M. Drucker
ACM Conference on Human Factors in Computing Systems (CHI), 2019
Interactive Extraction of Examples from Existing Code [pdf] [demo] [video]
Andrew Head, Elena L. Glassman, Björn Hartmann, and Marti A. Hearst
ACM Conference on Human Factors in Computing Systems (CHI), 2018
Nominated for Best Paper Award
WiFröst: Bridging the Information Gap for Debugging of Networked Embedded Systems [pdf] [video]
Will McGrath, Jeremy Warner, Mitchell Karchemsky, Andrew Head, Daniel Drew, and Björn Hartmann
ACM User Interfaces Software and Technology Symposium (UIST), 2018
When Not to Comment: Questions and Tradeoffs with API Documentation for C++ Projects [pdf]
Andrew Head, Caitlin Sadowski, Emerson Murphy-Hill, and Andrea Knight
ACM International Conference on Software Engineering, (ICSE), 2018
Writing Reusable Code Feedback at Scale with Mixed-Initiative Program Synthesis [pdf]
Andrew Head*, Elena Glassman*, Gustavo Soares*, Ryo Suzuki, Lucas Figueredo, Loris D'Antoni, and Björn Hartmann
ACM Conference on Learning at Scale, (L@S), 2017
'*' denotes equal contribution.
The first three authors contributed equally to this work
Can Human Development be Measured with Satellite Imagery? [pdf]
Andrew Head, Mélanie Manguin, Nhat Tran, and Joshua E. Blumenstock
International Conference on Information and Communication Technologies and Development, (ICTD), 2017
TraceDiff: Debugging Unexpected Code Behavior Using Trace Divergences [pdf] [code]
Ryo Suzuki, Gustavo Soares, Andrew Head, Elena Glassman, Ruan Reis, Melina Mongiovi, Loris D'Antoni, and Björn Hartmann
IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 2017
Tutorons: Generating Context-Relevant, On-Demand Explanations and Demonstrations of Online Code [pdf] [code]
Andrew Head, Codanda Appachu, Marti A. Hearst, and Björn Hartmann
IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 2015
Nominated for Best Paper Award
Lamello: Passive Acoustic Sensing for Tangible Input Components [pdf] [video]
Valkyie Savage, Andrew Head, Wilmot Li, Gautham Mysore, Dan B Goldman, and Björn Hartmann
ACM Conference on Human Factors in Computing Systems (CHI), 2015
ToneWars: Connecting Language Learners and Native Speakers through Collaborative Mobile Games [pdf] [video]
Andrew Head, Yi Xu, and Jingtao Wang
International Conference on Intelligent Tutoring Systems, (ITS), 2014

🧑‍🏫  Teaching

Fall 2024: CIS 7000: Interactive Reading (syllabus)

Spring 2024: CIS 4120/5120: Introduction to Human-Computer Interaction (syllabus)

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)