Skip to main content

Implementing a Reverse Debugger for Logo

  • Conference paper
  • First Online:
Informatics in Schools. New Ideas in School Informatics (ISSEP 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11913))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. ABC. Berkeley to U.S. naval proving ground, ebp, 27 May 1946

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Bender, W.: The sugar learning platform: affordances for computational thinking. Revista de Educación a Distancia (54) (2017)

    Google Scholar 

  5. Beyer, K.W.: Grace Hopper and the Invention of the Information Age (2015)

    Google Scholar 

  6. Black, A.P., Nierstrasz, O., Ducasse, S., Pollet, D.: Pharo by example. Lulu.com (2010)

    Google Scholar 

  7. Chmiel, R., Loui, M.C.: Debugging: from novice to expert. ACM SIGCSE Bull. 36, 17–21 (2004)

    Article  Google Scholar 

  8. Cuneo, D.O.: Young children and turtle graphics programming: Generating and debugging simple turtle programs. ERIC (1986)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Fairley, R.E.: Aladdin: assembly language assertion driven debugging interpreter. IEEE Trans. Softw. Eng. 4, 426–428 (1979)

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. Gould, J.D.: Some psychological evidence on how people debug computer programs. Int. J. Man-Mach. Stud. 7(2), 151–182 (1975)

    Article  Google Scholar 

  14. Hennessy, J.L.: Symbolic debugging of optimized code (1979)

    Google Scholar 

  15. Hollings, C.: The lovelace byron papers. Transcript of folios, pp. 1–179 (2015)

    Google Scholar 

  16. 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

    Book  Google Scholar 

  17. Hromkovič, J.: Einfach Informatik 5/6. Programmieren. Begleitband. Klett und Balmer AG Baar (2019)

    Google Scholar 

  18. 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

    Chapter  Google Scholar 

  19. Johnson, M.S.: Some requirements for architectural support of software debugging. SIGPLAN Not. 17(4), 140–148 (1982)

    Article  Google Scholar 

  20. Klahr, D., Carver, S.M.: Cognitive objectives in a logo debugging curriculum: instruction, learning, and transfer. Cogn. Psychol. 20(3), 362–404 (1988)

    Article  Google Scholar 

  21. Lister, R., et al.: A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bull. 36, 119–150 (2004)

    Article  Google Scholar 

  22. Lyon, G.: COBOL Instrumentation and Debugging: A Case Study, vol. 13. US Department of Commerce, National Bureau of Standards (1978)

    Google Scholar 

  23. Papert, S.: Mindstorms: Children, Computers, and Powerful Ideas. Basic Books Inc., New York (1980)

    Google Scholar 

  24. 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)

    Article  Google Scholar 

  25. 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)

    Google Scholar 

  26. Tropp, H.: Campbell, interview, 11 April 1972 (1972)

    Google Scholar 

  27. Scratch wiki. Single stepping in scratch 3.0, Status as of August 30, 2019

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jacqueline Staub .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics