Seeing is understanding: The effect of visualisation in understanding programming concepts

posted 3 Sep 2011, 22:05 by Jason Zagami   [ updated 3 Sep 2011, 22:27 ]
Thursday, 29 January 2009

Seeing is understanding: The effect of visualisation in understanding programming concepts

Zagami, J. (2008). Seeing is understanding: The effect visualisation in understanding programming concepts. (Doctoral Dissertation, Queensland University of Technology). Retrieved from http://eprints.qut.edu.au/28482/2/Jason_Zagami_Thesis.pdf

How and why visualisations support learning was the subject of this qualitative instrumental collective case study. Five computer programming languages (PHP, Visual Basic, Alice, GameMaker, and RoboLab) supporting differing degrees of visualisation were used as cases to explore the effectiveness of software visualisation to develop fundamental computer programming concepts (sequence, iteration, selection, and modularity). Cognitive theories of visual and auditory processing, cognitive load, and mental models provided a framework in which student cognitive development was tracked and measured by thirty-one 15-17 year old students drawn from a Queensland metropolitan secondary private girls’ school, as active participants in the research. Seventeen findings in three sections increase our understanding of the effects of visualisation on the learning process. The study extended the use of mental model theory to track the learning process, and demonstrated application of student research based metacognitive analysis on individual and peer cognitive development as a means to support research and as an approach to teaching. The findings also forward an explanation for failures in previous software visualisation studies, in particular the study has demonstrated that for the cases examined, where complex concepts are being developed, the mixing of auditory (or text) and visual elements can result in excessive cognitive load and impede learning. This finding provides a framework for selecting the most appropriate instructional programming language based on the cognitive complexity of the concepts under study.




Comments