Models and theories of programming strategy
International Journal of Man-Machine Studies
Design patterns for data structures
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Multimedia Learning
Program animation based on the roles of variables
Proceedings of the 2003 ACM symposium on Software visualization
An Empirical Analysis of Roles of Variables in Novice-Level Procedural Programs
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Roles of variables as seen by CS educators
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Teaching roles of variables in elementary programming courses
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
A web-based service for the automatic detection of roles of variables
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Proceedings of the second international workshop on Computing education research
A role-based analysis model for the evaluation of novices' programming knowledge development
Proceedings of the second international workshop on Computing education research
Nordic Journal of Computing - Selected papers of the fourth nordic workshop on UML and software modelling (NWUML'06), June 12-14, 2006
Factors in novice programmers' poor tracing skills
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Animation Metaphors for Object-Oriented Concepts
Electronic Notes in Theoretical Computer Science (ENTCS)
Lightweight techniques for structural evaluation of animated metaphors
Interacting with Computers
A Study on Applying Roles of Variables in Introductory Programming
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
A visualisation tool for the programming process
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Understanding abstraction: a means of leveling the playing field in CS1?
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Predicting at-risk novice Java programmers through the analysis of online protocols
Proceedings of the seventh international workshop on Computing education research
Hi-index | 0.00 |
Roles of variables capture tacit expert knowledge in a form that can 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 results from a protocol analysis of a program creation task in 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 in lectures or program animation; using roles in lectures but not in animation; and using a role-based program animator in addition to using roles in lectures. The results suggest that the introduction of roles provides novices a new conceptual framework for better mental processing of program information and that the use of role-based program animation increases novices' ability to apply data-related programming plans in program construction.