Human-Centered Programming Tools: Spring 2017 Class Readings
June 2017 (perspective of an assistant professor)
Links to 20 HCI research papers discussed during my graduate class on human-centered programming tools
In spring quarter 2017, I taught a graduate HCI course at UC San Diego called Design Seminar on Human-Centered Programming (COGS231). This was the first time the class was offered, and I had a lot of fun with it. Three times per week, eight grad students and I met for an hour to discuss a research paper in depth.
I led the first few discussions to set expectations, but the majority of sessions were led by students. Thus, we picked papers to read for each session based on each student's personal interests and prior research/programming experiences. This format was really effective because each student was personally invested in their chosen paper's topic and could bring their own experiences into its interpretation. It also means that each time this class is offered in the future, we will end up reading a different set of papers.
To provide some constraints, I had students choose papers from (approximately) the past five years of CHI and UIST, two of the top HCI conferences where research on human-centered programming tools gets published. Of course, other great conferences and journals exist for these topics, but since this was an HCI class, I wanted to focus just on CHI and UIST to provide some high-level cohesion. Also, restricting to the past five years or so meant that we would be reading contemporary papers and not classic seminal works. But without those constraints, there would simply be too many possible papers for students to pick from.
Here are the 20 papers that we ended up covering in this offering of the course. Note that several diverged from the core themes of human-centered programming tools since some students were interested in more distantly related topics. This list is obviously not comprehensive, but it's a good starting point for surveying the latest research in this area.
Overview and Methodology Papers
Programmers Are Users Too: Human-Centered Methods for Improving Programming Tools. Brad A. Myers, Amy J. Ko, Thomas D. LaToza, YoungSeok Yoon. 2016
Seven Research Contributions in HCI. Jacob O. Wobbrock. 2012
Code and Contribution in Interactive Systems Research. James Fogarty. 2017
(These were the only non-CHI/UIST papers that we covered.)
Spreadsheet-Driven Web Applications. Edward Benson, Amy X. Zhang, David R. Karger. UIST 2014
Mavo: Creating Interactive Data-Driven Web Applications by Authoring HTML. Lea Verou, Amy X. Zhang, David R. Karger. UIST 2016
Explaining Visual Changes in Web Interfaces. Brian Burg, Amy J. Ko, Michael D. Ernst. UIST 2015
Unravel: Rapid Web Application Reverse Engineering via Interaction Recording, Source Tracing, and Library Detection. Joshua Hibschman, Haoqi Zhang. UIST 2015
TurKit: Human Computation Algorithms on Mechanical Turk. Greg Little, Lydia B. Chilton, Max Goldman, Robert C. Miller. UIST 2010
Microtask Programming: Building Software with a Crowd. Thomas D. LaToza, W. Ben Towne, Christian M. Adriano, André van der Hoek. UIST 2014
Meta: Enabling Programming Languages to Learn from the Crowd. Ethan Fast, Michael S. Bernstein. UIST 2016
Codeon: On-Demand Software Development Assistance. Yan Chen, Sang Won Lee,Yin Xie, YiWei Yang, Walter S. Lasecki, Steve Oney. CHI 2017
Variolite: Supporting Exploratory Programming by Data Scientists. Mary Beth Kery, Amber Horvath, Brad Myers. CHI 2017
Statsplorer: Guiding Novices in Statistical Analysis. Chat Wacharamanotham, Krishna Subramanian, Sarah Theres Volkel, Jan Borchers. CHI 2015
Gestalt: Integrated Support for Implementation and Analysis in Machine Learning. Kayur Patel, Naomi Bancroft, Steven M. Drucker, James Fogarty, Amy J. Ko, James A. Landay. UIST 2010
Deconstructing and Restyling D3 Visualizations. Jonathan Harper, Maneesh Agrawala. UIST 2014
Mastering the Art of War: How Patterns of Gameplay Influence Skill in Halo. Jeff Huang, Thomas Zimmermann, Nachiappan Nagappan, Charles Harrison, Bruce Phillips. CHI 2013
MixT: Automatic Generation of Step-by-Step Mixed Media Tutorials. Pei-Yu (Peggy) Chi, Sally Ahn, Amanda Ren, Mira Dontcheva, Wilmot Li, Björn Hartmann. UIST 2012
Waken: Reverse Engineering Usage Information and Interface Structure from Software Videos. Nikola Banovic, Tovi Grossman, Justin Matejka, George Fitzmaurice. UIST 2012
Mudslide: A Spatially Anchored Census of Student Confusion for Online Lecture Videos. Elena L. Glassman, Juho Kim, Andrés Monroy-Hernández, Meredith Ringel Morris. CHI 2015
Chronicler: Interactive Exploration of Source Code History. Moritz Wittenhagen, Christian Cherek, Jan Borchers. CHI 2016