Classroom practice for understanding pointers using learning support system for visualizing memory image and target domain world

Koichi Yamashita1, Ryota Fujioka2, Satoru Kogure2, Yasuhiro Noguchi3, Tatsuhiro Konishi2, Yukihiro Itoh4
1Faculty of Business Administration, Tokoha University, Hamamatsu, Japan
2Graduate School of Informatics, Shizuoka University, Hamamatsu, Japan
3Faculty of Informatics, Shizuoka University, Hamamatsu, Japan
4Shizuoka University, Hamamatsu, Japan

Tóm tắt

Pointers are difficult learning targets for novice learners of C programming. For such difficult targets, introducing a system visualizing program behaviors is generally expected to support learners to understand the targets. However, visualization in existing systems often conceals the concrete value of variables such as pointers; the way in which each visualized object is located on the memory is not made explicit. In order to address this issue, we focused on a program visualization system called TEDViT. It visualizes simultaneously and synchronously the memory image that is the field that presents the concrete value of variables and the target domain world that is the field that presents logically the data structures processed by the program. We consider that observing and comparing program code, memory image, and target domain world with TEDViT could work for understanding pointers. TEDViT visualizes the status of the target domain world according to the visualization policy defined by the teacher in order to allow teachers to set their instruction content based on the growing variety of learner background knowledge. We also consider that this feature could support teachers’ instructions and class managements appropriately, and improving teachers’ performance by TEDViT’s support would bring improvement of learners’ understanding. We conducted classroom practice for understanding pointers in connection with a memory model, thus introducing TEDViT to a real class. Analysis of answered scores in a questionnaire conducted after the practice suggests that our practice using TEDViT provided useful supports for participants to understand pointers. It also suggests our practice had a certain effect to reduce uneven levels of understanding among participants. Based on these results, we describe that classroom practices in our framework could support learners to understand pointers and support teachers to manage the class.

Tài liệu tham khảo

Ben-Ari, M., Bednarik, R., Levy, R. B.-B., Ebel, G., Moreno, A., Myller, N., & Sutinen, E. (2011). A decade of research and development on program animation: the Jeliot experience. Journal of Visual Languages & Computing, 22(5), 375–384. Brusilovsky, P., & Spring, M. (2004). Adaptive, engaging, and explanatory visualization in a C programming course (pp. 1264–1271). Hypermedia and Telecommunications: Proceedings of World Conference on Educational Multimedia. Fossati, D., Eugenio, B. D., Brown, C., & Ohlsson, S. (2008). Learning linked lists: experiments with the iList system. In Proceedings of the 9th international conference on intelligent tutoring systems (pp. 80–89). Gries, P., & Gries, D. (2002). Frames and folders: a teachable memory model for Java. Journal of Computing Sciences in Colleges, 17(6), 182–196. Kogure, S., Fujioka, R., Noguchi, Y., Yamashita, K., Konishi, T., & Itoh, Y. (2014). Code reading environment according to visualizing both variable’s memory image and target world’s status. In Proceeding of the 22nd international conference on computers in education (pp. 343–348). Lahtinen, E., Ala-Mutka, K., & Jävinen, H.-M. (2005). A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3), 14–18. Malmi, L., Karavirta, V., Korhonen, A., Nikander, J., Seppälä, O., & Silvasti, P. (2004). Visual algorithm simulation exercise system with automatic assessment: TRAKLA2. Informatics in Education, 3(2), 267–288. Milne, I., & Rowe, G. (2002). Difficulties in learning and teaching programming—views of students and tutors. Education and Information Technologies, 7(1), 55–66. Moreno, A., Myller, N., Sutinen, E., & Ben-Ari, M. (2004). Visualizing programs with Jeliot3. Proceedings of the working conference on advanced visual interfaces, 373-376. Naps, T. L., Rößling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., Korhonen, A., Malmi, L., McNally, M., Rodger, S., & Velázquez-Iturbide, J. (2002). Exploring the role of visualization and engagement in computer science education. ACM SIGCSE Bulletin, 35(2), 131–152. Neve, P., Hunter, G., Livingstone, D., & Orwell, J. (2012). NoobLab: an intelligent learning environment for teaching programming. Proceedings of the 2012 IEEE/WIC/ACM Joint Conferences on Web Intelligence and Intelligent Agent Technology, 3, 357–361. Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., & Paterson, J. (2007). A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin, 39(4), 204–223. Rössling, G., & Freisleben, B. (2002). ANIMAL: a system for supporting multiple role in algorithm animation. Journal of Visual Languages & Computing, 13(3), 341–354. Sorva, J. (2013). Notional machines and introductory programming education. ACM Transactions on Computing Education (TOCE), 13(2), 8. Sorva, J., Karavirta, V., & Malmi, L. (2013). A review of generic program visualization systems for introductory programming education. ACM Transactions on Computing Education (TOCE), 13(4), 15. Tezuka, D., Kogure, S., Noguchi, Y., Yamashita, K., Konishi, T., & Itoh, Y. (2016). GUI based environment to support writing and debugging rules for a program visualization tool. Proceedings of the 24th International Conference on Computers in Education, 303-305. Yamashita, K., Fujioka, R., Kogure, S., Noguchi, Y., Konishi, T., & Itoh, Y. (2016). Practice of algorithm education based on discovery learning using a program visualization system. Research and Practice in Technology Enhanced Learning, 11(15), 1–19. https://doi.org/10.1186/s41039-016-0041-5. Yamashita, K., Nagao, T., Kogure, S., Noguchi, Y., Konishi, T., & Itoh, Y. (2016). Code-reading support environment visualizing three fields and educational practice to understand nested loops. Research and Practice in Technology Enhanced Learning, 11(3), 1–22. https://doi.org/10.1186/s41039-016-0027-3.