Results 1 - 10
of
12
Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers
- ACM COMPUT. SURV
, 2005
"... Since the early 1960’s, researchers have built a number of programming languages and environments with the intention of making programming accessible to a larger number of people. This article presents a taxonomy of languages and environments designed to make programming more accessible to novice pr ..."
Abstract
-
Cited by 61 (2 self)
- Add to MetaCart
Since the early 1960’s, researchers have built a number of programming languages and environments with the intention of making programming accessible to a larger number of people. This article presents a taxonomy of languages and environments designed to make programming more accessible to novice programmers of all ages. The systems are organized by their primary goal, either to teach programming or to use programming to empower their users, and then, by each system’s authors ’ approach, to making learning to program easier for novice programmers. The article explains all categories in the taxonomy, provides a brief description of the systems in each category, and suggests some avenues for future work in novice programming environments and languages.
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 46 (12 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.
A Programming System for Children that is Designed for Usability
- In C. Kann (Ed.), Proceedings of the First ESP Student Workshop
, 2002
"... This paper proposes a new programming language and environment for children. This system will be designed to be easy to learn and use, without sacrificing the power necessary to create sophisticated programs that rival commercial software such as games and simulations. Throughout the design and refi ..."
Abstract
-
Cited by 30 (1 self)
- Add to MetaCart
This paper proposes a new programming language and environment for children. This system will be designed to be easy to learn and use, without sacrificing the power necessary to create sophisticated programs that rival commercial software such as games and simulations. Throughout the design and refinement of this system, I will apply prior results from empirical studies of programmers and the psychology of programming, my own empirical studies about the ways that nonprogrammers naturally express solutions to programming tasks, and usability testing.
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
A 3D Metaphor for Software Production Visualization
- INTERNATIONAL CONFERENCE ON INFORMATION VISUALIZATION
, 2003
"... Software development is difficult because software is complex, the software production process is complex and understanding of software systems is a challenge. In this paper we propose a 3D visual approach to depict software production cost related program information to support software maintenance ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Software development is difficult because software is complex, the software production process is complex and understanding of software systems is a challenge. In this paper we propose a 3D visual approach to depict software production cost related program information to support software maintenance. The information helps us to reduce software maintenance costs, to plan the use of personnel wisely, to appoint experts efficiently and to detect system problems early.
Some Design Issues in the Visualization of Constraint Logic Program Execution
- In AGP'98 Joint Conference on Declarative Programming
, 1998
"... Visualization of program executions has been found useful in applications which include education and debugging. However, traditional visualization techniques often fall short of expectations or are altogether inadequate for new programming paradigms, such as Constraint Logic Programming (CLP), whos ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Visualization of program executions has been found useful in applications which include education and debugging. However, traditional visualization techniques often fall short of expectations or are altogether inadequate for new programming paradigms, such as Constraint Logic Programming (CLP), whose declarative and operational semantics differ in some crucial ways from those of other paradigms. In particular, traditional ideas regarding flow control and the behavior of data often cannot be lifted in a straightforward way to (C)LP from other families of programming languages. In this paper we discuss techniques for visualizing program execution and data evolution in CLP. We briefly review some previously proposed visualization paradigms, and also propose a number of (to our knowledge) novel ones. The graphical representations have been chosen based on the perceived needs of a programmer trying to analyze the behavior and characteristics of an execution. In particular, we concentrate on...
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
SAM -- An Animated 3D Programming Language
- IN PROCEEDINGS OF 1998 IEEE SYMPOSIUM ON VISUAL LANGUAGES, 228
, 1998
"... This article presents the animated visual 3D programming language SAM (Solid Agents in Motion) for parallel systems specification and animation. A SAM program is a set of interacting agents synchronously exchanging messages. The agent's behavior is specified by means of production rules with a condi ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
This article presents the animated visual 3D programming language SAM (Solid Agents in Motion) for parallel systems specification and animation. A SAM program is a set of interacting agents synchronously exchanging messages. The agent's behavior is specified by means of production rules with a condition and a sequence of actions each. Actions are linearly ordered and execute when matching a rule. In SAM, main syntactic objects like agents, rules, and messages are 3D. These objects can have an abstract and a concrete, solid 3D presentation. While the abstract representation is for programming and debugging, the concrete representation is for animated 3D enduser presentations. After outlining the concepts of SAM, this article gives two programming examples of 3D micro worlds and an overview of the programming environment.
VizzAnalyzer - A Software Comprehension Framework
- Proc. of 3rd Conference on Software Engineering Research and Practise in
, 2003
"... Abstract — We advocate that successful software comprehension methods (and tools) need the synergy of low-level code analyses known from the field of compiler construction, high-level analyses from the field of re-engineering and software visualization techniques. We argue that each individual techn ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract — We advocate that successful software comprehension methods (and tools) need the synergy of low-level code analyses known from the field of compiler construction, high-level analyses from the field of re-engineering and software visualization techniques. We argue that each individual technique would be either not goal directed or too shallow (or both). This paper describes a software architecture – the VizzAnalyzer – allowing for an easy integration of low- and high-level analysis as well as visualization components. I.
Lowering the Barriers to Programming:
"... a survey of programming environments and languages for novice programmers ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
a survey of programming environments and languages for novice programmers

