Pedagogy of Teaching Pointers in the C Programming Language using Graph Transformations

📅 2025-03-26
🏛️ Electronic Proceedings in Theoretical Computer Science
📈 Citations: 0
Influential: 0
📄 PDF
🤖 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.

Technology Category

Application Category

📝 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.
Problem

Research questions and friction points this paper is trying to address.

Teaching pointers in C using visual graph transformations
Addressing student difficulty in understanding pointer concepts
Evaluating effectiveness of graph-based pointer pedagogy
Innovation

Methods, ideas, or system contributions that make the work stand out.

Using graph transformations for teaching pointers
Visual simulation of pointer manipulation
Employing Groove tool for modeling pointers
🔎 Similar Papers
No similar papers found.
A
Adwoa Donyina
Computer Science Department, Tagliatela College of Engineering, University of New Haven, Connecticut, USA
Reiko Heckel
Reiko Heckel
Professor of Software Engineering, Dept. of Computer Science, University of Leicester
Graph TransformationModel-driven Software Engineering