Date of Award


Document Type



Edith Cowan University

Degree Name

Doctor of Philosophy


School of Communications and Multimedia


Faculty of Communications and Creative Industries

First Supervisor

Professor Ron Oliver


This study sought to explore the outcomes from the use of a dynamic interactive visualisation tool among novice programmers in an introductory computer programming course. The proposed model, Dynamic Interactive Visualisation Tool in Teaching C (DIVTIC), was designed to use multimedia and visual imagery to provide learners with a step-by-step representation of program execution in the C language as a means of enhancing their understanding of programming structures and concepts. DIVTIC was designed to support constructivist learning principles and combined collaborative and visualisation learning strategies with use of the Internet and the World Wide Web to support the learning of programming. The feasibility and effectiveness of DIVTIC was explored among a cohort of 100 undergraduate engineering students, 50 in a control group and another 50 in an experimental group, studying an introductory programming course at Suranaree University of Technology (SUT) in Thailand, The study found that the use of DIVTIC was a successful complement to conventional teaching. The results clearly demonstrated the advantage of using DIVTIC among low achieving students. The students from this level in the experimental group significantly outscored their counterparts in the control group in the final test suggesting that DIVTIC was an important element in their learning process. Interestingly, these low achieving students used DIVTIC most and achieved highest grades. However, lower achieving students appeared to learn from simply viewing the animations rather than being highly interactive and stopping and starting them consistently. The study found that the visualisation process implemented in DIVTIC could be of considerable assistance to a particular group of students, those with a low GPA, in developing their understanding of difficult programming concepts.