Results 1 - 10
of
18
First Steps in Programming: A Rationale for Attention Investment Models
, 2002
"... Research into the cognitive aspects of programming originated in the study of professional programmers (whether experts or students). Even "end-user" programmers in previous studies have often worked in organizations where programming is recognized to be demanding professional work- the term 'vower- ..."
Abstract
-
Cited by 63 (11 self)
- Add to MetaCart
Research into the cognitive aspects of programming originated in the study of professional programmers (whether experts or students). Even "end-user" programmers in previous studies have often worked in organizations where programming is recognized to be demanding professional work- the term 'vower-user" recognizes this technical kudos. But as personal computers become widespread, and most new domestic appliances incorporate microprocessors, many people are engaging in programming-like activities in domestic or non-professional contexts. Such users often have less motivation and more obstacles to programming, meaning that they may be unlikely even to take the first steps. This paper analyses the generic nature of those first steps, and identifies the cognitive demands that characterize them. On the basis of this analysis we propose the Attention Investment model, a cognitive model of programming that offers a consistent account of all programming behaviour, from professionals to end-users.
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.
Navigational Blocks - Navigating Information Space with Tangible Media
- In Proceedings of the 7th international conference on Intelligent user interfaces
, 2002
"... The Navigational Blocks project demonstrates a tangible user interface that facilitates retrieval of historical stories in a tourist spot. Orientation, movement, and relative positions of physical Blocks support visitor navigation and exploration in a virtual gallery. The Navigational Blocks system ..."
Abstract
-
Cited by 27 (0 self)
- Add to MetaCart
The Navigational Blocks project demonstrates a tangible user interface that facilitates retrieval of historical stories in a tourist spot. Orientation, movement, and relative positions of physical Blocks support visitor navigation and exploration in a virtual gallery. The Navigational Blocks system provides a physical embodiment of digital information through tactile manipulation and haptic feedback. The simple cubic form of the Blocks is easy to understand and therefore easy to use to manipulate complex digital information. Electromagnets embedded in the Blocks and wireless communication encourage users to quickly rearrange the Blocks to form different database queries.
The Fuzzy Felt Ethnography - understanding the programming patterns of domestic appliances
- Personal and Ubiquitous Computing
, 2004
"... the programming patterns of domestic appliances. ..."
What is Programming?
- In Proceedings of PPIG 2002
, 2002
"... Research into the cognitive aspects of programming originated in the study of professional programmers (either experts or those learning to program). As personal computers become widespread, and most new domestic appliances incorporate microprocessors, many more people are engaging in programming-li ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Research into the cognitive aspects of programming originated in the study of professional programmers (either experts or those learning to program). As personal computers become widespread, and most new domestic appliances incorporate microprocessors, many more people are engaging in programming-like activities. Some of these are studied as "end-user" programmers, by analogy to professional programming, but many encounter tasks and contexts completely unlike conventional programming. This paper analyses the generic nature of these new kinds of programming, identifies the cognitive demands that characterize them, and presents one possibility for a cognitive model of programming whose development was driven by these concerns.
Iota: A concurrent XML scripting language with applications to Home Area Networking
, 2003
"... Iota is a small and simple concurrent language that provides native support for functional XML computation and for typed channel-based communication. It has been designed as a domain-specific language to express device behaviour within the context of Home Area Networking. ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Iota is a small and simple concurrent language that provides native support for functional XML computation and for typed channel-based communication. It has been designed as a domain-specific language to express device behaviour within the context of Home Area Networking.
Designing tangible programming languages for classroom use
- In Proc. First International Conference on Tangible and Embedded Interaction 2007, February 15-17, 2007, ISBN 978-159593-619-6, ACM Library (2007
"... This paper describes a new technique for implementing educational programming languages using tangible interface technology. It emphasizes the use of inexpensive and durable parts with no embedded electronics or power supplies. Students create programs in offline settings—on their desks or on the fl ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
This paper describes a new technique for implementing educational programming languages using tangible interface technology. It emphasizes the use of inexpensive and durable parts with no embedded electronics or power supplies. Students create programs in offline settings—on their desks or on the floor—and use a portable scanning station to compile their code. We argue that languages created with this approach offer an appealing and practical alternative to text-based and visual languages for classroom use. In this paper we discuss the motivations for our project and describe the design and implementation of two tangible programming languages. We also describe an initial case study with children and outline future research goals. Author Keywords Tangible UIs, education, children, programming languages
A Logic Block Enabling Logic Configuration by Non-Experts in Sensor Networks
- in Sensor Networks. Conference on Human Factors in Computing Systems (CHI
, 2005
"... Recent years have seen the evolution of networks of tiny low power computing blocks, known as sensor networks. In one class of sensor networks a non-expert user, who has little or no experience with electronics or programming, is required to select, connect and/or configure one or more blocks such t ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Recent years have seen the evolution of networks of tiny low power computing blocks, known as sensor networks. In one class of sensor networks a non-expert user, who has little or no experience with electronics or programming, is required to select, connect and/or configure one or more blocks such that the blocks compute a particular Boolean logic function of sensor values. We describe a series of experiments showing that non-expert users have much difficulty with a block based on Boolean logic truth tables, and that a logic block having a sentence-like structure with some configurable switches yields a better success rate. We also show that adding color to a truth table improves results over a traditional truth table. Author Keywords Sensor networks, Boolean logic, embedded computing
The State of the Art in End-User Software Engineering
"... Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use an interface builder to test some user interface design ideas. Although these end-user programmers may not have the same goals as professional developers, they do face many of the same software engineering challenges, including understanding their requirements, as well as making decisions about design, reuse, integration, testing, and debugging. This article summarizes and classifies research on these activities, defining the area of End-User Software Engineering (EUSE) and related terminology. The article then discusses empirical research about end-user software engineering activities and the technologies designed to support them. The article also addresses several crosscutting issues in the design of EUSE tools, including the roles of risk, reward, and domain complexity, and self-efficacy
Gender in Domestic Programming: from Bricolage to Séances d’Essayage
"... Developments in ubiquitous computing mean that domestic appliances are increasingly programmable, providing new opportunities for end-user control and configuration. Unfortunately home programming, just as with end-user programming in professional contexts, is associated with stereotypically masculi ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Developments in ubiquitous computing mean that domestic appliances are increasingly programmable, providing new opportunities for end-user control and configuration. Unfortunately home programming, just as with end-user programming in professional contexts, is associated with stereotypically masculine learning styles. This is likely to result in future inequalities surrounding domestic technology. This paper summarises recent experimental evidence regarding the role of self-efficacy in learning through experimentation, demonstrates that similar genderlinked behaviour can be found in both domestic and professional contexts, and recommends a new approach to promoting such experimentation among women.

