Andrew Head is a Ph.D. Candidate in Computer Science at UC Berkeley. He researches how intelligent interfaces can help programmers share expertise—through code examples, tutorials, teacher feedback, and notebooks.

Andrew studies with Björn Hartmann and Marti Hearst. He has also studied developer tool design as an intern at Microsoft Research and Google. His work is supported by an NDSEG Fellowship, and has received best paper awards and nominations at top conferences like CHI.

Get in touch if you want to chat research, speak at the Berkeley Institute of Design, discuss undergraduate research opportunities, or learn about this summer's CS 160 UI Design and Development course (Andrew's co-lecturing!)

Research Highlights

Tools for finding, cleaning, and comparing versions of code in computational notebooks.
CHI '19
Interactive extraction of executable code examples from existing code.
CHI '18
Mixed-initiative interfaces for propagating teacher feedback in massive classrooms.
Learning@Scale '17

Recent News

March 2019: Managing Messes got a CHI Best Paper Award!

December 2018: Two papers accepted to CHI '19! Managing Messes in Computational Notebooks' and Fred Hohman's Gamut: A Design Probe to Understand How Data Scientists Understand Machine Learning Models.

November 2018: Invited talk about interactive tools for making code examples at PLATEAU workshop on PL and human-computer interaction.

Peer-Reviewed Publications

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
Best Paper Award
Gamut: A Design Probe to Understand How Data Scientists Understand Machine Learning Models
Fred Hohman, Andrew Head, Rich Caruana, Robert DeLine, and Steven M. Drucker
ACM Conference on Human Factors in Computing Systems, 2019
Interactive Extraction of Examples from Existing Code
Andrew Head, Elena L. Glassman, Björn Hartmann, and Marti A. Hearst
ACM Conference on Human Factors in Computing Systems, 2018
Nominated for Best Paper Award
WiFröst: Bridging the Information Gap for Debugging of Networked Embedded Systems
Will McGrath, Jeremy Warner, Mitchell Karchemsky, Andrew Head, Daniel Drew, and Björn Hartmann
ACM User Interfaces Software and Technology Symposium, 2018
When Not to Comment: Questions and Tradeoffs with API Documentation for C++ Projects
Andrew Head, Caitlin Sadowski, Emerson Murphy-Hill, and Andrea Knight
ACM International Conference on Software Engineering, 2018
Writing Reusable Code Feedback at Scale with Mixed-Initiative Program Synthesis
Andrew Head, Elena Glassman, Gustavo Soares, Ryo Suzuki, Lucas Figueredo, Loris D'Antoni, and Björn Hartmann
ACM Conference on Learning at Scale, 2017
Can Human Development be Measured with Satellite Imagery?
Andrew Head, Mélanie Manguin, Nhat Tran, and Joshua E. Blumenstock
International Conference on Information and Communication Technologies and Development, 2017
TraceDiff: Debugging Unexpected Code Behavior Using Trace Divergences
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, 2017
Tutorons: Generating Context-Relevant, On-Demand Explanations and Demonstrations of Online Code
Andrew Head, Codanda Appachu, Marti A. Hearst, and Björn Hartmann
IEEE Symposium on Visual Languages and Human-Centric Computing, 2015
Nominated for Best Paper Award
Lamello: Passive Acoustic Sensing for Tangible Input Components
Valkyie Savage, Andrew Head, Wilmot Li, Gautham Mysore, Dan B Goldman, and Björn Hartmann
ACM Conference on Human Factors in Computing Systems, 2015
ToneWars: Connecting Language Learners and Native Speakers through Collaborative Mobile Games
Andrew Head, Yi Xu, and Jingtao Wang
International Conference on Intelligent Tutoring Systems, 2014