Results 1 - 10
of
110
Estimating the Numbers of End Users and End User Programmers
- In IEEE Symp. on Visual Languages and Human-Centric Computing
, 2005
"... In 1995, Boehm predicted that by 2005, there would be “55 million performers ” of “end user programming ” in the United States. The original context and method which generated this number had two weaknesses, both of which we address. First, it relies on undocumented, judgment based factors to estima ..."
Abstract
-
Cited by 121 (29 self)
- Add to MetaCart
(Show Context)
In 1995, Boehm predicted that by 2005, there would be “55 million performers ” of “end user programming ” in the United States. The original context and method which generated this number had two weaknesses, both of which we address. First, it relies on undocumented, judgment based factors to estimate the number of end user programmers based on the total number of end users; we address this weakness by identifying specific end user sub populations and then estimating their sizes. Second, Boehm's estimate relies on additional undocumented, judgment based factors to adjust for rising computer usage rates; we address this weakness by integrating fresh Bureau of Labor Statistics (BLS) data and projections as well as a richer estimation method. With these improvements to Boehm’s method, we estimate that in 2012 there will be 90 million end users in American workplaces. Of these, we anticipate that over 55 million will use spreadsheets or databases (and therefore may potentially program), while over 13 million will describe themselves as programmers, compared to BLS projections of fewer than 3 million professional programmers. We have validated our improved method by generating estimates for 2001 and 2003, then verifying that our estimates are consistent with existing estimates from other sources.
Six Learning Barriers in End-User Programming Systems
- IEEE SYMP. ON VLHCC
, 2004
"... As programming skills increase in demand and utility, the learnability of end-user programming systems is of utmost importance. However, research on learning barriers in programming systems has primarily focused on languages, overlooking potential barriers in the environment and accompanying librari ..."
Abstract
-
Cited by 99 (17 self)
- Add to MetaCart
As programming skills increase in demand and utility, the learnability of end-user programming systems is of utmost importance. However, research on learning barriers in programming systems has primarily focused on languages, overlooking potential barriers in the environment and accompanying libraries. To address this, a study of beginning programmers learning Visual Basic.NET was performed. This identified six types of barriers: design, selection, coordination, use, understanding, and information. These barriers inspire a new metaphor of computation, which provides a more learner-centric view of programming system design.
Header and unit inference for spreadsheets through spatial analyses
- In IEEE Int. Symp. on Visual Languages and Human-Centric Computing
, 2004
"... This paper describes the design and implementation of a unit and header inference system for spreadsheets. The system is based on a formal model of units that we have described in previous work. Since the unit inference depends on information about headers in a spreadsheet, a realistic unit inferenc ..."
Abstract
-
Cited by 70 (20 self)
- Add to MetaCart
This paper describes the design and implementation of a unit and header inference system for spreadsheets. The system is based on a formal model of units that we have described in previous work. Since the unit inference depends on information about headers in a spreadsheet, a realistic unit inference system requires a method for automatically determining headers. The present paper describes (1) several spatial-analysis algorithms for header inference, (2) a framework that facilitates the integration of different algorithms, and (3) the implementation of the system. The combined header and unit inference system is fully integrated into Microsoft Excel and can be used to automatically identify various kinds of errors in spreadsheets. Test results show that the system works accurately and reliably. 1
End-User Software Engineering
- Communications of the ACM
, 2004
"... this article, we describe how these devices can be used by end-user programmers. We also summarize the results of our empirical investigations into the usefulness and effectiveness of these devices for promoting dependability in end-user programming ..."
Abstract
-
Cited by 64 (25 self)
- Add to MetaCart
(Show Context)
this article, we describe how these devices can be used by end-user programmers. We also summarize the results of our empirical investigations into the usefulness and effectiveness of these devices for promoting dependability in end-user programming
A User-Centred Approach to Functions in Excel
- In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We describe extensions to the Excel spreadsheet that integrate userdefined functions into the spreadsheet grid, rather than treating them as a "bolt-on". Our first objective was to bring the benefits of additional programming language features to a system that is often not recognised as a ..."
Abstract
-
Cited by 46 (1 self)
- Add to MetaCart
(Show Context)
We describe extensions to the Excel spreadsheet that integrate userdefined functions into the spreadsheet grid, rather than treating them as a "bolt-on". Our first objective was to bring the benefits of additional programming language features to a system that is often not recognised as a programming language. Second, in a project involving the evolution of a well-established language, compatibility with previous versions is a major issue, and maintaining this compatibility was our second objective. Third and most important, the commercial success of spreadsheets is largely due to the fact that many people find them more usable than programming languages for programming-like tasks. Thus, our third objective (with resulting constraints) was to maintain this usability advantage.
An E-whiteboard application to support early design-stage sketching of UML diagrams
- In Proceedings of the 2003 IEEE Conference on Human-Centric Computing
, 2003
"... We describe a Unified Modelling Language (UML) diagramming tool that uses an E-whiteboard, pen-based sketching interface to support collaborative design. Our tool allows designers to sketch UML visual modelling language constructs, mixing different UML diagram components, free-hand annotations and h ..."
Abstract
-
Cited by 41 (7 self)
- Add to MetaCart
(Show Context)
We describe a Unified Modelling Language (UML) diagramming tool that uses an E-whiteboard, pen-based sketching interface to support collaborative design. Our tool allows designers to sketch UML visual modelling language constructs, mixing different UML diagram components, free-hand annotations and hand-written text. A key novelty of our approach is the preservation of handdrawn diagrams and support for manipulation of the diagrams using pen-based actions. UML sketches can be “formalized ” to computer-recognised and drawn diagrams, and exported to a 3 rd party CASE tool. 1.
A framework and methodology for studying the causes of software errors in programming systems
- JOURNAL OF VISUAL LANGUAGES AND COMPUTING
, 2005
"... An essential aspect of programmers' work is the correctness of their code. This makes current HCI techniques ichnikTz to analyze and desiW the programmiz systems that programmers use everyday,siry thesetechnixb% focus more on problemswib learnabifi%x andefficiqxk of use, and less on error-prone ..."
Abstract
-
Cited by 40 (8 self)
- Add to MetaCart
An essential aspect of programmers' work is the correctness of their code. This makes current HCI techniques ichnikTz to analyze and desiW the programmiz systems that programmers use everyday,siry thesetechnixb% focus more on problemswib learnabifi%x andefficiqxk of use, and less on error-proneness. We propose a frameworkand methodology that focusesspeci-q-%b on errors bysupportiz thedescrizkTz andikb-zW-kTzzW of the causes of software errorsi terms ofchaib ofcogniqfik breakdowns. The frameworki based on both old and newstudiW ofprogrammiqfi as well as general research on themechanikT of human error. Our experi%kT- usie the frameworkand methodology to study theAlib programmiT system havediek-W% iek-W% thedesib of several newprogrammitools and idkfi-WbWkT Thi ii-Wb theWhyliO debuggib iuggibkT whi we have shown to reduce debuggifi tiu by a factor of 8 and help programmers get 40% further throughthei tasks. WediOEfi% the framework's and methodology'sithodology' forprogrammisystem desimk softwareengirek%EbO and the psychology of programming.
The State of the Art in End-User Software Engineering
"... Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use ..."
Abstract
-
Cited by 39 (2 self)
- Add to MetaCart
Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use an interface builder to test some user interface design ideas. Although these end-user programmers may not have the same goals as professional developers, they do face many of the same software engineering challenges, including understanding their requirements, as well as making decisions about design, reuse, integration, testing, and debugging. This article summarizes and classifies research on these activities, defining the area of End-User Software Engineering (EUSE) and related terminology. The article then discusses empirical research about end-user software engineering activities and the technologies designed to support them. The article also addresses several crosscutting issues in the design of EUSE tools, including the roles of risk, reward, and domain complexity, and self-efficacy
The domestic economy: A broader unit of analysis for end user programming
- in Proceedings of CHI 2005
, 2005
"... Domestic ubicomp applications often assume individual users will program and configure their technology in isolation, decoupled from complex domestic environments in which they are situated. To investigate this assumption, we conducted a two week study of VCR use by eight families. Each household me ..."
Abstract
-
Cited by 38 (10 self)
- Add to MetaCart
(Show Context)
Domestic ubicomp applications often assume individual users will program and configure their technology in isolation, decoupled from complex domestic environments in which they are situated. To investigate this assumption, we conducted a two week study of VCR use by eight families. Each household member old enough to write completed a diary, interviews were conducted before and after, and information on demographics and appliance ownership was collected. Our key finding supports the notion of the domestic economy and the trading of programming expertise. We use the Attention Investment paradigm, and discuss how the model fits with multi-user programming situations. We discuss the importance of the parent v/s child roles in VCR use, as well as, the tension between direct manipulation (e.g. pressing record) and programming ahead of time. We propose that future work on end user programming must focus on the household as a domestic system rather than on the individual.
Development and Evaluation of a Model of Programming Errors
, 2003
"... Models of programming and debugging suggest many causes of errors, and many classifications of error types exist. Yet, there has been no attempt to link causes of errors to these classifications, nor is there a common vocabulary for reasoning about such causal links. This makes it difficult to compa ..."
Abstract
-
Cited by 37 (11 self)
- Add to MetaCart
Models of programming and debugging suggest many causes of errors, and many classifications of error types exist. Yet, there has been no attempt to link causes of errors to these classifications, nor is there a common vocabulary for reasoning about such causal links. This makes it difficult to compare the abilities of programming styles, languages, and environments to prevent errors. To address this issue, this paper presents a model of programming errors based on past studies of errors. The model was evaluated with two observational of Alice, an event-based programming system, revealing that most errors were due to attentional and strategic problems in implementing algorithms, language constructs, and uses of libraries. In general, the model can support theoretical, design, and educational programming research.