Results 1 - 10
of
18
Agentsheets: A Tool for Building Domain-Oriented Dynamic, Visual Environments
, 1993
"... Cultures deal with their environments by adapting to them and simultaneously changing them. This is particularly true for technological cultures, such as the dynamic culture of computer users. To date, the ability to change computing environments in non-trivial ways has been dependent upon the skil ..."
Abstract
-
Cited by 48 (3 self)
- Add to MetaCart
Cultures deal with their environments by adapting to them and simultaneously changing them. This is particularly true for technological cultures, such as the dynamic culture of computer users. To date, the ability to change computing environments in non-trivial ways has been dependent upon the skill of programming. Because this skill has been hard to acquire, most computer users must adapt to computing environments created by a small number of programmers. In response to the scarcity of programming ability, the computer science community has concentrated on producing general-purpose tools that cover wide spectrums of applications. As a result, contemporary programming languages largely ignore the intricacies arising from complex interactions between different people solving concrete problems in specific domains. This dissertation describes Agentsheets, a substrate for building domain-oriented, visual, dynamic programming environments that do not require traditional programming skills. It discusses how Agentsheets supports the relationship among people, tools, and problems in the context of four central themes: (1) Agentsheets features a versatile construction paradigm to build dynamic, visual environments for a wide range of problem domains such as art, artificial life, distributed artificial intelligence, education, environmental design, and
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.
Visual Programming in a Visual Domain: A Case Study of Cognitive Dimensions
- HCI'94
, 1994
"... We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language differs from existing visual languages because it explicitly represents data objects and implicitly represents operations by change ..."
Abstract
-
Cited by 20 (8 self)
- Add to MetaCart
We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language differs from existing visual languages because it explicitly represents data objects and implicitly represents operations by changes in data objects. The system was designed to provide non-programmers with programming support for common, repetitive tasks and incorporates some principles of cognition to assist these users in learning to use it. With this in mind, we analyzed the language and its editor along cognitive dimensions. The assessment provided insight into both strengths and weaknesses of the system, prompting a number of design changes. This demonstrates how useful such an analysis can be.
Behavior Processors: Layers between End-Users and Java Virtual Machines
- COPYRIGHT 1997 IEEE. PUBLISHED IN THE PROCEEDINGS OF VL'97, SEPTEMBER 23-26, 1997 IN CAPRI, ITALY
, 1997
"... Visual programming approaches are limited in their usefulness if they do not include a profile of their users that defines exactly who is attempting to solve what kind of problems using which tools and why. Without such a definition, visual programming approaches can end up as solutions in search ..."
Abstract
-
Cited by 20 (12 self)
- Add to MetaCart
Visual programming approaches are limited in their usefulness if they do not include a profile of their users that defines exactly who is attempting to solve what kind of problems using which tools and why. Without such a definition, visual programming approaches can end up as solutions in search of problems. Reconceptualizing --- programming environments as layered behavior processors in the context of creating SimCity^TM-like interactive simulations --- makes end-user programming more feasible. The layered approach serves the programming needs for a range of users, including casual computer end-users and professional programmers. The extension of the Agentsheets system with the Ristretto^TM agent to Java bytecode compiler is used to illustrate how a behavior processor enables end-users to create their own Java applets that can be embedded into web pages.
Programming with Agents: New metaphors for thinking about computation
, 1996
"... Computer programming environments for learning should make it easy to create worlds of responsive and autonomous objects, such as video games or simulations of animal behavior. But building such worlds remains difficult, partly because the models and metaphors underlying traditional programming lang ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
Computer programming environments for learning should make it easy to create worlds of responsive and autonomous objects, such as video games or simulations of animal behavior. But building such worlds remains difficult, partly because the models and metaphors underlying traditional programming languages are not particularly suited to the task. This dissertation investigates new metaphors, environments, and languages that make possible new ways to create programs -- and, more broadly, new ways to think about programs. In particular, it introduces the idea of programming with "agents" as a means to help people create worlds involving responsive, interacting objects. In this context, an agent is a simple mechanism intended to be understood through anthropomorphic metaphors and endowed with certain lifelike properties such as autonomy, purposefulness, and emotional state. Complex behavior is achieved by combining simple agents into more complex structures. While the agent metaphor enables...
Building Applications Using Only Demonstration
- IUI 98
, 1998
"... By combining the strengths of multiple interaction techniques and inferencing algorithms, Gamut can infer behaviors from examples that previously required a developer to annotate or otherwise modify code by hand. Gamut is a programming-by-demonstration (PBD) tool for building whole applications. It ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
By combining the strengths of multiple interaction techniques and inferencing algorithms, Gamut can infer behaviors from examples that previously required a developer to annotate or otherwise modify code by hand. Gamut is a programming-by-demonstration (PBD) tool for building whole applications. It revises code automatically when new examples are demonstrated using a recursive procedure that efficiently scans for the differences between a new example and the original behavior. Differences that cannot be resolved by generating a suitable description are handled by another AI algorithm, decision tree learning, providing a significantly greater ability to infer complex relationships. Gamut’s interaction techniques facilitate demonstrating many examples quickly and allow the user to give the system hints that show relationships that would be too time consuming to discover by search alone. Altogether, the concepts combined in Gamut will allow nonprogrammers to build software they never could before.
CML -- The ClassSync Modeling Language
- TABLE 5A ML ESTIMATES OF MULTIVARIATE (UNRESTRICTED) MODEL FOR MMI STOCKS: 1992-1993 OE FI ------- ------- ------- AMERICAN EXPRESS 1.628 (0.053) 0:342
, 2002
"... The ClassSync Modeling Language (CML) addresses the problem of creating a controlling overlay to classroom learning activities, or e-learning workflows. Our aim is to allow authors and teachers to generate a mapping from activity design to its implementation in a wirelessly networked classroom with ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
The ClassSync Modeling Language (CML) addresses the problem of creating a controlling overlay to classroom learning activities, or e-learning workflows. Our aim is to allow authors and teachers to generate a mapping from activity design to its implementation in a wirelessly networked classroom with ubiquitous use of handheld computers for information exchange. CML models e-learning workflows with three major components: actors, data objects, and interaction networks. Actors are the diverse performers of actions, data objects are the semantically typed information units that are made available for exchange. Interaction networks are virtual networks constructed on top of whatever network ClassSync is running on, and dictate how information may flow through the ClassSync system (from actor to actor). Activities are the processes performed via these three components, in which actors create and consume data objects and exchange them over an interaction network. The benefits of this approach for students, curriculum designers, teachers, publishers and learning sciences researchers are highlighted.
Pavlov: Programming By Stimulus-Response Demonstration
- Proeedings of CHI ‘96
, 1996
"... Pavlov is a Programming By Demonstration (PBD) system that allows animated interfaces to be created without programming. Using a drawing editor and a clock, designers specify the behavior of a target interface by demonstrating stimuli (end-user actions or time) and the (time-stamped) graphical trans ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Pavlov is a Programming By Demonstration (PBD) system that allows animated interfaces to be created without programming. Using a drawing editor and a clock, designers specify the behavior of a target interface by demonstrating stimuli (end-user actions or time) and the (time-stamped) graphical transformations that should be executed in response. This stimulus-response model allows interaction and animation to be defined in a uniform manner, and it allows for the demonstration of interactive animation, i.e., game-like behaviors in which the end-user (player) controls the speed and direction of object movement.
Color profile: Generic CMYK printer profile Composite Default screen Chapter Three: Demonstrational Interfaces 59
- Carnegie Mellon University School of Computer
, 1998
"... With programming-by-demonstration (PBD), a user shows examples of a behavior that the computer is meant to perform instead of writing out textual instructions. Many PBD systems use machine-learning techniques to convert the user’s examples into executable programs automatically. However, in order to ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
With programming-by-demonstration (PBD), a user shows examples of a behavior that the computer is meant to perform instead of writing out textual instructions. Many PBD systems use machine-learning techniques to convert the user’s examples into executable programs automatically. However, in order to use PBD as a general-purpose programming tool, the user must be able to demonstrate more than just the surface level interactions ofa behavior. By combining PBD with interaction techniques for specifying data that is normally hidden, and by selecting important data at key moments, the user is able to give hints to the computer that clarify the vagaries of using examples alone. This enables PBD to be used in more situations where previously only textual languages could be used. Many programming-by-demonstration (PBD) systems have used machinelearning
Building Whole Applications Using Only Programming-by-Demonstration
, 1999
"... (NSF) under Grant No. IRI-9319969. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government. ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
(NSF) under Grant No. IRI-9319969. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government.

