Journal of Computer Science

Memory Tracing

Eva Cogan and Chaya Gurwitz

DOI : 10.3844/jcssp.2009.608.613

Journal of Computer Science

Volume 5, Issue 8

Pages 608-613


Problem statement: Students completing introductory computing courses did not know how to program at the expected level. Seeking the underlying problem, we came to believe that students were focusing only on results and not connecting with the inner workings of their code. This left them poorly prepared to master increasingly complex problems. Approach: We hoped that by promoting memory tracing as a core competence as early as possible in introductory programming courses we would hone the understanding and skills of our students and improve their chances for succeeding in computer science. We emphasized a basic and manual approach to memory tracing--in the classroom, in conjunction with homework assignments and on exams--to help our students gain the ability to write good programs, test them and, should it become necessary, debug them. Results: Having received gratifying results from our approach in our own classes, we had moved to get the word out as quickly as possible to motivate other educators to implement it. We described how we derived benefit from memory tracing in the various contexts and we presented the details of our method for teaching students how to best use this technique. Conclusion/Recommendations: Training students early on to actively carry out a manual memory trace of programs (as opposed to relying on debuggers or print statements) will help them develop their coding skill and comfort, quite apart from any facility for finding and fixing errors. Although experienced programmers trace intuitively, beginning students do not; they need to be trained. Therefore we felt that tracing should be an explicit, emphasized component of the introductory courses.


© 2009 Eva Cogan and Chaya Gurwitz. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.