Program Visualization System Supporting Teacher-Intended Stepwise Refinement
DOI:
https://doi.org/10.58459/icce.2023.1015Abstract
This study portrays a learning support system that visually represents the structure of stepwise algorithm refinement, also known as the structure of program code abstraction, aligned with the teacher's instructional objectives. We focus on the varying needs of learners in programming education and consider the possibility that different levels of stepwise refinement may be required based on their knowledge and experience. Novice learners with limited programming experience may need program code abstractions in finer steps, rather than the abstraction of numerous statements simultaneously. For learners with a certain level of experience, abstraction with excessive steps may hinder their holistic understanding of the entire program from a higher perspective. In this study, we developed a program visualization system that empowers teachers to customize the visualizations of the structure of stepwise abstractions and the data structures utilized by the target program according to their instructional intentions. We introduced the proposed system into an actual class and evaluated its effectiveness by measuring the degree of improvement in learners' understanding based on tests.