End users create software when they use spreadsheet systems, web authoring tools and graphical languages, and when they create educational simulations, macros-by-demonstration, and dynamic e-business web applications and mash-ups. Some end-user developers, such as accountants or teachers, may have no formal training at all in programming. Others, such as scientists...
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...
End-user specification of Lyee programs is one goal envisioned by the Lyee methodology. But with any software development effort comes the possibility of faults. Thus, providing end users a means to enter their own specifications is not enough; they must also be provided with the means to find faults in...
Traditionally, research into end-user programming has focused on how to make programming more accessible to end users conducting the programming activities all by themselves. However, few researchers have considered introducing the concept of collaborative programming into the area of end-user programming, and how the programming environments and devices should be...
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,...
End-user programmers often struggle to create programs that run quickly and effectively, which can be a major deterrent in completing their tasks as desired. Current research has primarily focused on catching user mistakes, such as errors or misused formulas. However, end users deal with issues other than just correctness. In...
End-user programming has become widespread. The increasing size of this population and the prevalence of barriers that they face has sparked the development of approaches that promote end-user programing by helping them overcome barriers and teaching them programming. Despite the fact that these approaches have done well in achieving those...
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...
The WYSIWYT (What You See is What You Test) methodology applies formal analysis and testing techniques to the spreadsheet paradigm. So far the methodology has been applied to a research spreadsheet prototype, Forms/3. However, this prototype lacks the mathematical libraries, referential functions, ranges, and macros of commercial spreadsheets like Excel...
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....