CS 584: Human Factors of Programming Languages, Fall 2013
Instructor:
Dr. Burnett
Office: KEC 3051
E-Mail: burnett at eecs dot oregonstate dot edu
Dr. Burnett's Office Hours are
listed on my home
page
Course Objectives
CS 584, Human Factors of Programming Languages, is a
four-credit
course for graduate students. Programming languages today have been
designed primarily with machine efficiency in mind, with little
attention given to the efficiency of the human doing the programming.
Since labor costs far exceed machine costs in software development,
this past way of designing programming languages is no longer
appropriate. This course presents basic principles and evaluation
methods for designing and evaluating programming languages that
emphasize human productivity and problem solving.
The theme for this term is "Consumer Programming
Languages/Environments". Students will each pick their own "consumer",
whether it be a particular professional programmer, a business owner
doing their own web applications, a school teacher setting up
educational simulations, or whatever. This consumer will motivate
(almost) everything the student does all term. Finally, by the end of
the term, the student will present a design of a (portion of) a
programming language or programming tool/environment for this consumer.
The course will focus on the following topics, drawing from
both
emerging research and from fundamentals established over the last 20+
years. Therefore, students should come away with a fundamental understanding of:
- What is known about human factors in programming.
- Techniques for evaluating programming languages/environments from a human factors perspective.
- Language design techniques and problems for programming languages for humans
- Case studies of a few languages/environments that have been designed with human factors of particular consumers as the primary design goal
- Dr. Burnett's projects as case studies: Topics from end-user programming and end-user software engineering
- Critical thinking about human factors in programming.
- Critical thinking about doing quality research relating to human factors in programming.
Grading
Your grade will be computed as follows:
- 25% Homework. (Late policy: No late homeworks accepted.)
- 25% Presentations
and other in-class contributions (Unless otherwise stated, each
presentation should cover at least 4 discussion questions, plus 1
application specific to your particular "consumer". There will be a
firm time limit, including discussion time, on each presentation.)
- 25% "hands-on test" of ability to evaluate programming
languages/environments from a human perspective. Your task will be to turn in a written
evaluation of the human aspects of some projects I will assign to you by applying what you
have learned in CS 584.
- 25% Final project
Prerequisites
Graduate standing in CS and interest in programming language design issues,
or permission of the instructor. Senior undergraduates who are
interested in taking this course as an elective should discuss this with Dr. Burnett
during her office hours.
Frequency
The course is offered only every second year at most.
Education Methods
This is not a lecture-oriented class. I will do some lectures, but the class is very active-learning based. Thus, it will be quite critique-oriented, with student presentations and analyses regarding research papers and with a strong element of group critiques as work begins to emerge.
No textbook -- we will be reading papers instead. No programming is expected, except a little of it might come in handy in the final project.
Students should approach the course with the attitude that they get out of it what they put into it.
Tentative Schedule (subject to change)
- Week 1 (week of 9/30):
- Tu: Dr. Burnett: Intro to the class, intro to research on people's success/failures in software development, good research vs. bad research in this area. Type: HCI foundation/technique.
- Th: Class contribution due.
- Tu, Th: Dr. Burnett: One theory basis that can be applied: Introduction to how memory works. Type: HCI foundation/technique.
- Week 2 (week of 10/7):
- Monday:
10:00 am: HW #2 is due.
4:00 pm: Colloquium (as a special class session): Microsoft Research's TouchDevelop language and environment for end-user programming on mobile devices (KEC 1001). Think about exactly who would be able to use this system for what purpose (goal) and in the situation of what soft. dev. task (creating? debugging? modifying? etc.)
- Tu:
Michael H., Theresa: Green/Petre Cognitive Dimensions paper. (See HCI Foundations section below for other Cognitive Dimensions references.) Type: HCI foundation/technique.
- Wed 10:00 am: HW #3 is due.
- Th:
Caius: Petre ICSE'13 paper on how professional developers really use UML. Download from ACM Digital Library. Type: People/tasks.
Mihai: Subrahmaniyan et al. 2008: CHI'08: Testing vs. Code Inspection... (gender differences in EUPs debugging). Download from ACM Digital Library. Type: People/tasks.
Karl: Grigoreanu et al. 2010: CHI'10 paper: A strategy-centric approach to the design of end-user debugging tools. (ACM Digital Library) Type: Case study.
- Friday midnight: Project proposal (HW #1) due to Dr. Burnett's email
- Week 3 (week of 10/14):
- Mon 10:00 am: HW #4 is due.
- Tu:
Dr. Burnett: concepts and prototypes.
Sergii: Marat Boshernitsan, Susan Graham, Marti Hearst,
Aligning development tools with the way programmers think about code
changes, ACM Conference on Human Factors in Computing Systems, San Jose, CA,
Apr 28-May 3, 2007, pp. 567-576.
Type: Case study.
- Th:
Dr. Burnett: The PRICPE design process. (Also looking ahead to next weeks). Example observation by my former grad student Vaishnavi.
Sheena + Dr. Burnett: Pane/Myers 2006: Natural programming. Types: Case studies and HCI foundation/technique.
- Week 4 (week of 10/21):
- Mon 10:00 am: HW #5 is due (except for people presenting these papers).
- Tu:
Updated updated update: this class UNcancelled. We will meet as usual.
Chad + Dr. Burnett: Fleming et al. 2013 TOSEM paper on Information Foraging Theory. (Download from ACM Digital Library.) Type: HCI foundation/technique.
Rana: Raffle et al. programming-by-demonstration for children. (See complete entry in Papers list, download from ACM Digital Library). Type: Case study.
- Thurs:
Jun: Lee et al., CHI 2010, on web-design-by-example (by end users). (For complete reference, see Papers list, download from ACM Digital Library.) Type: Case study.
Super: Myers et al. VLHCC 2008, on how UI designers try to explain the interactive program behaviors they want. (See below for complete reference; download from IEEE's online library.) Type: People and Tasks.
Michael S.: Ko and Myers, CHI 2004, on the Whyline Debugger. (See "Case Studies" for complete reference; download from ACM Digital Library.) Type: Case study.
Thurs midnight -- HW #pre-design: User research is due.
- Week 5 (week of 10/28):
- Mon 10:00 am: HW #6 due. (Except for people presenting these papers.)
- Tu:
Will + Dr. Burnett: Oviatt et al. 2012: How computer INPUT capabilities/affordances influence basic cognition, including ideational fluency. (See "Foundations" for complete reference; download from ACM Digital Library.) Type: HCI Foundations.
Michael M.: Heer and Bostock 2010: An interactive visualization approach. (See "Case studies" for complete reference; download from IEEE's online library.) Type: Case study.
- Thurs:
Catharina: Blackwell 2002: Attention Investment (See "HCI Foundations" for complete reference; download from IEEE's online library or from Alan Blackwell's publications page.) Type: HCI Foundations.
Pratik: Wilson et al. 2003: Harnessing curiosity to ...correctness in end-user programming (See "Case studies" for complete reference; download from ACM Digital Library). Type: Case study.
Rithika: Kelleher et al. 2007: Storytelling Alice motivates...girls... (See "Case studies" for complete reference; download from ACM Digital Library). Type: Case study.
- Week 6 (week of 11/4):
- Tues 11/5: no class: Dr. Burnett presenting an invited talk in Canada. (We made up most of this class on Monday of week #2.)
- Thurs: Design Gallery #1 (user research Insights & Concepts & very early-stage Prototype sketches). Poster content due electronically at midnight.
- Week 7: (week of 11/11):
- Mon 10:00 am: HW #7 due. (Applying Representation Benchmarks to your project.)
- Tue:
Dr. Burnett: Yang et al. 1997: Representation benchmarks. See papers list below for download information. Note: no discussion questions are required for this paper. Instead, you should apply 3-4 Benchmarks to your project. Type: HCI foundation/technique.
Dr. Burnett: PRICPE revisited (brief).
Dr. Burnett: A brief discussion of storyboarding: Here is an example storyboard from a student in this class a couple of years ago. Also, here are 2 lectures with example storyboards, from HCI researchers at other places: Landay and Greenberg.
- Wed: 10:00 am: HW #8 due. (Note: it's different than most of these.)
- Thur:
Chao: Cao et al. 2011 on nurturing end-user programmers' ideas. (See papers list below; download from IEEE's online library or Dr. Burnett's papers page). Type: HCI foundation/technique.
Wojtek: Segal 2007 on computational scientists' attitudes toward programming (See papers list below; download from IEEE's online library). Type: People and Tasks
Sumanth: Li et al. 2010 on sharing & reusing web activities. (See papers list below; download from ACM Digital Library.) Type: Case study
- Week 8: (week of 11/18):
- Tue: Design Gallery #2 (emerging Prototype plus use of your selected 1-2 Intellectual Techniques). Poster content due electronically at midnight.
- Thur: This class cancelled. (NSF rescheduled the earlier meeting for this date.)
- Week 9 (week of 11/25):
- Tue:
Dr. Burnett: Q/A about final project presentations and hands-on tests
Chao: CoScripter demo (short)
Michael S.: Slot #2 on the WhyLine. :-)
- Thur: No class (university holiday)
- Week 10 (week of 12/2): Final project presentations and hands-on tests.
- Tue: Final project presentations (@25 minutes including QA) by: Theresa & Michael H., Sergii & Catharina, Will & Super
- Thur: Final project presentations (@25 minutes including QA) by: Wojtek & Chad, Sheena & Karl, Jun & Chao
- Finals week (2:00 pm Tue 12/10): Final project presentations and hands-on tests.
- Final project presentations(@25 minutes including QA) by: Michael S. & Rana, Pratik & Michael M., Rithika & Sumanth, Mihai & Caius
An Overview of Papers We Might Cover
We will ultimately cover a subset of a superset of this group, but it gives you an idea of the kinds of papers we're covering. We'll probably read 6-7 of the Foundations papers, and the rest will be a fairly equal division between the remaining two classifications.
How to obtain these papers: Unless otherwise specified, you can obtain them from the ACM Digital Library or the IEEE Digital Library. OSU has subscriptions to both, so all you have to do is
(1) be using an OSU IP# and you can just go to the ACM Digital Library or IEEE Xplore directly, or
(2) if you're working from elsewhere, go to the OSU Library e-journals access page,
make your way to the ACM Digital Library or the IEEE Digital Library, and be ready to type in your ONID username and password.
HCI Foundations
- Beckwith dissertation theory chapter (2007) on gender differences
- [Blackwell 2002] Alan Blackwell, First steps in programming: a rationale for attention investment models, Proc. IEEE Human-Centric Computing Languages and Environments, Arlington, VA, Sept. 3-6, 2002, 2-10. This is the best and most up-to-date paper so far on attention investment.
- [Cao et al. 2011] Jill Cao, Scott Fleming, and Margaret Burnett. An exploration of design opportunities for `gardening' end-user programmers' ideas, IEEE Symposium on Visual Languages and Human-Centric Computing, Pittsburgh, PA, Sept. 18-22, 2011, pp. 35-42.
- [Coughlan and Johnson 2006] Tim Coughlan and Peter Johnson, Interaction in creative tasks: ideation, representation, and evaluation in composition, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 531-540. Good paper! Its about the design of tools to support creative activities. Note: programming is a creative endeavor -- why dont programming environments/languages use these ideas?
- Detienne chapters 3 and 6. (These will be handed out in class as needed.)
- [Fleming et al. 2013] Scott D. Fleming, Chris Scaffidi, David Piorkowski, Margaret Burnett, Rachel Bellamy, Joseph Lawrance, Irwin Kwan, An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks, ACM Transactions on Software Engineering and Methodology 22(2), Article 14, March 2013 (41 pages).
- Green/Petre 1996, Cognitive dimensions. Take the 1996 JVLC paper. (Other optional resources on Cognitive dimensions are available too.)
- Grigoreanu et al., Sensemaking and debugging.
- [Oviatt et al. 2012] Sharon Oviatt, Adrienne Cohen, Andrea Miller, Kumi Hodge, Ariana Mann, The impact of interface affordances on human ideation, problem solving, and inferential reasoning, ACM TOCHI 19(3), October 2012, Article 22. How computer INPUT capabilities/affordances influence basic cognition, including ideational fluency.
- Pane/Myers 2006, Natural Programming.
- [Spool et al. 2004] Spool, J., Profetti, C., and Britain, D., Designing for the scent of information, User Interface Eng. (2004). Will be handed out in class as needed.
- Yang et al., Representation benchmarks. Go to Dr. Burnett's home page/Papers link. It's paper #8, 1997.
- TBA, Personas (maybe)
People/Tasks/Situations
- [Alankus et al. 2010] Gazihan Alankus, Amanda Lazar, Matt May, and Caitlin Kelleher, Towards Customizable Games for Stroke Rehabilitation, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 2113-2122.
- [Bogart et al. 2008] Christopher Bogart, Margaret Burnett, Allen Cypher, and Christopher Scaffidi,
End-User Programming in the Wild: A Field Study of CoScripter Scripts,
IEEE Symposium on Visual Languages and Human-Centric Computing, Herrsching am Ammersee, Germany, Sept. 2008, pp. 39-46.
- Burnett et al., 2010, gender differences across programming populations.
- Cao et al., 2010, End-user mashup programming: Through the design lens (CHI'10).
- [Cherubini et al. 2007] Mauro Cherubini, Gina Venolia, Rob DeLine, Andrew Ko, Lets go to the whiteboard: How and why software developers use drawing, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 557-566.
- [Ellis et al. 2007] Brian Ellis, Jeffrey Stylos, and Brad Myers, The factory pattern in API design: A usability evaluation, International Conference on Software Engineering, Minneapolis, MN, May 20-26, 2007, pp. 302-311. The commonly held belief that the Factory Pattern is better gets debunked empirically here. They then go into a fair amount of CD analysis to see why they got this result.
- Gilmore/Green '84: What/how
- [Hundhausen et al. 2006] Christopher Hundhausen, Sean Farley, and Jonathan Brown, Can direct manipulation lower the barriers to programming and promote positive transfer to textual programming? An experimental study, IEEE Symposium on Visual Languages and Human-Centric Computing, Brighton, UK, Sept. 4-8, 2006, pp. 157-164.
- Kissinger et al., AVI'06 on what people want to know
- [Ko and Chilana 2010] Andrew Ko and Parmit Chilana, How Power Users Help and Hinder Open Bug Reporting, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 1665-1674.
- Ko et al., ICSE'05
- [Ko et al. 2004] Andrew Ko, Brad Myers, and Htet Htet Aung, Six learning barriers in end-user programming systems, IEEE Symposium on Visual Languages and Human-Centric Computing, Sept. 27-30, 2004, 199-206.
- Lawrance et al., Using Information Scent to Model the Dynamic Foraging Behavior of Programmers in Maintenance Tasks,
Joseph Lawrance, Rachel Bellamy, Margaret Burnett, Kyle Rector,
ACM CHI 2008, Florence, Italy, April 2008. (CHI'08)
- [Leshed et al. 2008] Gilly Leshed, Eben Haber, Tara Matthews, Tessa Lau, CoScripter: Automating & Sharing How-To Knowledge in the Enterprise, CHI'08. CoScripter is an end-user language for web scripting. The paper is about how people use it.
- [Myers et al. 2008] Brad Myers, Sun Young Park, Yoko Nakano, Greg Mueller, Andrew Ko, How designers design and program interactive behaviors, IEEE Symposium on Visual Languages and Human-Centric Computing, Herrshing am Ammersee, Germany, Sept. 15-19, 2008, pp. 177-184.
- [Ozenc et al. 2010] Fatih Kursat Ozenc, Miso Kim, John Zimmerman, Stephen Oney, Brad Myers, How to Support Designers in Getting Hold of the Immaterial Material of Software, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 2513-2522.
- Petre, What experts want
- [Petre 2013] Marian Petre, UML in Practice, ACM/IEEE International Conference on Software Engineering, San Francisco, CA, May 18-26, 2013, 722-731.
- [Prabaker et al. 2006] M. Prabaker, L. Bergman, and V. Castelli, An evaluation of using programming by demonstration and guided walkthrough techniques for authoring and utilizing documentation, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 241-250. This is their work on documenting-by-demonstration. ie, theyre documenting the procedure of how to do something on the computer. Handles multiple examples, if-thens, editing and annotation. There is an evaluation with users with thought-provoking results.
- [Rashid et al. 2006] Al Mamunur Rashid, Kimberly Ling, Regina Tassone, Paul Resnick, Robert Kraut, and John Riedl, Motivating participation by displaying the value of contribution, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 955-958. So, maybe this could be used for Reward motivating end-user programmers to contribute to a repository of code, a la open source...
- [Scaffidi et al. 2006] Christopher Scaffidi, Andrew Ko, Brad Myers, and Mary Shaw, Dimensions characterizing programming feature usage by information workers, IEEE Symposium on Visual Languages and Human-Centric Computing, Brighton, UK, Sept. 4-8, 2006, pp. 59-62. This is their study of 800+ InfoWeek readers. These were mostly managers and non-programmers, although about 20+% were IT people of some sort.
- [Segal 2007] Judith Segal, Some problems of professional end user developers, IEEE Symposium on Visual Languages and Human-Centric Computing, Couer dAlene, Idaho, Sept. 23-27, 2007, pp. 111-118. Field studies with financial mathematicians, planetary/space scientists, and biologists.
- Shirky: Situated Programming essay
- Soloway/Erlich
- [Stylos and Myers 2007] Jeffrey Stylos and BradMyers, Mapping the space of API design decisions, IEEE Symposium on Visual Languages and Human-Centric Computing, Couer dAlene, Idaho, Sept. 23-27, 2007, pp. 50-57. Design decisions include eg, design pattern choices, naming classes, class design, ...
- [Stylos and Clarke 2007] Jeffrey Stylos and Steven Clarke, Usability implications of requiring parameters in objects constructors, International Conference on Software Engineering, Minneapolis, MN, May 20-26, 2007, pp. 529-538. Big picture theme: testing each API is too expensive; lets instead learn about API design choices that can inform our design of APIs in general.
- [Subrahmaniyan et al. 2008] Neeraja Subrahmaniyan, Laura Beckwith, Valentina Grigoreanu, Margaret Burnett, Susan Wiedenbeck, Vaishnavi Narayanan, Karin Bucht, Russell Drummond, and Xiaoli Fern, Testing vs. Code Inspection vs. ... What Else? Male and Female End Users Debugging Strategies, ACM Conference on Human-Computer Interaction, April 2008.
- [Tullio et al. 2007] Joe Tullio, Anind Dey, Jason Chalecki, James Fogarty, How it works: A field study of non-[technical users interacting with an intelligent system, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 31-40. End users perceptions of how a machine-learned program works. A field study with 8 workers. Participants early models (which varied a lot between participants!) were remarkably persistent even given counterevidence. Still, their smaller misconceptions did give way to feedback. Participants sometimes did a good job of guessing the machine learning algorithms (in lay terms). Used a series of semi-structured interviews over time, and also surveys.
- [Zheng et al. 2006] Q. Zheng, K. Booth, and J. McGrenere, Co-authoring with structured annotations, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 131-140. I see this as being relevant to EUSE and perhaps allowing the user to explain or supporting collaborative eu development/debugging/maintenance of software.
Case Studies of Languages/Tools for People
- [Abraham and Erwig 2004] Robin Abraham and Martin Erwig. Header and unit inference for spreadsheets through spatial analyses, IEEE Symposium on Visual Languages and Human-Centric Computing, Sept. 27-30, 2004, 165-172. Describes the design and implementation of a unit and header inference system. Several heuristic algorithms are involved, such as "fence identification", content-based cell classification, region-based cell classification, and footer-to-core expansion.
- [Abraham and Erwig 2007] Robin Abraham and Martin Erwig, A type system based on end-user vocabulary IEEE Symposium on Visual Languages and Human-Centric Computing, Couer dAlene, Idaho, Sept. 23-27, 2007, pp. 215-222. Did a think-aloud with UCheck on some teachers. The teachers basically were able to use UCheck to find and fix errors, but they had some difficulty tracking down errors that manifested themselves in other cells sometimes. Thus, the authors added an ability to spot irregularities in formula regions (eg, concavities, holes, etc.) as an addition to the fault localization they already do.
- [Assogba and Donath 2010] Yannick Assogba and Judith Donath, Share: A Programming Environment for Loosely Bound Cooperation, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 961-970.
- Beckwith et al., VLHCC'05 on software designs to reduce gender gaps
- [Boshernitsan et al. 2007] Marat Boshernitsan, Susan Graham, Marti Hearst, Aligning development tools with the way programmers think about code changes, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 567-576. A visual transformation language that allows programmers to update their programs in significant ways.
- [Bragdon et al. 2010] Andrew Bragdon, Robert Zeleznik, Steven P. Reiss, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, Joseph J. LaViola Jr., Code Bubbles: A Working Set-based Interface for Code Working Set-based Interface for Code Understanding and Maintenance, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 2503-2512. See also the 8-minute video at codebubbles.org
- Burnett et al., end-user software engineering (CACM 2004)
- [Burnett et al. 2006] Margaret Burnett, Gregg Rothermel, and Curtis Cook, "An Integrated Software Engineering Approach for End-User Programmers", in End User Development, (H. Lieberman, F. Paterno, and V. Wulf, eds.), Springer, 87-113, 2006. You can download this from Dr. Burnett's papers page. It is #12 under 2006.
- [Chang et al. 2010] Tsung-Hsiang Chang, Tom Yeh, and Robert C. Miller, GUI Testing Using Computer Vision, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 1535-1544.
- Clarke, using personas in API design
- [Dixon and Fogarty 2010] Morgan Dixon and James Fogarty, Prefab: Implementing Advanced Behaviors Using Pixel-Based Reverse Engineering of Interface Structure, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 1525-1534. Meaty paper -- no extra reading required when presenting this one.
- [Eisenberg et al. 2010] Daniel S. Eisenberg, Jeffrey Stylos, Andrew Faulring, Brad A. Myers, Using Association Metrics to Help Users Navigate API Documentation, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing, 2010.
- [Faaborg and Lieberman 2006] Alexander Faaborg and Henry Lieberman, A goal-oriented web browser, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 751-760. Programming by example based on goals.
- [Fernaeus and Tholander 2006] Ykva Fernaeus and Jakob Tholander , Finding design qualities in a tangible programming space, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 447-456. This is a tangible (ie with physical objects) programming environment for children to collaboratively construct screen-based programs.
- [Grigoreanu et al. 2010] A strategy-centric approach to the design of end-user debugging tools at CHI'10. Supports "to-do listing" in debugging.
- [Heer and Bostock 2010] Heer J., Bostock M.: Declarative language design for interactive visualization. IEEE Transactions on Visualization and Computer Graphics 16 (November 2010), 1149-1156.
- [Kelleher et al. 2007] Caitlin Kelleher, Randy Pausch, Sara Kiesler, Storytelling Alice motivates middle school girls to learn computer programming, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 1455-1464.
- [Ko and Myers 2004] Andrew Ko and Brad Myers, Designing the Whyline: A Debugging Interface for Asking Questions about Program Behavior, ACM Conference on Human Factors in Computing Systems, Vienna, Austria, Apr 24-29, 2004, pp. 151-158. The WhyLine. Very interesting work. Really helped debugging.
- Ko et al. 2010, End-user software engineering (ACM Computing Surveys 2010).
- [Lee et al. 2010] Brian Lee, Savil Srivastava, Ranjitha Kumar, Ronen Brafman, Scott R. Klemmer, Designing with Interactive Example Galleries, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 2257-2268.
- [Li et al. 2010] Ian Li, Jeffrey Nichols, Tessa Lau, Clemens Drews, and Allen Cypher, Here's What I Did: Sharing and Reusing Web Activity with ActionShot, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 723-732.
- [Liu and Li 2007] Alan Liu and Yang Li, BrickRoad: A light-weight tool for spontaneous design of location-enhanced applications, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 295-298. I see this as end-user soft. eng. (design stage) for designers at an early stage. Its programming to set up Wizard of Oz experiments, so that they can evaluate their design concepts with human subjects. They do _not_ specify any application logic with this tool -- its strictly for design ideas.
- [Moraveji et al. 2007] Neema Moraveji, Jason Li, Jiarong Ding, Patrick OKelley, Suze Woolf, Comicboarding: Using comics as proxies for participatory design with children, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 1371-1374. This technique elicited design ideas very well, even for reluctant children. I think the details of how they did it also made a big difference. Food for thought on how to elicit designs from timid end users (eg, females?) in end-user software engineering design. Particularly interesting from a gender perspective, given Kellehers results about storytelling being effective at motivating females.
- [Myers et al. 2006] Brad Myers, David Weitzman, Andrew Ko, and Duen Horng Chau, Answering why and why not questions in user interfaces, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 397-406. Very cool. Why didnt it fix my spelling error this time? Or, why did it? Etc.
- [Nichols et al. 2006] Jeffrey Nichols, Brad Myers, and Brandon Rothrock, UNIFORM: Automatically generating consistent remote control user interfaces, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 611-620. Good paper! Its about automatically creating personally uniform remote controls on your PDA.
- [Pane et al. 2002] J.F. Pane, B.A. Myers, and L.B. Miller, Using HCI techniques to design a more usable programming system. Proc. IEEE Human-Centric Computing Languages and Environments, 3-6 Sept. 2002, 198 - 206.
- [Raffle et al. 2006] H. Raffle, A. Parkes, H. Ishii, and J. Lifton, Beyond record and play - Backpacks: Tangible modulators for kinetic behavior, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 681-690. Programming by demonstration for children.
- [Repenning and Ioannidou 2006] Alexander Repenning and Andri Ioannidou, AgentCubes: Raising the ceiling of end-user development in education through incremental 3D, IEEE Symposium on Visual Languages and Human-Centric Computing, Brighton, UK, Sept. 4-8, 2006, pp. 27-31. AgentSheets goes 3D in terms of what its trying to support (rich media environments, etc.).
- Rothermel et al., WYSIWYT (ICSE'98)
- [Scaffidi et al. 2009] Scaffidi, C., Myers, B., and Shaw, M. (2009) Fast, accurate creation of data validation formats by end-user developers. 2nd International Symposium on End-User Development, 242-261. (You can download this paper from Dr. Scaffidi's papers page.)
- Subrahmaniyan et al., VLHCC'07 on filling information gaps
- [Tarkan et al. 2010] Sureyya Tarkan, Vibha Sazawal, Allison Druin, Evan Golub, Elizabeth M. Bonsignore, Greg Walsh, Zeina Atrash, Toque: Designing a Cooking-Based Programming Language For and With Children, ACM Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 2417-2428.
- [Wilson et al. 2003] A. Wilson, M. Burnett, L. Beckwith, O. Granatir, L. Casburn, C. Cook, M. Durham, and G. Rothermel, Harnessing Curiosity to Increase Correctness in End-User Programming, ACM Conference on Human Factors in Computing Systems, Ft. Lauderdale, FL, Apr. 3-10, 2003, 305-312. Surprise-Explain-Reward
- [Wong and Hong 2007] Jeffrey Wong and Jason Hong, Making mashups with Marmite: Towards end-user programming for the web, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 1435-1444.
- [Wright et al. 2006] William Wright, David Schroh, Pascale Proulx, Alex Skaburskis, and Brian Cort, The sandbox for analysis - Concepts and methods, ACM Conference on Human Factors in Computing Systems, Montreal, Canada, Apr 22-27, 2006, pp. 801-810. Its to support people doing analytical sense-making.
- [Zimmerman et al. 2007] John Zimmerman, Anthony Tomasic, Isaac Simmons, Ian Hargraves, Ken Mohnkern, Jason Cornwell, Robert Martin McGuire, VIO: A mixed-initiative approach to learning and automating procedural update tasks, ACM Conference on Human Factors in Computing Systems, San Jose, CA, Apr 28-May 3, 2007, pp. 1445-1454. This is in the Koala class of work, but also might be a case of the Surprise-Reward parts of Surprise-Explain-Reward. Theres also an interesting empirical strategy in which they succeed in teasing apart AIs effects vs. the interfaces effects.
- TBA, papers under review. Handed out in class as needed.
A few misc. resources
Margaret M. Burnett
Date of last update: Nov. 25, 2013