An empirical investigation of the tacit plan knowledge in programming
Human factors in computer systems
Exploring Algorithms Using Balsa-II
Computer
Comprehension strategies in programming
Empirical studies of programmers: second workshop
Parameter passing: the rules the students construct
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
A methodology for building application-specific visualizations of parallel programs
Journal of Parallel and Distributed Computing - Special issue on tools and methods for visualization of parallel systems and computations
LogoMedia: a sound-enhanced programming environment for monitoring program behavior
CHI '93 Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems
DYNALAB: a dynamic computer science laboratory infrastructure featuring program animation (abstract)
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Using student-built algorithm animations as learning aids
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Avoiding object misconceptions
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Graph of triangulations of a convex polygon and tree of triangulations
Computational Geometry: Theory and Applications
Mental imagery in program design and visual programming
International Journal of Human-Computer Studies - Best of empirical studies of programmers 7
Metaphor, computing systems, and active learning
International Journal of Human-Computer Studies - Special issue: 1969-1999, the 30th anniversary
Software design---cognitive aspects
Software design---cognitive aspects
Multimedia Learning
Introduction to Programming Principles: Using Turbo Pascal
Introduction to Programming Principles: Using Turbo Pascal
Programming Concepts: A Second Course
Programming Concepts: A Second Course
Constructivism in computer science education
Journal of Computers in Mathematics and Science Teaching
The Jeliot 2000 program animation system
Computers & Education
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)
Animation of user algorithms on the Web
VL '97 Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97)
VL '00 Proceedings of the 2000 IEEE International Symposium on Visual Languages (VL'00)
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
Metaphor-based animation of OO programs
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Proceedings of the second international workshop on Computing education research
Animation Metaphors for Object-Oriented Concepts
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the third international workshop on Computing education research
Journal on Educational Resources in Computing (JERIC)
Kick-Start Activation to Novice Programming --- A Visualization-Based Approach
Electronic Notes in Theoretical Computer Science (ENTCS)
Koli '08 Proceedings of the 8th International Conference on Computing Education Research
BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Visualizations may be used to assist in learning elementary computer programming - a skill that is hard to acquire by many students. This article presents a program animation system, PlanAni, that is based on the concept of the roles of variables. Roles represent schematic uses of variables that occur in programs over and over again, and a set of nine roles covers practically all variables in novice-level programs. PlanAni has been evaluated in a classroom experiment comparing traditional teaching with role-based teaching and animation. The results suggest that the introduction of roles provides students with a new conceptual framework that enables them to mentally process program information in a way similar to that of good code comprehenders. The use of role-based animation seems to assist in the adoption of role knowledge and expert-like programming strategies. A semi-structured interview with the teacher indicates that students like to work with the animator and that the system clarifies many concepts in programming.