Andrew Head
Assistant Professor
Department of Computer and Information Science
University of Pennsylvania
Website: https://andrewhead.info
Email address: head@seas.upenn.edu
Research Interests
Human-Computer Interaction, Programming Interfaces, Interactive Reading.
Employment
University of Pennsylvania
Assistant Professor
Allen Institute for AI
Semantic Scholar Research Team
Postdoctoral Scholar
University of California, Berkeley
Postdoctoral Scholar
University of California, Berkeley
Ph.D. Student
Allen Institute for AI
Semantic Scholar Research Team
Research Intern
Microsoft Research
Visualization and Interaction for Business and Entertainment Group
Research Intern
Engineering Productive Research Team
Software Engineering Intern
University of Pittsburgh
Research assistant
Intel
Embedded Applications Group
Research Intern
Selected awards
ICSE Distinguished Paper Award
Best of CHI Best Paper Award
Best of CHI Honorable Mention for Best Paper Award
Best of CHI Best Paper Award
Best of CHI Honorable Mention for Best Paper Award
Outstanding Graduate Student Instructor Award
Timothy B. Campbell Innovation Award
Best of CHI Best Paper Award
Best of CHI Honorable Mention for Best Paper Award
National Defense Science and Engineering Graduate Fellowship
National Science Foundation Graduate Research Fellowship Honorable Mention
Best Paper Nomination at VL/HCC
National Science Foundation Graduate Research Fellowship Honorable Mention
UC Berkeley EECS Departmental First-Year Fellowship
Emma Locke Memorial Award Nomination
Dietrich School of Arts and Sciences Summer Undergraduate Research Award
University Scholar, Swanson School of Engineering
University Scholar, Dietrich School of Arts and Sciences
NSF International Research and Education in Engineering Grant
Pitt Club of Greater Philadelphia Scholar
University of Pittsburgh Honors College Full Tuition Scholarship
Funding
SHF: HCC: Medium: Property-Based Testing for the People
May 2024 – April 2027
PI: Benjamin Pierce
Co-PI: Andrew Head
Agency: NSF
Amount: $1,000,000
Tyche: An IDE for Property-Based Testing
April 2024 – March 2025
PI: Benjamin Pierce
Co-PI: Andrew Head
Sponsor: Amazon Research Awards
Amount: $40,000 + $20,000 in compute credits
VERSE: Verification Engineering for Real-world Software Engineers
January 2024 – December 2026
PIs: Galois, Inc.
Penn PIs: Benjamin Pierce, Andrew Head, and Stephanie Weirich
Agency: DARPA
Amount: $2,199,636 (for Penn)
Re-Imagining Childhood Asthma and Electronic Health Records: A Community-Based Approach
June 2023 – May 2024
PIs: Kenrick Cato and Andrew Head
Sponsor: Penn Community Collaboratory for Co-Creation (Penn4C)
Amount: $51,496
Publications
Peer-reviewed publications
Tyche: Making Sense of Property-Based Testing Effectiveness
ACM User Interfaces Software and Technology Symposium, 2024
Ivie: Lightweight Anchored Explanations of Just-Generated Code
ACM Conference on Human Factors in Computing Systems, 2024
Explainable Notes: Examining How to Unlock Meaning in Medical Notes with Interactivity and Artificial Intelligence
ACM Conference on Human Factors in Computing Systems, 2024
Property-Based Testing in Practice
ACM/IEEE International Conference on Software Engineering, 2024
Best Paper Award
FFL: A Language and Live Runtime for Styling and Labeling Typeset Math Formulas
ACM User Interfaces Software and Technology Symposium, 2023
CALYPSO: LLMs as Dungeon Master's Assistants
AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, 2023
Rewriting the Script: Adapting Text Instructions for Voice Interaction
ACM Conference on Designing Interactive Systems, 2023
Scim: Intelligent Skimming Support for Scientific Papers
ACM Conference on Intelligent User Interfaces, 2023
Paper Plain: Making Medical Research Papers Approachable to Healthcare Consumers with Natural Language Processing
ACM Transactions on Computer-Human Interaction, 2023
CiteSee: Augmenting Citations in Scientific Papers with Persistent and Personalized Historical Context
ACM Conference on Human Factors in Computing Systems, 2023
Best Paper Award
Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage Tutorials
ACM Conference on Human Factors in Computing Systems, 2023
Nominated for Best Paper Award
Bolt-on, Compact, and Rapid Program Slicing for Notebooks
International Conference on Very Large Data Bases, 2023
Fine-Grained Lineage for Safer Notebook Interactions
International Conference on Very Large Data Bases, 2021
Composing Flexibly-Organized Step-by-Step Tutorials from Linked Source Code, Snippets, and Outputs
ACM Conference on Human Factors in Computing Systems, 2020
Nominated for Best Paper Award
Lightly-reviewed workshop papers and posters
Towards a Science of Interactive Proof Reading
SPLASH Workshop on the Intersection of HCI and PL, 2023
Some Problems with Properties: A Study on Property-Based Testing in Industry
SPLASH Workshop on Human Aspects of Types and Reasoning Assistants, 2022
Document-Level Definition Detection in Scholarly Documents: Existing Models, Error Analyses, and Future Directions
EMNLP First Workshop on Scholarly Document Processing, 2020
Static Analysis for Safer Notebook Interactions
SPLASH Workshop on the Intersection of HCI and PL, 2020
Exploring the Design Space of Automatically Synthesized Hints for Introductory Programming Assignments
ACM Conference on Human Factors in Computing Systems, Late-Breaking Work, 2017
Research mentoring
Doctoral mentoring
Master’s mentoring
Jiening Li
Zhiyuan Wu
Vivek Aithal
Daniel McAndrew
Kunal Chadhary (now Chief Operating Officer, Co-founder at Banner)
Thesis: Jupyter’s Archive: Searchable Output Histories for Computational Notebooks
Capstone projects
Generating Explanations For Mathematical Notations
Master's of Engineering, Computer Science, UC Berkeley
Students: Yujia Wang, Lysia Li, Tianhao Zhang
Improving the Software Package Search Experience for Developers
Master's of Engineering, Computer Science, UC Berkeley
Students: Avery Nisbet, Joshua Choo, Mengshi Feng, Vivian Liu, Yidan Zhang
Bachelor’s mentoring
High school mentoring
Teaching
Instructor
CIS4120/5120: Introduction to Human-Computer Interaction
University of Pennsylvania
Instructor
CIS3990: Introduction to Human-Computer Interaction
University of Pennsylvania
Instructor
CIS7000-001: Designing Programming Environments: Live and Literate Programming
University of Pennsylvania
Instructor
CIS700-003: Human-Computer Interaction
University of Pennsylvania
Lecturer
CS160: User Interface Design and Development
UC Berkeley
With Sarah Sterman (co-lecturer).
Graduate Student Instructor
CS 194-131: Designing Technology to Counter Violent Extremism
UC Berkeley
Teaching assistant
PHYS 0475: Honors Physics
University of Pittsburgh
Invited talks
Designing the Interactive Paper
MIT HCI Seminar
Host: Arvind SatyanarayanDesigning the Interactive Paper
KAIST
Host: Juho KimDesigning the Interactive Paper
COLING Workshop on Scholarly Document Processing
Designing the Interactive Paper
UW Seminar on The Future of Scientific Communication
Host: Jeff HeerPower Tools for Reading and Authoring Complex Documents
BAYCHI San Francisco Bay Area Chapter of ACM SIGCHI
Host: Ted SelkerInteractive Program Distillation
Penn course CIS 810, Writing and Speaking with Style
Host: Benjamin PierceInteractive Program Distillation
University of Pennsylvania PLClub
Host: Steve ZdancewicInput Devices and Proxemics: Designing Beyond the Screen
UC Berkeley Course CS 160, User Interface Design and Implementation
Host: Nate Weinman and Janaki VivrekarInteractive Authoring and Reading with IDEs for Ideas
Allen Institute for AI
Host: Dan WeldNotebooks, Narrative, and 'Nteractions
Microsoft Research
Host: Steven M. DruckerInteractive Authoring and Reading with IDEs for Ideas
University of Michigan Computer Science and Engineering Division
Host: Cyrus OmarInteractive Authoring and Reading with IDEs for Ideas
Adobe Research Document Intelligence group
Host: Tong SunInteractive Authoring and Reading with IDEs for Ideas
University of Pittsburgh Department of Informatics and Networked Systems
Host: Konstantinos PelechrinisInteractive Authoring and Reading with IDEs for Ideas
Cornell University Department of Information Science
Host: François GuimbretièreIDEs for Ideas
University of Pennsylvania Department of Computer and Information Science
Host: Dan RothPractical Prototyping for Programming Tools
Guest Lecture
UC Berkeley course CS 294-184, Building User-Centered Programming Tools
Host: Sarah ChasinsTools for Transforming Creative Coding Messes into Helpful Example Programs
Invited Talk
Arizona State University Digital Culture Speaker Series
Host: Suren JayasuriyaIntroduction to Human-Computer Interaction
Guest Lecture
UC Berkeley course CS 10, The Beauty and Joy of Computing
Synopticon: Augmenting the Reading Experience for Scientific Papers from arXiv
End-of-Internship Talk
Allen Institute for AI
Notebooks, Narratives, and 'Nteractions
Invited Talk
Apple
Host: Dominik MoritzResearching how developers use API docs
Invited Podcast Interview
Write the Docs Podcast
Interactive Extraction of Examples from Existing Code
Invited Keynote
PLATEAU workshop on the intersection of HCI and PL
Host: Sarah ChasinsInteractive Tools for Creating and Explaining Code Examples
Invited Talk
Brown Computer Science
Host: Shriram KrishnamurthiBionic Tools for Documenting Code
Invited Talk
Mozilla Emerging Technologies Speaker series
Host: Jofish KayeBionic Tools for Documenting Code
Invited Talk
Microsoft Program Synthesis using Examples (PROSE) group
Host: Gustavo SoaresTo Doc or Not: Questions and Tradeoffs with API Documentation for C++ Projects
End-of-Internship Talk
Creating Context-Relevant, In-Situ Help for Programming Learners
Invited Talk
Stanford HCI group lunch
Host: Pablo ParedesWriting Reusable Code Feedback at Scale with Mixed-Initiative Program Synthesis
Invited Talk
Harvard Data to Actionable Knowledge (DtAK) Lab
With Elena L. Glassman.
Host: Finale Doshi-Velez3D Printing Interactive Devices
Invited Lightning Talk
Berekley EECS Annual Research Symposium (BEARS)
Host: Maneesh AgrawalaService
Academic service
Organizing Committee
ACM User Interface Software and Technology Symposium
Program Committee
IEEE Symposium on Visual Languages and Human-Centric Computing
Program Committee
ACM User Interface Software and Technology Symposium
Program Committee
NAACL Workshop on Bridging Human-Computer Interaction and Natural Language Processing
Program Committee
SPLASH Workshop on Human Aspects of Types and Reasoning Assistants
Poster and Showpieces Co-Chair
IEEE Symposium on Visual Languages and Human-Centric Computing
Student Volunteer at Program Committee meeting
ACM User Interface Software and Technology Symposium
Student Volunteer
ACM Conference on Computer-Supported Cooperative Work and Social Computing
Student Volunteer
ACM Conference on Human Factors in Computing Systems
Reviewer
Departmental service
Organizer for admitted Ph.D. student open house
University of Pennyslvania Department of Computer and Information Science
Invited speaker on teaching and mentoring
Penn Center for Teaching and Learning graduate student workshops
Organizer and Host
Berkeley Institute of Design Seminar
Master's of Engineering Admissions Committee
UC Berkeley Computer Science Division
Organizer
Berkeley Programming UX Reading Group
Area Activity Coordinator for Ph.D. Admit Visit Days
UC Berkeley Human-computer interaction group
Makerspace Lab Assistant
CITRIS Invention Lab
Outreach
Peer advisor
Graduate Pathways to STEM, University of California
CS Area Coordinator
EECS Peers, UC Berkeley
Mentor
Snap the Gap!, King Middle School
Lab activity mentor
Students for Environmental Education Development, UC Berkeley
Social Health Cues Developers Use when Choosing Open Source Packages
Andrew Head
ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Student Research Competition, 2016