title: "Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code"
authors: Joel Brandt, Philip J. Guo, Joel Lewenstein, Mira Dontcheva, Scott R. Klemmer
venue: ACM Conference on Human Factors in Computing Systems (CHI)
year: 2009
footer: "Honorable Mention Paper"
tweet: Programmers use the web to learn on-demand, to clarify existing knowledge, and as external memory
abstract: >
This paper investigates the role
of online resources in problem solving. We look specifically at how
programmers -- an exemplar form of knowledge workers -- opportunistically interleave Web foraging, learning, and writing code.
We describe two studies of how programmers use online resources. The
first, conducted in the lab, observed participants Web use while
building an online chat room. We found that programmers leverage
online resources with a range of intentions: They engage in
just-in-time learning of new skills and approaches, clarify
and extend their existing knowledge, and remind themselves
of details deemed not worth remembering. The results also suggest
that queries for different purposes have different styles and
durations. Do programmers' queries "in the wild" have the same range
of intentions, or is this result an artifact of the particular lab
setting? We analyzed a month of queries to an online programming
portal, examining the lexical structure, refinements made, and result
pages visited. Here we also saw traits that suggest the Web is being
used for learning and reminding. These results contribute to a theory
of online resource usage in programming, and suggest opportunities for
tools to facilitate online knowledge work.
bibtex: >
@inproceedings{BrandtOpportunisticCHI2009,
author = {Brandt, Joel and Guo, Philip J. and Lewenstein, Joel and Dontcheva, Mira and Klemmer, Scott R.},
title = {Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code},
booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
series = {CHI '09},
year = {2009},
isbn = {978-1-60558-246-7},
location = {Boston, MA, USA},
pages = {1589--1598},
numpages = {10},
url = {http://doi.acm.org/10.1145/1518701.1518944},
doi = {10.1145/1518701.1518944},
acmid = {1518944},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {copy-and-paste, opportunistic programming, prototyping},
}