Advertisement

Autonomous Recovery from Programming Errors Made by Primary School Children

  • Martina Forster
  • Urs Hauser
  • Giovanni Serafini
  • Jacqueline Staub
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11169)

Abstract

Programming classes offer unique opportunities to learn both semantic and syntactic precision, even for primary school children without prior knowledge in computer science. In order to make students progress autonomously, programming languages and environments need to be chosen with care to their didactic quality. This paper introduces four classes covering the majority of what we call structural programming errors. These mistakes are either syntactical errors or the result of invocations that do not match the signature of any user-defined command, and therefore prevent the execution of a program. Furthermore, we present a methodology that allows for detecting as many structural programming errors as possible, and show how we integrated this methodology in our Logo programming environment for primary schools. Finally, we reflect on an evaluation we carried out at school that confirms the didactic benefits of the chosen approach.

References

  1. 1.
    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_18CrossRefGoogle Scholar
  2. 2.
  3. 3.
  4. 4.
  5. 5.
    Mindstorms, S.P.: Children, Computers, and Powerful Ideas, 2nd edn. Basic Books, New York (1993)Google Scholar
  6. 6.
    Hromkovič, J., Kohn, T., Komm, D., Serafini, G.: Combining the power of Python with the simplicity of Logo for a sustainable computer science education. In: Brodnik, A., Tort, F. (eds.) ISSEP 2016. LNCS, vol. 9973, pp. 155–166. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46747-4_13CrossRefGoogle Scholar
  7. 7.
    Biggs, J.: Enhancing teaching through constructive alignment. High. Educ. 32(3), 347–364 (1996)CrossRefGoogle Scholar
  8. 8.
    Harvey, B., et al.: Snap! (build your own blocks). In: Proceedings of the 45th ACM Technical Symposium on Computer Science Education. ACM (2014)Google Scholar
  9. 9.
    Fraser, N.: Ten things we’ve learned from Blockly. In: Conference: 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond) (2015)Google Scholar
  10. 10.
    Wolber, D.: App inventor and real-world motivation. In: Proceedings of the 42nd ACM Technical Symposium on Computer Science Education. ACM (2011)Google Scholar
  11. 11.
    Salanci, L.: EasyLogo - discovering basic programming concepts in a constructive manner. Constructionism 2010, Paris. http://edi.fmph.uniba.sk/~salanci/EasyLogo/index.html
  12. 12.
    Maloney, J., Resnick, M., Rusk, N., Silverman, B., Eastmond, E.: The Scratch programming language and environment. ACM Trans. Comput. Educ. 10, 4 (2010). Article 16CrossRefGoogle Scholar
  13. 13.
    Grandell, L., et al.: Why complicate things?: introducing programming in high school using Python. In: Proceedings of the 8th Australasian Conference on Computing Education, vol. 52. Australian Computer Society Inc. (2006)Google Scholar
  14. 14.
    Lattner, C., et al.: https://clang.llvm.org/diagnostics.html. Status as of 15 June 2018
  15. 15.
    Kohn, T.: Teaching Python programming to novices: addressing misconceptions and creating a development environment. Doctoral thesis (2016)Google Scholar
  16. 16.
    Metcalfe, J.: Learning from errors. Annu. Rev. Psychol. 68, 6.1–6.25 (2016)CrossRefGoogle Scholar
  17. 17.
    Gartmeier, M., Bauer, J., Gruber, H., Heid, H.: Negative knowledge: understanding professional learning and expertise. In: Proceedings of Vocation and Learning 2008, pp. 87–103.  https://doi.org/10.10007/s12186-008-9006-1
  18. 18.
    Oser, F., Spycher, M.: Lernen ist schmerzhaft. Zur Theorie des negativen Wissens und zur Praxis der Fehlerkultur. Weinheim; Beltz (2005)Google Scholar
  19. 19.
    Kummerfeld, S.K., Kay, J.: The neglected battle fields of syntax errors. In: ACE 2003 Proceedings of the Fifth Australasian Conference on Computing Education, Adelaide, vol. 20, pp. 105–111 (2003)Google Scholar
  20. 20.
    Kornell, N., Metcalfe, J.: The effects of memory retrieval, errors, and feedback on learning. In: Applying Science of Learning in Education. VA Benassi (2013)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Martina Forster
    • 1
  • Urs Hauser
    • 1
  • Giovanni Serafini
    • 1
  • Jacqueline Staub
    • 1
    • 2
  1. 1.Department of Computer ScienceETH ZürichZürichSwitzerland
  2. 2.Pädagogische Hochschule GraubündenChurSwitzerland

Personalised recommendations