Results 1 - 10
of
21
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 programmin ..."
Abstract
-
Cited by 24 (0 self)
- Add to MetaCart
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.
Storytelling Alice Motivates Middle School Girls to . . .
- IN CHI'07
, 2007
"... We describe Storytelling Alice, a programming environment that introduces middle school girls to computer programming as a means to the end of creating 3D animated stories. Storytelling Alice supports story creation by providing 1) a set of high-level animations, that support the use of social chara ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
We describe Storytelling Alice, a programming environment that introduces middle school girls to computer programming as a means to the end of creating 3D animated stories. Storytelling Alice supports story creation by providing 1) a set of high-level animations, that support the use of social characters who can interact with one another, 2) a collection of 3D characters and scenery designed to spark story ideas, and 3) a tutorial that introduces users to writing Alice programs using storybased examples. In a study comparing girls ’ experiences learning to program using Storytelling Alice and a version of Alice without storytelling support (Generic Alice), we found that users of Storytelling Alice and Generic Alice were equally successful at learning basic programming constructs. Participants found Storytelling Alice and Generic Alice equally easy to use and entertaining. Users of Storytelling Alice were more motivated to program; they spent 42 % more time programming, were more than 3 times as likely to sneak extra time to work on their programs, and expressed stronger interest in future use of Alice than users
Beyond AOP: Toward Naturalistic Programming
- IN: OOPSLA'03 SPECIAL TRACK ON ONWARD! SEEKING NEW PARADIGMS & NEW THINKING (ACM
, 2003
"... Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of “high-level” programming paradigms and object-oriented languages helps, but fundamentally remains far from solving the problem. Most programming languages and sy ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of “high-level” programming paradigms and object-oriented languages helps, but fundamentally remains far from solving the problem. Most programming languages and systems have fallen prey to the assumption that they are supposed to capture idealized models of computation inspired by deceptively simple metaphors such as objects and mathematical functions. Aspect-oriented programming languages have made a significant breakthrough by noticing that, in many situations, humans think and describe in crosscutting terms. In this paper we suggest that the next breakthrough would require looking even closer to the way humans have been thinking and describing complex systems for thousand of years using natural languages. While natural languages themselves are not appropriate for programming, they contain a number of elements that make descriptions concise, effective and understandable. In particular, natural languages referentiality is a key factor in supporting powerful program organizations that can be easier understood by humans.
Barista: An Implementation Framework for Enabling New Tools, Interaction Techniques and Views in Code Editors
- CHI 2006
, 2006
"... Recent advances in programming environments have focused on improving programmer productivity by utilizing the inherent structure in computer programs. However, because these environments represent code as plain text, it is difficult and sometimes impossible to embed interactive tools, annotations, ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
Recent advances in programming environments have focused on improving programmer productivity by utilizing the inherent structure in computer programs. However, because these environments represent code as plain text, it is difficult and sometimes impossible to embed interactive tools, annotations, and alternative views in the code itself. Barista is an implementation framework that enables the creation of such user interfaces by simplifying the implementation of editors that represent code internally as an abstract syntax tree and maintain a corresponding, fully structured visual representation on-screen. Barista also provides designers of editors with a standard text-editing interaction technique that closely mimics that of conventional text editors, overcoming a central usability issue of previous structured code editors.
The Topes Format Editor and Parser
, 2007
"... It is currently difficult and time-consuming to validate and manipulate data in web applications, so we have developed an editor and a parser to simplify these tasks. Our editor enables end-user programmers to create and debug reusable, flexible data formats without learning a complex new language. ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
It is currently difficult and time-consuming to validate and manipulate data in web applications, so we have developed an editor and a parser to simplify these tasks. Our editor enables end-user programmers to create and debug reusable, flexible data formats without learning a complex new language. Our parser uses these formats to turn strings into structured objects and to report its level of confidence that each string is a valid instance of the format. End-user programmers can use our system to create validation code that takes a graduated response to slightly invalid data. We evaluate our system’s expressiveness by defining formats for commonly-occurring web data.
The Impact of Software Engineering Research on Modern Programming Languages
- ACM Transactions on Software Engineering and Methodology
"... Software engineering research and programming language design have enjoyed a symbiotic relationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programmin ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Software engineering research and programming language design have enjoyed a symbiotic relationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programming languages: data and procedural abstraction, types, concurrency, exceptions, and visual programming mechanisms. The influences are determined by tracing references in publications in both fields, obtaining oral histories from language designers delineating influences on them, and tracking cotemporal research trends and ideas as demonstrated by workshop topics, special issue publications, and invited talks in the two fields. In some cases there is conclusive This article has been developed under the auspices of the Impact Project. The aim of the project is to provide a scholarly study of the impact that software engineering research—both academic and industrial—has had upon practice. The principal output of the project is a series of individual papers covering the impact upon practice of research in several selected major areas of software
The Impact of HumanCentered Features on the Usability of a Programming System for Children
- In ACM Extended Abstracts: Conf. on Human Factors in Computing Systems
, 2002
"... HANDS is a new programming system for children that was designed for usability. This paper examines the effectiveness of three features of HANDS: queries, aggregate operations, and data visibility. The system is compared with a limited version that lacks these features. In the limited version, progr ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
HANDS is a new programming system for children that was designed for usability. This paper examines the effectiveness of three features of HANDS: queries, aggregate operations, and data visibility. The system is compared with a limited version that lacks these features. In the limited version, programmers can achieve the same results but must use more traditional programming techniques. Children using the full-featured HANDS system performed significantly better than their peers who used the limited version. This provides evidence that usability of programming systems can be improved by including these features.
Identifying Categories of End Users Based on the Abstractions That They Create
, 2005
"... Software created by end users often lacks key quality attributes that professional programmers try to ensure through the use of abstraction. Yet to date, large-scale studies of end users have not examined end user software usage at a level whic h is suffic ientl y fine-grained to determine the exten ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Software created by end users often lacks key quality attributes that professional programmers try to ensure through the use of abstraction. Yet to date, large-scale studies of end users have not examined end user software usage at a level whic h is suffic ientl y fine-grained to determine the extent to whic h the yc reate abstrac tions. To address this, we deployed an online survey to In formation Week subsc ribers to ask about not only so ftware usage but also feature usage related to abstra c tionc reation. Most respondents didc reate abstrac tions. Moreover, through fac tor analysis, w e found that features fell into three clusters--when users had a propensity to use one feature, then they also had a propensity to use other features in the same cluster. These clusters
Can direct manipulation lower the barriers to programming and promote positive transfer to textual programming? An experimental study
- In Proceedings IEEE 2006 Symposium on Visual Languages and Human-Centric Computing, IEEE, Piscataway, NJ
, 2006
"... Novices face many barriers when learning to program, including the need to learn both a new syntax and a model of computation. By constraining syntax and providing concrete visual representations on which to operate, direct manipulation programming environments can potentially lower these barriers. ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Novices face many barriers when learning to program, including the need to learn both a new syntax and a model of computation. By constraining syntax and providing concrete visual representations on which to operate, direct manipulation programming environments can potentially lower these barriers. However, what if the learning goal of the novice is to be able ultimately to program in conventional textual languages, as is the case for introductory computer science students? Can direct manipulation programming environments lower the barriers to programming, and, at the same time, promote positive transfer to textual programming? To address this question, we designed a new direct manipulation programming interface for ALVIS Live!, a novice programming environment. We then conducted an experimental study that compared the programming outcomes promoted by the new direct manipulation interface to those promoted by ALVIS Live!’s textual programming interface. We found that the direct manipulation interface not only led to significantly better initial programming outcomes, but also to significant positive transfer to the textual interface. Our results show that direct manipulation interfaces can provide novices with a “way in ” to traditional textual programming. 1.
Heuristic evaluation of programming language features
, 2010
"... Usability is an important feature for programming languages. However, user studies which compare programming languages or systems are both very expensive and typically inconclusive. In this paper, we posit that discount usability methods can be successfully applied to programming languages concepts ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Usability is an important feature for programming languages. However, user studies which compare programming languages or systems are both very expensive and typically inconclusive. In this paper, we posit that discount usability methods can be successfully applied to programming languages concepts such as language features. We give examples of useful feedback received from applying heuristic evaluation to a selection of language features targeted at parallel programming.

