🤖 AI Summary
C-language pointers pose significant conceptual challenges for novice programmers.
Method: This paper introduces a novel visualization-based pedagogical paradigm grounded in graph transformation, marking the first application of the formal graph transformation tool Groove to pointer instruction. It constructs an executable, formally verifiable dynamic model of pointer operations, enabling real-time visual simulation of memory states, address relationships, and pointer behaviors. Designed for visual learners, the approach supports interactive modeling and stepwise derivation.
Contribution/Results: Empirical educational evaluation demonstrates statistically significant improvements in both conceptual accuracy and long-term retention compared to conventional blackboard instruction and static diagrammatic methods. The framework provides a transferable, formalized visualization methodology for teaching core programming language concepts—particularly those involving memory abstraction and indirection.
📝 Abstract
Visual learners think in pictures rather than words and learn best when they utilize representations based on graphs, tables, charts, maps, colors and diagrams. We propose a new pedagogy for teaching pointers in the C programming language using graph transformation systems to visually simulate pointer manipulation. In an Introduction to C course, the topic of pointers is often the most difficult one for students to understand; therefore, we experiment with graph-based representations of dynamic pointer structures to reinforce the learning. Groove, a graph transformation tool, is used to illustrate the behaviour of pointers through modelling and simulation. A study is presented to evaluate the effectiveness of the approach. This paper will also provide a comparison to other teaching methods in this area.