Results 1 - 10
of
12
Programmable Applications: Interpreter Meets Interface
- SIGCHI Bulletin
, 1995
"... Current fashion in "user-friendly" softw overreliance on direct manipulation inte: (and thus trhly user-friendly), applicatk faes and domain-enriched languages th This paper discusses some of the desigqr ation of such programmable applications,5 "SchemePaint," a graphics application t interfa ..."
Abstract
-
Cited by 21 (3 self)
- Add to MetaCart
Current fashion in "user-friendly" softw overreliance on direct manipulation inte: (and thus trhly user-friendly), applicatk faes and domain-enriched languages th This paper discusses some of the desigqr ation of such programmable applications,5 "SchemePaint," a graphics application t interface with an interpreter for (a "gral; Copyright ) Massachusetts Institu This report describes research done at the Artificial Int Institute of Technology. Support for the laboratory's in part by the Advanced Research Projects Agency of It Naval Research contract N00014-89-J-3202 and by the number MIP-9001651.
Roles of variables in experts’ programming knowledge
- Proceedings of the 17th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2005
, 2005
"... Abstract. Roles of variables capture the dynamic nature of variables, i.e., their behavior. Only ten roles are needed to cover 99 % of variables in novice-level procedural programs. Roles were originally identified by studying variables in existing programs and creating a classification for them. In ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
Abstract. Roles of variables capture the dynamic nature of variables, i.e., their behavior. Only ten roles are needed to cover 99 % of variables in novice-level procedural programs. Roles were originally identified by studying variables in existing programs and creating a classification for them. In order to find out whether roles are a part of experts ’ programming knowledge, we conducted a knowledge elicitation investigation where professional programmers studied programs and the resulting mental representations were elicited using card sorting and interviews. This paper presents the analysis of the results from the point of view of the role theory. All roles appearing in the materials were identified by participants. There was some variation in perceiving the nature of behavior from the lifetime of a variable and in considering the similarity of behaviors. The roles could however be easily found in the participants ’ card sorting results and in the dendrogram obtained by hierarchical cluster analysis. 1
Short-term effects of graphical versus textual visualisation of variables on program perception
- In: Proceedings of the 17th Annual Psychology of Programming Interest Group Workshop (PPIG’05
, 2005
"... WWW home page:http://www.cs.joensuu.fi/˜snevalai/ Abstract. The empirical evaluation of program visualisation has been based mostly on observations of long-term effects of the program visualisation tools, while possible short-term effects of the visualisations and their relation to the long-term eff ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
WWW home page:http://www.cs.joensuu.fi/˜snevalai/ Abstract. The empirical evaluation of program visualisation has been based mostly on observations of long-term effects of the program visualisation tools, while possible short-term effects of the visualisations and their relation to the long-term effects have been elided. In order to study short-term effects of visualisation of variables in a context where the long-term effects are already known, we conducted a controlled experiment, in which we investigated how a person targets her visual attention and what kind of a mental model she constructs, when variables are presented either textually or graphically. The results indicate clear differences in the targeting of visual attention between the visualisation tools: With the graphical tool, the participants targeted their visual attention to variables much more than with the textual tool. With the graphical tool, the increase of visual attention to variables increased the proportion of high-level information in program summaries and decreased the proportion of low-level code-related information. 1
Validating Object-Oriented Design Metrics on a Commercial Java Application
, 2000
"... Many of the object-oriented metrics that have been developed by the research community are believed to measure some aspect of complexity. As such, they can serve as leading indicators of problematic classes, for example, those classes that are most fault-prone. If faulty classes can be detected earl ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Many of the object-oriented metrics that have been developed by the research community are believed to measure some aspect of complexity. As such, they can serve as leading indicators of problematic classes, for example, those classes that are most fault-prone. If faulty classes can be detected early in the development project's life cycle, mitigating actions can be taken, such as focused inspections. Prediction models using design metrics can be used to identify faulty classes early on. In this paper, we present a cognitive theory of object-oriented metrics and an empirical study which has as objectives to formally test this theory while validating the metrics and to build a post-release fault-proneness prediction model. The cognitive mechanisms which we apply in this study to object-oriented metrics are based on contemporary models of human memory. They are: familiarity, interference, and fan effects. Our empirical study was performed with data from a commercial Java application. We found that Depth of Inheritance Tree (DIT) is a good measure of familiarity and, as predicted, has a quadratic relationship with fault-proneness. Our hypotheses were confirmed for Import Coupling to other classes, Export Coupling and Number of Children metrics. The Ancestor based Import Coupling metrics were not associated with fault-proneness after controlling for the confounding effect of DIT. The prediction model constructed had a good accuracy. Finally, we formulated a cost savings model and applied it to our predictive model. This demonstrated a 42% reduction in post-release costs if the prediction model is used to identify the classes that should be inspected.
Visualizing roles of variables to novice programmers
- In Psychology of Programming workshop PPIG 2002
, 2002
"... Keywords: POP-I.A. learning to program, POP-II.A. novices, POP-III.A. variables, POP-III.D. visualisation, ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Keywords: POP-I.A. learning to program, POP-II.A. novices, POP-III.A. variables, POP-III.D. visualisation,
Roles of variables in three programming paradigms
- Computer Science Education
"... Roles can be assigned to occurrences of variables in programs according to a small number of stereotypical patterns of use. Studies on explicitly teaching roles to novices learning programming have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of program ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
Roles can be assigned to occurrences of variables in programs according to a small number of stereotypical patterns of use. Studies on explicitly teaching roles to novices learning programming have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of programs and that their use improves students ’ programming skills. This paper describes how roles can be applied in various programming paradigms and presents the results of three studies designed to test the understandability and acceptability of the role concept and of the individual roles in procedural, object-oriented and functional programming. Based on the results, two new roles and small modifications to the definitions of the original roles are suggested.
First results of an experiment on using roles of variables in teaching
- In EASE and PPIG 2003, Papers from the Joint Conference at Keele University
, 2003
"... Roles of variables is a new concept that captures tacit expert knowledge in a form that can, e.g. be taught in introductory programming courses. A role describes some stereotypic use of variables, and only ten roles are needed to cover 99 % of all variables in novice-level programs. This paper prese ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Roles of variables is a new concept that captures tacit expert knowledge in a form that can, e.g. be taught in introductory programming courses. A role describes some stereotypic use of variables, and only ten roles are needed to cover 99 % of all variables in novice-level programs. This paper presents the first results of an experiment where roles were introduced to novices learning Pascal programming. Students were divided into three groups that were instructed differently: in the traditional way with no treatment of roles; using roles throughout the course; and using a role-based program animator in addition to using roles in teaching. The results suggest that the introduction of roles improves program comprehension and program writing skills. Moreover, the use of the animator affects the way students describe programs: they stress data-related issues concerning the deep structure of a program, as opposed to directly visible operations and control structures. 1.
A framework for knowledge: Analysing high school students' understanding of data modelling
, 2000
"... The discursive interaction both with teacher and fellow students plays an important role for each student's construction of knowledge. The teacher's understanding of the students'mental models is essential for the outcome of this interaction. This paper discusses epistemological aspects of using stu ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The discursive interaction both with teacher and fellow students plays an important role for each student's construction of knowledge. The teacher's understanding of the students'mental models is essential for the outcome of this interaction. This paper discusses epistemological aspects of using students'verbal explanations as measure of mental models. A framework of different types of knowledge -- typical for informatics -- is outlined and used to analyse high school students' understanding of data modelling concepts like keys and queries. Learning is seen as an interaction between skills and understanding. The students in this study displayed good practical knowledge about the different concepts. However, there were indications to lack of theoretical understanding. Both the methodological and the epistemological conclusions of this paper may prove useful in future research as well as in teaching practises. Introduction A vast body of research has been published on the theoretical a...
Visual Support for Incremental Abstraction and Refinement in Ada 95 - by
- Proceedings of SIGAda
, 1998
"... GRASP is a software engineering tool which uniquely combines a source code diagramming technique, the control structure diagram (CSD), with other comprehension aids such as complexity visualization, syntax coloring and source code folding. The synergistic combination of these features in GRASP has t ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
GRASP is a software engineering tool which uniquely combines a source code diagramming technique, the control structure diagram (CSD), with other comprehension aids such as complexity visualization, syntax coloring and source code folding. The synergistic combination of these features in GRASP has the potential to be a powerful aid in any activity where source code is expected to be read. The primary focus of GRASP is to improve the comprehension efficiency of software and, as a result, improve reliability and reduce costs during design, implementation, testing, maintenance and reengineering. 1.1 Keywords Software visualization, folding, program understanding
A Wittgenstein approach to the learning of OO modelling
- Computer Science Education
, 2004
"... The paper uses Ludwig Wittgenstein’s theories about the relationship between thought, language, and objects of the world to explore the assumption that OO-thinking resembles natural thinking. The paper imports from research in linguistic philosophy to computer science education research. I show how ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The paper uses Ludwig Wittgenstein’s theories about the relationship between thought, language, and objects of the world to explore the assumption that OO-thinking resembles natural thinking. The paper imports from research in linguistic philosophy to computer science education research. I show how UML class diagrams (i.e., an artificial context-free language) correspond to the logically perfect languages described in Tractatus Logico-Philosophicus. In Philosophical Investigations Wittgenstein disputes his previous theories by showing that natural languages are not constructed by rules of mathematical logic, but are language games where the meaning of a word is constructed through its use in social contexts. Contradicting the claim that OO-thinking is easy to learn because of its similarity to natural thinking, I claim that OO-thinking is difficult to learn because of its differences from natural thinking. The nature of these differences is not currently well known or appreciated. I suggest how explicit attention to the nature and implications of different language games may improve the teaching and learning of OO-modeling as well as programming. 1.

