Results 1 - 10
of
14
Usability Analysis of Visual Programming Environments: a `cognitive dimensions' framework
- JOURNAL OF VISUAL LANGUAGES AND COMPUTING
, 1996
"... The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows how they can be traded off against each other. T ..."
Abstract
-
Cited by 319 (10 self)
- Add to MetaCart
The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows how they can be traded off against each other. The purpose of this paper is to propose the framework as an evaluation technique for visual programming environments. We apply it to two commercially-available dataflow languages (with further examples from other systems) and conclude that it is effective and insightful; other HCI-based evaluation techniques focus on different aspects and would make good complements. Insofar as the examples we used are representative, current VPLs are successful in achieving a good `closeness of match', but designers need to consider the `viscosity' (resistance to local change) and the `secondary notation' (possibility of conveying extra meaning by choice of layout, colour, etc.).
Learning and teaching programming: A review and discussion
- Computer Science Education
, 2003
"... In this paper we review the literature relating to the psychological/educational study of programming. We identify general trends comparing novice and expert programmers, programming knowledge and strategies, program generation and comprehension, and objectoriented versus procedural programming. (We ..."
Abstract
-
Cited by 54 (2 self)
- Add to MetaCart
In this paper we review the literature relating to the psychological/educational study of programming. We identify general trends comparing novice and expert programmers, programming knowledge and strategies, program generation and comprehension, and objectoriented versus procedural programming. (We do not cover research relating specifically to other programming styles.) The main focus of the review is on novice programming and topics relating to novice teaching and learning. Various problems experienced by novices are identified, including issues relating to basic program design, to algorithmic complexity in certain language features, to the ‘‘fragility’ ’ of novice knowledge, and so on. We summarise this material and suggest some practical implications for teachers. We suggest that a key issue that emerges is the distinction between effective and ineffective novices. What characterises effective novices? Is it possible to identify the specific deficits of ineffective novices and help them to become effective learners of programming? 1.
Issues in Agent-Oriented Software Engineering
- Agent-Oriented Software Engineering III
, 2000
"... In this paper, I will discuss the conceptual foundation of agent-oriented software development by relating the fundamental elements of the agent-oriented view to those of other, well established programming paradigms, especially the object-oriented approach. Furthermore, I will motivate the concep ..."
Abstract
-
Cited by 28 (1 self)
- Add to MetaCart
In this paper, I will discuss the conceptual foundation of agent-oriented software development by relating the fundamental elements of the agent-oriented view to those of other, well established programming paradigms, especially the object-oriented approach. Furthermore, I will motivate the concept of autonomy as the basic property of the agent-oriented school and discuss the development history of programming paradigms that lead to this perspective on software systems. The paper will be concluded by an outlook on how the new paradigm can change the way we think about software systems.
Supporting Component-Based Software Development with Active Component Repository Systems
, 2001
"... ..."
Designers’ activities examined at three levels: organization, strategies & problem-solving
- Knowledge-Based Systems
, 1992
"... This test is a pre-print of Visser, W. (1992). Designers ’ activities examined at three levels: organization, strategies & problem-solving. Knowledge-Based Systems, 5(1), 92-104. ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
This test is a pre-print of Visser, W. (1992). Designers ’ activities examined at three levels: organization, strategies & problem-solving. Knowledge-Based Systems, 5(1), 92-104.
Near-Term Memory in Programming: A Simulation-Based Analysis
, 1999
"... Near-termmemory (NTM) is proposed as a construct foranalyx30 thememory that experts build up and use asthey solve a problem in their domain of expertise. Large amounts of information are processed in such situations, andany particular detail could become important later, so performance is fa ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
Near-termmemory (NTM) is proposed as a construct foranalyx30 thememory that experts build up and use asthey solve a problem in their domain of expertise. Large amounts of information are processed in such situations, andany particular detail could become important later, so performance is facilitatedby maintaining long-termmemory access to as much detail as possible. Precise analye& of suchmemory is difficult to achieve with experimentation or observation alone, so computational simulation is used as the analyV)&J method. A computational process model grounded in cognitivetheory (Soar) is constructed to fit extensive fine-grained behavioral data from an expert programmer. The model's structures and processes are then inspected for insights into NTM. Structurally the model's NTM consists of fine-grain perceptual, semantic, and episodic items whoseavailability is tied to cues from the encoding context. Quantitatively much more detail enters NTM than is ever retriev...
Cognitive Questions in Software Visualisation
, 1996
"... Software visualization is nifty stuff; but is it the powerful cognitive tool it is often assumed to be? This chapter attempts to moderate the understandable enthusiasm for software visualization and to raise some of the questions for which the discipline doesn't yet have answers. The chapter is stru ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Software visualization is nifty stuff; but is it the powerful cognitive tool it is often assumed to be? This chapter attempts to moderate the understandable enthusiasm for software visualization and to raise some of the questions for which the discipline doesn't yet have answers. The chapter is structured as a list of questions with discussion. The questions are not a comprehensive analysis of cognitive challenges in software visualization. Rather, the chapter attempts to provide a list sufficiently provocative to give designers pause, in order: (a) to establish that good software visualization isn't simply a matter of mimicking paper-based tasks or doing what is technically easy---and certainly isn't `solved' yet; but also (b) even simple tools can improve software comprehension, if they're the right ones.
A Meta-Study of Software Visualization Effectiveness
- Journal of Visual Languages and Computing
, 1996
"... this article consolidates all of the meta-studys principal data for easy access. Readers interested in further scrutinizing the numerical counts that are graphed and discussed in Sections 3 and 4 can consult the appendix, which indicates the precise manner in which each of the SV effectiveness stu ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
this article consolidates all of the meta-studys principal data for easy access. Readers interested in further scrutinizing the numerical counts that are graphed and discussed in Sections 3 and 4 can consult the appendix, which indicates the precise manner in which each of the SV effectiveness studies is classified
My program is correct but it doesnt run: A review of novice programming and a study of an introductory programming paper
, 2001
"... Contents 1.0 Introduction 2.0 Learning to program 2.1 Overview 2.1.1 Experts vs. novices 2.1.2 Knowledge vs. strategies 2.1.3 Comprehension vs. generation 2.1.4 Procedural vs. object--oriented 2.1.5 Other 2.2 Novice programmers 2.2.1 The task 2.2.2 Mental models and processes 2.2.3 Novic ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Contents 1.0 Introduction 2.0 Learning to program 2.1 Overview 2.1.1 Experts vs. novices 2.1.2 Knowledge vs. strategies 2.1.3 Comprehension vs. generation 2.1.4 Procedural vs. object--oriented 2.1.5 Other 2.2 Novice programmers 2.2.1 The task 2.2.2 Mental models and processes 2.2.3 Novice capabilities and behavior 2.2.4 Kinds of novice 2.3 Novice learning and teaching in CS1 2.3.1 Goals and progress 2.3.2 Course design and teaching methods 2.3.3 Alternative methods and curricula 2.4 Summary 3.0 A study of an introductory programming paper 3.1 The design of COMP103 3.1.1 Context 3.1.2 Lectures and knowledge 3.1.3 Laboratory sessions and strategy 3.1.4 Summary 3.2 The study 3.2.1 Background 3.2.2 Method 3.3 Results 3.3.1 Lab based problem tallies 3.3.2 Trends 3.3.3 Other observations 4.0 Discussion 4.1 Kinds of novice 4.2 Knowledge, strategies, and effective teaching and learning 4.3 A framework 5.0 Summary References
Using Shared Displays to Support Group Design; A Study of the Use of Informal User Interface Designs when Learning to Program
, 2004
"... Hand-drawn sketches have traditionally been used to depict design ideas because they are quick to draw and can include as much or little detail as is required to convey the essence of the ideas. Computer tools are now an alternative and offer advantages for editing, storing and transmitting designs. ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Hand-drawn sketches have traditionally been used to depict design ideas because they are quick to draw and can include as much or little detail as is required to convey the essence of the ideas. Computer tools are now an alternative and offer advantages for editing, storing and transmitting designs. However, designers consistently reject using current computer tools because these tools interrupt the creative process. Various studies have supported the designer’s position, consistently showing that traditional tools produce more and better design ideas. This thesis describes the development and evaluation of a design-friendly computer tool that focuses specifically on the needs of the novice programmer who is designing user interfaces. From an extensive review of the literature on design, learning to programming and previous sketch tools we extracted the specifications for a tool that: compares favourably as a design medium with traditional tools such as the pen, paper and whiteboards, provides the editing and storage support expected of computer tools, helps students to gain a better

