The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Now that we have end-user programming environments capable of empowering kids with no programming background to build games in a matter of hours, a new quest for raising the ceiling of end-user development is emerging. Environments not only focusing on programming, but also including rich media such as 3D, could work as compelling tools for introducing information technology at the K-12 level. The...
Modern development environments provide many features for navigating source code, yet studies show the developers still spend a tremendous amount of time just navigating. Since existing navigation features rely heavily on memorizing symbol names, we present a new design, called code thumbnails, intended to allow a developer to navigate source code by forming a spatial memory of it. To aid intra-file...
The problem of dependability in end-user programming is an emerging area of interest. Pair collaboration in end-user software development may offer a way for end users to debug their programs more effectively. While pair programming studies - primarily of computer science students and professionals - report positive outcomes in terms of overall program quality, little is known about specific activities...
Nonprogrammers who wish to construct and share online resources for a group (e.g., discussion boards, calendars, multi-media documents) may do so by using end-user Web construction tools such as BaseCamp, MSN Group, and CommunityZero to create group or community Websites. Others may prefer collaborative tools like Groove to support a more synchronous style of composition and interaction. However there...
Actor-lab was intended to make control problems comprehensible to young children experiencing programming for the first time, and to provide an interface around which they could have learning conversations. The design goal was to create an expressive high-level control language that could incorporate the WHEN DEMON metaphor within the intrinsically parallel actor programming paradigm. Information...
Because software libraries are numerous and large, learning how to use them is a common and problematic task for experienced programmers and novices alike. Internet search engines such as Google have emerged as important resources to help programmers successfully use APIs. However, observations of programmers using Web search have revealed problems and inefficiencies in their use. We present a new...
There is little understanding of how people describe software problems, but a variety of tools solicit, manage, and analyze these descriptions in order to streamline software development. To inform the design of these tools and generate ideas for new ones, an study of nearly 200,000 bug report titles was performed. The titles of the reports generally described a software entity or behavior, its inadequacy,...
Programmers who suffer from repetitive stress injuries find it difficult to program by typing. Speech interfaces can reduce the amount of typing, but existing programming-by-voice tools make it awkward for programmers to enter and edit program text. We used a human-centric approach to address these problems. We first studied how programmers verbalize code, and found that spoken programs contain lexical,...
Enhancements to a visual programming language are presented that integrate multiple modes of communication including email, instant messaging and speech synthesis, all into a single common interface. These features allow an end-user with no programming experience to easily connect these services together and perform simple operations on their data. These features do not require programming knowledge,...
Cognitive psychology often describes learning as the acquisition and reorganization of cognitive structures (Good and Brophy, 1990). These cognitive structures can be viewed as mental codes, temporary internal representations based on sensory experience (Baddeley and Hitch, 1994; Penney, 1989; Wickens, 2002; Barnard, 1999; and Paivio, 1986). In multimedia learning, the representations might involve...
In this paper, we explore the possibility of applying the techniques of programming by demonstration to reorganize the disparate elements of a user interface into cohesive units that correspond to the higher-level tasks that users perform
Many end user programming tools lack adequate support for domain-specific data. We will design a lightweight representation for categories of data, called "topes," and develop simple methods that end users and system administrators can use to define new topes. To evaluate this approach, we will improve programming tools so end users can write programs that recognize data as instances of...
The following topics are dealt with: visual languages; human-centric computing; end-user development; testing; interaction; process; programming learning; and visualization
We have been working to uncover gender differences in the ways males and females problem solve in end-user programming situations, and have discovered differences in males' versus females' use of several debugging features. Still, because this line of investigation is new, knowing exactly what to look for is difficult and important information could escape our notice. We therefore decided to bring...
The Syntax Manager (SYNM) for interactive construction of visual rewriting systems allows users to specify visual languages, by compounding the definition of concrete syntax with metamodel information on the role alphabet elements can play. A concrete rule definition is constrained to comply with the admissible relations for the roles of the elements in it. Hybrid elements can play different roles...
In this paper we propose a visual language CFSL for specifying control flow semantics of programming languages. We also present a translation from CFSL to graph production systems (GPS) for flow graph construction; that is, any CFSL specification, say for a language L, gives rise to a GPS that constructs from any L-program (represented as an abstract syntax graph) the corresponding flow graph. The...
In this paper we present a system that helps users test their spreadsheets using automatically generated test cases. The system generates the test cases by backward propagation and solution of constraints on cell values. These constraints are obtained from the formula of the cell that is being tested when we try to execute all feasible DU associations within the formula. AutoTest generates test cases...
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...
Visual programming has achieved limited success when used as a general programming language. Yet it clearly has advantages in simplifying the task of expressing executable logic. We show that a visual programming metaphor can be highly appropriate and successful when focused on the smaller task of writing snippets of code. These Visual Snippets are needed to complete a larger visual modeling and editing...
Traditional approaches to teaching computer science are often unsuccessful in attracting girls into the discipline. Our hypothesis is that presenting computer programming as a means to the end of storytelling will help motivate girls to learn to program, a traditional gateway to computer science. In this paper, we present a case study in designing a version of the Alice programming system to support...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.