Avoiding object misconceptions
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Metaphor, computing systems, and active learning
International Journal of Human-Computer Studies - Special issue: 1969-1999, the 30th anniversary
Programming in Java: student-constructed rules
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Revised Lectures on Software Visualization, International Seminar
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)
Visualizing programs with Jeliot 3
Proceedings of the working conference on Advanced visual interfaces
OGRE: Three-Dimensional Program Visualization for Novice Programmers
Education and Information Technologies
Visualizing roles of variables in program animation
Information Visualization - Special issue: Software visualization
Novice Java programmers' conceptions of "object" and "class", and variation theory
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Roles of variables and programming skills improvement
Proceedings of the 37th SIGCSE technical symposium on Computer science education
JAN - Java animation for program understanding
HCC '03 Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments
The effects of metaphors on novice and expert learners' performance and mental-model development
Interacting with Computers
BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?
ACM Transactions on Computing Education (TOCE)
A Review of Generic Program Visualization Systems for Introductory Programming Education
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.01 |
Program visualization and animation has traditionally been done at the level of the programming language and its implementation in a computer. However, novices do not know these concepts and visualizations that build upon programming language implementation may easily fail in helping novices to learn programming concepts. Metaphor, on the contrary, involves the presentation of a new idea in terms of a more familiar one and can facilitate active learning. This paper applies a metaphor approach to object-oriented programming by presenting new metaphors for such concepts as class, object, object instantiation, method invocation, parameter passing, object reference, and garbage collection. The use of these metaphors in introductory programming education is also discussed.