Autonomous Recovery from Programming Errors Made by Primary School Children
- 3 Citations
- 774 Downloads
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.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.Smith, M.: https://obamawhitehouse.archives.gov/blog/2016/01/30/computer-science-all. Status as of 15 June 2018
- 3.https://programmailfuturo.it/progetto/descrizione-del-progetto. Status as of 15 June 2018
- 4.
- 5.Mindstorms, S.P.: Children, Computers, and Powerful Ideas, 2nd edn. Basic Books, New York (1993)Google Scholar
- 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.Biggs, J.: Enhancing teaching through constructive alignment. High. Educ. 32(3), 347–364 (1996)CrossRefGoogle Scholar
- 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.Fraser, N.: Ten things we’ve learned from Blockly. In: Conference: 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond) (2015)Google Scholar
- 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.Salanci, L.: EasyLogo - discovering basic programming concepts in a constructive manner. Constructionism 2010, Paris. http://edi.fmph.uniba.sk/~salanci/EasyLogo/index.html
- 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.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.Lattner, C., et al.: https://clang.llvm.org/diagnostics.html. Status as of 15 June 2018
- 15.Kohn, T.: Teaching Python programming to novices: addressing misconceptions and creating a development environment. Doctoral thesis (2016)Google Scholar
- 16.Metcalfe, J.: Learning from errors. Annu. Rev. Psychol. 68, 6.1–6.25 (2016)CrossRefGoogle Scholar
- 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.Oser, F., Spycher, M.: Lernen ist schmerzhaft. Zur Theorie des negativen Wissens und zur Praxis der Fehlerkultur. Weinheim; Beltz (2005)Google Scholar
- 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.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