Visualisation Techniques for Learning and Teaching Programming

Abstract
This paper describes the programming knowledge and skills that learners need to develop, and concludes that this is an area of computer science education where those involved in the teaching of programming need to further consider the nature, structure and function of domain specific knowledge. Visualisation techniques may offer important insights into the learning and teaching of programming. It has been argued that conceptual models could serve to enhance learnersu27 conceptual understanding of programming, and we describe how these may effectively be used in the teaching of programming. The methods to enhance the development of accurate mental models include: designing the interface so that users can interact actively with it; using metaphors and analogies to explain concepts; and using spatial relationships so that users can develop capabilities for mental simulations