Abstract
Programming is a creative activity that teaches precision. In Logo, novices write simple programs that draw geometric shapes onto a screen. Logical flaws, however, cause unintended results and pose a major challenge for young programmers who yet need to learn how to search for errors in their code. We discuss the problems novices face when learning to program in Logo. Furthermore, we present a reverse debugger for Logo that enables programmers to step through their code in either direction. Using a stack, previous program states can be retrieved on demand. Our solution balances performance and memory consumption and hence can be used to debug even long and complex programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
ABC. Berkeley to U.S. naval proving ground, ebp, 27 May 1946
Annamaa, A.: Introducing thonny, a python IDE for learning programming. In: Proceedings of the 15th Koli Calling Conference on Computing Education Research, Koli Calling 2015, pp. 117–121. ACM, New York (2015)
Balzer, R.M.: EXDAMS: extendable debugging and monitoring system. In: Proceedings of the May 14–16, 1969, Spring Joint Computer Conference, AFIPS 1969 (Spring), pp. 567–580. ACM, New York (1969)
Bender, W.: The sugar learning platform: affordances for computational thinking. Revista de Educación a Distancia (54) (2017)
Beyer, K.W.: Grace Hopper and the Invention of the Information Age (2015)
Black, A.P., Nierstrasz, O., Ducasse, S., Pollet, D.: Pharo by example. Lulu.com (2010)
Chmiel, R., Loui, M.C.: Debugging: from novice to expert. ACM SIGCSE Bull. 36, 17–21 (2004)
Cuneo, D.O.: Young children and turtle graphics programming: Generating and debugging simple turtle programs. ERIC (1986)
Czyz, J.K., Jayaraman, B.: Declarative and visual debugging in eclipse. In: Proceedings of the 2007 OOPSLA Workshop on Eclipse Technology eXchange, pp. 31–35. ACM (2007)
Fairley, R.E.: Aladdin: assembly language assertion driven debugging interpreter. IEEE Trans. Softw. Eng. 4, 426–428 (1979)
Feurzeig, W., et al.: Programming-languages as a conceptual framework for teaching mathematics. Final report on the first fifteen months of the logo project (1969)
Forster, M., Hauser, U., Serafini, G., Staub, J.: Autonomous recovery from programming errors made by primary school children. In: Pozdniakov, S.N., Dagienė, V. (eds.) ISSEP 2018. LNCS, vol. 11169, pp. 17–29. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02750-6_2
Gould, J.D.: Some psychological evidence on how people debug computer programs. Int. J. Man-Mach. Stud. 7(2), 151–182 (1975)
Hennessy, J.L.: Symbolic debugging of optimized code (1979)
Hollings, C.: The lovelace byron papers. Transcript of folios, pp. 1–179 (2015)
Hromkovič, J.: Einführung in die Programmierung mit LOGO, vol. 1, 3rd edn. Springer, Wiesbaden (2014). https://doi.org/10.1007/978-3-658-04832-7
Hromkovič, J.: Einfach Informatik 5/6. Programmieren. Begleitband. Klett und Balmer AG Baar (2019)
Hromkovič, J., Serafini, G., Staub, J.: XLogoOnline: a single-page, browser-based programming environment for schools aiming at reducing cognitive load on pupils. In: Dagiene, V., Hellas, A. (eds.) ISSEP 2017. LNCS, vol. 10696, pp. 219–231. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-71483-7_18
Johnson, M.S.: Some requirements for architectural support of software debugging. SIGPLAN Not. 17(4), 140–148 (1982)
Klahr, D., Carver, S.M.: Cognitive objectives in a logo debugging curriculum: instruction, learning, and transfer. Cogn. Psychol. 20(3), 362–404 (1988)
Lister, R., et al.: A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bull. 36, 119–150 (2004)
Lyon, G.: COBOL Instrumentation and Debugging: A Case Study, vol. 13. US Department of Commerce, National Bureau of Standards (1978)
Papert, S.: Mindstorms: Children, Computers, and Powerful Ideas. Basic Books Inc., New York (1980)
Perkins, D.N., Hancock, C., Hobbs, R., Martin, F., Simmons, R.: Conditions of learning in novice programmers. J. Educ. Comput. Res. 2(1), 37–55 (1986)
Sipitakiat, A., Nusen, N.: Robo-blocks: designing debugging abilities in a tangible programming system for early primary school children. In: Proceedings of the 11th International Conference on Interaction Design and Children, pp. 98–105. ACM (2012)
Tropp, H.: Campbell, interview, 11 April 1972 (1972)
Scratch wiki. Single stepping in scratch 3.0, Status as of August 30, 2019
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Menta, R., Pedrocchi, S., Staub, J., Weibel, D. (2019). Implementing a Reverse Debugger for Logo. In: Pozdniakov, S., Dagienė, V. (eds) Informatics in Schools. New Ideas in School Informatics. ISSEP 2019. Lecture Notes in Computer Science(), vol 11913. Springer, Cham. https://doi.org/10.1007/978-3-030-33759-9_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-33759-9_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-33758-2
Online ISBN: 978-3-030-33759-9
eBook Packages: EducationEducation (R0)