Although researchers have begun to explicitly support end-user programmers’ debugging by providing information to help them find bugs, there is little research addressing the right content to communicate to these users. The specific semantic content of these debugging communications matters because, if the users are not actually seeking the information...
Spreadsheets are among the most widely used end-user programming systems. Unfortunately, there is a high incidence of errors in end-user spreadsheets, and some of these errors have high impact. In this dissertation, we describe techniques we have developed to help end users develop safer spreadsheets. As part of our research,...
There has been little research into how end-user programming environments can provide explanations that could fill a critical information gap for end-user debuggers – help with debugging strategy. To address this need, we designed and prototyped a video-based approach for explaining debugging strategy, and accompanied it with a text-only approach....
The results of a machine learning from user behavior can be thought of as a program, and like all programs, it may need to be debugged. Providing ways for the user to debug it matters because without the ability to fix errors, users may find that the learned program’s errors...
End users' programs are fraught with errors, costing companies millions of dollars. One reason may be that researchers and tool designers have not yet focused on end-user debugging strategies. To investigate this possibility, this dissertation presents eight empirical studies and a new strategy-based end-user debugging tool for Excel, called StratCel....
End-user programming is growing at a rapid rate, but there has been little in the way of tools or environments to improve the correctness of programs created by end users. We present an approach to dynamic assertions in one of the most widely used end-user programming paradigms - namely the...
E-commerce has begun to evolve beyond simple web pages to more sophisticated ways of conducting e-business transactions, such as through electronic advertising, negotiation, and delivery. However, to participate in these advances requires the skills of professional programmers, and end-user owners of small businesses often cannot justify this expense. In this...
Traditionally, research into end-user programming has focused on how to make programming more accessible to end users. However, few researchers have considered providing end users with devices to help improve the reliability of the programs they create. To help improve the reliability of spreadsheets created by end users, we are...
End-user programmers face many barriers in programming. Research has seen many programming environments that attempted to lower or remove the barriers but despite these efforts, empirical studies continue to report barriers users face. To investigate this issue, we took a theory-informed approach. Using theories from design, creativity, and problem solving...
The art of software engineering inherently requires high-level problem solving and perseverance, as programmers and designers wrestle with complex design and implementation challenges in the process of turning loose concepts and ideas into working code. In the current developer ecosystem, engineers are commonly incentivized extrinsically by monetary rewards, approval or...