This project will examine two issues related to end-user debugging of computer programs. First, what strategies do male and female end-user programmers try to use for debugging, and with which do they succeed? Second, how should end-user programming environments go about supporting and guiding these debugging strategies? Most of what is programmed must eventually be debugged. The support of problem-solving tasks such as debugging must extend all the way to the heart of problem solving, to strategy.

Although once only professional programmers developed software, today it is common for end users to create some of their own software. Common examples are spreadsheet systems, in which end users program by creating and changing formulas, and web application builders, in which end users program by demonstrating the desired behavior and/or making dataflow connections among computation tools dragged in from a palette. Numerous other examples exist. In fact, in the U.S. alone, there are millions of end users doing such forms of programming every day - many more than professional programmers.

Unfortunately, however, evidence is beginning to accumulate that some females are not benefiting as much as males from these empowering devices. There have been recent reports of gender differences in end users' willingness to approach and adopt new software features related to debugging, differences in attitudes toward software features, and differences in end-user programmers' playful tinkering with features. Other results of gender differences in software-based problem solving are also emerging. These findings suggest that there are factors within the software itself that may be subtly undermining females' effectiveness in many software-based problem-solving tasks.

This project contributes to the effective use of information technology in evolving, heterogeneous socio-technical systems, enabling more people to take full advantage of the power of computing. It will accomplish this by investigating the underlying strategies males and females use successfully to solve problems with software, and then investigating how to support these strategies. This work will also produce new advances in how to guide and encourage computational thinking to help males and females solve everyday problems that arise in computing, combining empirical methods with proof-of-concept prototypes. In addition, it will contribute to education programs, and in particular will involve talented female high-school students as research interns, to encourage them in the direction of computer science.

Project Report

Our findings and results have revealed the importance of attending to gender differences in designing software tools aimed at supporting problem solving by end-user programmers. Our results enumerate specific male/female differences in strategies and problem-solving approaches. Our new techniques show how end-user programming environments can support these differences. Finally, our results show empirically that these techniques help both males’ and females’ learning and performance in problem-solving debugging tasks. More specifically, the key results of our research are: Research Question 1: What strategies do male and female end users use in debugging? Are there gender differences in these strategy choices and their ties to success? Key result 1: Male and female end-user programmers have shown that they use both "traditional" debugging strategies (such as testing and code inspection) and less conventional strategies (such as "to-do listing"). However, there are gender differences in these strategy choices and their ties to success. The majority of strategies used by end-user programmers in our studies showed a statistical difference between genders regarding users’ preference for that strategy, debugging successes with that strategy, or both. Research Question 2: Are these strategy choices supported in end-user programming environments? If not, what new approaches are needed to support these strategy choices? Key result 2: Many of the strategies favored by females are not supported well by end-user programming environments. For example, code inspection, a strategy favored by females, is either cumbersome or entirely missing from many of the popular end-user programming environments, whereas following dataflow, a strategy favored by males, is much more commonly supported in these environments. Research Question 3: How can end-user programming environments be effective in guiding a user to debugging strategies that fit that user’s problem-solving needs well and help him or her succeed? Key results 3 and 4: (3) One technique to support both males and females in end-user programming environments is to support a variety of strategies, including ability to combine strategies opportunistically. Our empirical results showed that doing so allowed users to gravitate to their preferred strategies, resulting in highly effective debugging performance by both males and females. (4) Our empirical results with the Idea Garden concept demonstrated that supporting males’ and females’ ability to get context-sensitive, just-in-time instruction in problem-solving, mini-patterns, and certain high-level programming concepts enabled male and female end-user programmers to significantly increase their effectiveness at programming, debugging, and problem-solving. This work has raised national and international awareness in the research community. For example, one of our publications won a Best Paper Honorable Mention, and another won a Best Paper Award. Further, the PI has given invited talks, keynotes, and panel presentations on this topic in seven countries: the US, UK, Canada, France, Spain, Brazil, and India. This project has also promoted broader impacts in many ways. Its context is end-user debugging, a relatively unstudied problem-solving task engaged in by millions of U.S. computer users every day. Also, the project provided research opportunities to talented female high-school students as research interns, to encourage them in the direction of computer science. In total, 19 students from nearby high schools, from our university’s undergraduate program, and from its graduate program participated in this research. Thirteen of these students were members of underrepresented groups (females) in computing. Further, 38 students from Oregon and Washington high schools and middle schools participated in summer computing camps that built upon our research results to help students learn technology-oriented problem-solving skills. About three-fourths of these participants were female, with about one-fourth being rural students from a small, low socioeconomic town in rural Oregon. Finally, we co-created a new national resource for the National Center for Women & IT to help faculty provide quality research experiences to computer science undergraduates.

Agency
National Science Foundation (NSF)
Institute
Division of Information and Intelligent Systems (IIS)
Application #
0917366
Program Officer
William Bainbridge
Project Start
Project End
Budget Start
2009-09-15
Budget End
2013-08-31
Support Year
Fiscal Year
2009
Total Cost
$511,999
Indirect Cost
Name
Oregon State University
Department
Type
DUNS #
City
Corvallis
State
OR
Country
United States
Zip Code
97331