Educational research has found that learning is often enhanced when the concrete is mixed with the abstract. One method of achieving this, in the context of teaching computer programming, is to provide students with a model of the activities that occur within the computer when programs are loaded and program steps are executed. Such a model is sometimes referred to as a glass box--differentiating it from a black box approach, where program activities are treated as being purely abstract in nature. The paper describes a glass box exercise developed by the author that requires students to match abstract data declarations to their concrete representation in primary storage. The exercise is used to help programming students better understand the nature of variables, arrays, and structures. Upon completing the exercise, which has proven to be popular with students in an introductory programming course, the instructor has found students are better able to apply the elegant (but initially mystifying) notations used for pointer, array and structure operations in C/C++. The paper also describes GridGen, a C++ based tool for creating such exercises and for generating online tests that can be delivered in course management environments such as Blackboard. The paper concludes with a discussion of the methodology and results that were used to evaluate the effectiveness of memory grid exercises.
Gill, T. Grandon
"The Memory Grid: A Glass Box View of Data Representation,"
Journal of Information Systems Education: Vol. 17
Available at: https://aisel.aisnet.org/jise/vol17/iss2/2