Tapping into the Natural Language System with Artificial Languages when Learning Programming
Elisa Madeleine Hartmann, Annabelle Bergum, Dominik Gorgosch, Norman Peitek, Sven Apel, Janet Siegmund
TL;DR
The paper investigates whether teaching an artificial language (Brocanto) before programming can leverage language-processing mechanisms to ease initial programming learning. Using a between-subjects design, one group learned Brocanto and the other learned Git before taking a beginner Python course, with pretests, posttests, and interviews to assess learning. Results show Brocanto learning is feasible and activates language-learning strategies, but there is no statistically significant immediate advantage in programming competence, though some positive trends emerged in certain constructs and qualitative data suggested potential long-term benefits. The study lays methodological groundwork, reports 11 conjectures for future research, and provides a replication package to extend this line of inquiry into the intersection of natural language learning and programming education.
Abstract
Background: In times when the ability to program is becoming increasingly important, it is still difficult to teach students to become successful programmers. One remarkable aspect are recent findings from neuro-imaging studies, which suggest a consistent role of language competency of novice programmers when they learn programming. Thus, for effectively teaching programming, it might be beneficial to draw from linguistic research, especially from foreign language acquisition. Objective: The goal of this study is to investigate the feasibility of this idea, such that we can enhance learning programming by activating language learning mechanisms. Method: To this end, we conducted an empirical study, in which we taught one group of students an artificial language, while another group received an introduction into Git as control condition, before we taught both groups basic programming knowledge in a programming course. Result: We observed that the training of the artificial language can be easily integrated into our curriculum. Furthermore, we observed that language learning strategies were activated and that participants perceived similarities between learning the artificial language and the programming language. However, within the context of our study, we did not find a significant benefit for programming competency when students learned an artificial language first. Conclusion: Our study lays the methodological foundation to explore the use of natural language acquisition research and expand this field step by step. We report our experience here to guide research and to open up the possibilities from the field of linguistic research to improve programming acquisition.
