Results 1 -
7 of
7
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
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.
An empirical evaluation of visual metaphors in the animation of roles of variables
- Informing Science Journal
, 2005
"... Roles of variables, which describe stereotypic usages of variables, can be exploited to facilitate teaching introductory programming. This paper describes the evaluation of visual metaphors for roles used in a role-based program animator. The evaluation is based on several criteria: properties of th ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Roles of variables, which describe stereotypic usages of variables, can be exploited to facilitate teaching introductory programming. This paper describes the evaluation of visual metaphors for roles used in a role-based program animator. The evaluation is based on several criteria: properties of the images, metaphor recognition and grading, and effects on learning. The study demonstrates that as a whole the role metaphors facilitate learning. The results also identify ideas for further elaboration of the individual metaphors. Furthermore, the study suggests that the evaluation of animated metaphors may require special measures.
A.: Roles of variables in teaching
- Journal of Information Technology Education
"... Expert programmers possess schemas, abstractions of concrete experiences, which help them solve programming problems and lessen the load on their working memory during problem solving. Possession of schemas is a key difference between novices and experts, which is why instructors need to help studen ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Expert programmers possess schemas, abstractions of concrete experiences, which help them solve programming problems and lessen the load on their working memory during problem solving. Possession of schemas is a key difference between novices and experts, which is why instructors need to help students construct them. One recent tool for facilitating schema formation in introductory programming are roles of variables, which represent stereotypes of variable use in computer programs (Sajaniemi, 2002). For instance, a variable with the role STEPPER is assigned values in a systematic and predictable order (e.g. ascending integers 0, 1, 2,...), whereas a FIXED VALUE is a variable whose value does not change. Roles of variables embody expert programmers’ tacit knowledge on variable usage patterns, which can be made explicit and taught to novice programmers. A small set of roles covers the vast majority of variable use in introductorylevel programs. Prior results obtained through analysis of examination results and observation of students suggest that using roles of variables in introductory programming education can increase students ' skills in comprehending and constructing programs (Byckling & Sajaniemi, 2006; Sajaniemi & Kuittinen, 2005). Little has been published about the experiences of teachers in higher education who have adopted roles in their programming courses, or about the methods of instruction
Teaching Programming: Going beyond “Objects First”
"... Abstract. The prevailing paradigm in teaching elementary programming uses Java as the first programming language and the “objects first ” approach as the conceptual basis. This approach has several shortcomings, e.g., high drop-out rates and poor skills in basic constructs like loops. This paper sug ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. The prevailing paradigm in teaching elementary programming uses Java as the first programming language and the “objects first ” approach as the conceptual basis. This approach has several shortcomings, e.g., high drop-out rates and poor skills in basic constructs like loops. This paper suggests an alternative approach that combines a strong start in basic constructs with early object-orientation. The key idea of our approach is to start with concepts that are common to both procedural and object-oriented programming, i.e., basic control and data structures and a simple form of the interplay between responsibility and implementation. Only then various abstraction mechanisms— procedural, functional, object-oriented, and data as well as the interplay between responsibility and implementation in these abstractions—will be introduced. The alternative approach is also compared with the ACM Computing Curricula. 1
Towards a Blended Learning Model for Teaching and Learning Computer Programming: A Case Study
, 2008
"... Abstract. Blended learning is becoming an attractive model in higher education as new innovative information technologies are becoming increasingly available. However, just blending face-to-face learning with information technologies cannot provide effective teaching and efficient solutions for lear ..."
Abstract
- Add to MetaCart
Abstract. Blended learning is becoming an attractive model in higher education as new innovative information technologies are becoming increasingly available. However, just blending face-to-face learning with information technologies cannot provide effective teaching and efficient solutions for learning. To be successful, blended learning must rely on solid learning theory and pedagogical strategies. In addition, there is a need for a design-based research approach to explore blending learning through successive cycles of experimentations, where the shortcomings of each cycle are identified, redesigned, and reevaluated. This paper reports on a study conducted on a blended learning model in Java programming at the introductory level. It presents the design, implementation, and evaluation of the model and its implications for the learning of introductory computer programming.

