Results 11 - 20
of
34
Exploiting An Agent-Based Metaphor In Software Visualization Using The Rube Paradigm
- Journal of Visual Languages and Computing
, 2003
"... This paper examines the usage and effects of customized ..."
Abstract
-
Cited by 5 (5 self)
- Add to MetaCart
This paper examines the usage and effects of customized
Natural Programming: Project Overview and Proposal
- Carnegie Mellon University School of Computer
, 1998
"... End-users must write programs to control many different kinds of applications. Examples include multimedia authoring, controlling robots, defining manufacturing processes, setting up simulations, programming agents, scripting, etc. The languages used today for these tasks are usually difficult to le ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
End-users must write programs to control many different kinds of applications. Examples include multimedia authoring, controlling robots, defining manufacturing processes, setting up simulations, programming agents, scripting, etc. The languages used today for these tasks are usually difficult to learn and are based on professional programming languages. This is in spite of years of research highlighting the problems with these languages for novice programmers. The Natural Programming Project is developing general principles, methods, and programming language designs that will significantly reduce the amount of learning and effort needed to write programs for people who are not professional programmers. These principles are based on a thorough analysis of previous empirical studies of programmers, as well as new studies designed to discover the most natural programming paradigms. Our proposed research is to extend these results, and apply them to different domains. The result will be n...
The Influence of the Psychology of Programming on a Language Design: Project Status Report
- Project Status Report. Psychology of Programmers Interest Group
, 2000
"... Keywords: POP-I.B barriers to programming, POP-II.A. novice programmers, POP-III.C all cognitive dimensions, POP-III.B new language. Research in Psychology of Programming (PoP) and related fields over the past thirty years has identified many important usability issues for programming languages and ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Keywords: POP-I.B barriers to programming, POP-II.A. novice programmers, POP-III.C all cognitive dimensions, POP-III.B new language. Research in Psychology of Programming (PoP) and related fields over the past thirty years has identified many important usability issues for programming languages and tools. However, when new programming languages are designed these findings do not seem to have much impact, so popular modern languages continue to exhibit many of the same old problems. This paper reviews the progress of an ongoing project to elevate the influence of PoP on the design of a new programming language. In the context of designing a new programming language for children, we cataloged and interpreted the prior work, performed new studies where questions remained unanswered, and have focused on usability throughout the design. In addition to producing a system that is easier to learn and use than existing systems, we hope to exemplify a process that could be adopted by other language designers to improve the usability of their systems.
WHAT MAKES END-USER DEVELOPMENT TICK? 13 DESIGN GUIDELINES
"... End-user development has enormous potential to make computers more useful in a large variety of contexts by providing people without any formal programming training increased control over information processing tasks. This variety of contexts poses a challenge to end-user development system designer ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
End-user development has enormous potential to make computers more useful in a large variety of contexts by providing people without any formal programming training increased control over information processing tasks. This variety of contexts poses a challenge to end-user development system designers. No individual system can hope to address all of these challenges. The field of enduser development is likely to produce a plethora of systems fitting specific needs of computer end-users. The goal of this chapter is not to advocate a kind of universal end-user development system, but to cut across a variety of application domains based on our experience with the AgentSheets end-user simulation-authoring tool. We have pioneered a number of programming paradigms, experienced a slew of challenges originating in different user communities, and evolved end-user development mechanisms over several years. In this chapter we present design guidelines that cut across this vast design space by conceptualizing the process of end-user development as a learning experience. Fundamentally, we claim that every end-user development system should attempt to keep the learning challenges in proportion to the skills end-users have. By adopting this perspective, end-user development can actively scaffold a process during which end-users pick up new end-user development tools and gradually learn about new functionality. We structure these design guidelines in accordance to their syntactic, semantic and pragmatic nature of support offered to end-users.
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
A Visual Programming Environment for Functional Languages
, 2002
"... I declare that this thesis is my own account of my research and contains as its main content work which has not previously been submitted for a degree at any tertiary education institution. Joel Kelso ii The purported advantages of Visual Programming, as applied to general purpose programming langua ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
I declare that this thesis is my own account of my research and contains as its main content work which has not previously been submitted for a degree at any tertiary education institution. Joel Kelso ii The purported advantages of Visual Programming, as applied to general purpose programming languages, have remained largely unfulfilled. The essence of this thesis is that functional programming languages have at least one natural visual representation, and that a useful programming environment can be based upon this representation. This thesis describes the implementation of a Visual Functional Programming Environment (VFPE). The programming environment has several significant features. • The environment includes a program editor that is inherently
The EUSES Web Macro Scenario Corpus, Version 1.0
, 2006
"... Web macros use the programming-by-example concept to automate user actions within a web browser. Although web macro recorders and players have grown in sophistication over the past decade, we believe that these tools cannot yet meet the needs of real users. Based on observations of browser users, we ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Web macros use the programming-by-example concept to automate user actions within a web browser. Although web macro recorders and players have grown in sophistication over the past decade, we believe that these tools cannot yet meet the needs of real users. Based on observations of browser users, we have compiled various scenarios describing tasks that end users would benefit from automating using web macros. Our analysis of these scenarios yields specific requirements that web macro tools must support if those tools are to be applicable to real-life situations. For example, these opportunities for improvement include better support for triggering macros on events, authenticating to sites, transporting data to/from spreadsheets, taking advantage of data’s semantics, and recovering from errors. Our collection of requirements constitutes a benchmark for evaluating new and improved web macro tools. We developed this corpus as a collaboration within the EUSES Consortium, whose aim is to help
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.
On the design and development of UML-based visual environment for novice programmers
- 1998 International Conference on Software Engineering: Education & Practice
, 2006
"... Few beginners find learning to program easy. There are many factors at work in this phenomenon with some being simply inherent in the subject itself, while others have more to do with deficiencies in learning methods and resources. As a result, many programming environments, software applications, a ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Few beginners find learning to program easy. There are many factors at work in this phenomenon with some being simply inherent in the subject itself, while others have more to do with deficiencies in learning methods and resources. As a result, many programming environments, software applications, and learning tools have been developed to address the difficulties faced by novice programmers. Of these tools, visual-based tools and the use of visualization have proven to be very effective in helping novices overcome several of these traditional difficulties. In this paper, we first examine the traditional difficulties that novice programmers encounter when take an introductory-level programming course are examined. It is important to gain an understanding of the scope of these difficulties first, as the rest of this paper considers how visual tools, visualization, and UML can be utilized to aid novice developers in these areas of difficulties. Next, we provide an analysis of several modern visual learning tools, including EROSI, AnimPascal, BlueJ, FLINT, BOOST, and SOLVEIT. In particular, we look at how these tools use visualization to help mitigate the difficulties novice programmers face. Each tool is also assessed based on its overall effectiveness of using visual aids and visualization to help the beginning programmer. We then turn our attention to the Unified Modeling Language (UML) and how it can be utilized to
On the Aesthetics of Programming and Modeling: Part 1: Evolving Program to Model
, 2000
"... Modeling is increasingly being employed in computer programming. With the ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Modeling is increasingly being employed in computer programming. With the

