Can Natural Language Acquisition Theory Inform How Students Learn To Program?
Jose Cabrera, Ashish Aggarwal · 2024
Second Language Acquisition is a field of Linguistics that studies how humans learn additional languages after their early years.This field is heavily tied to cognitive science and has focused on both the neurological and pedagogical aspects of language acquisition.Over the years, studies have focused on acquisition models that have enhanced the way we teach and learn languages.Naturally, these findings can also be applied to other disciplines and be contextualized within their areas of knowledge.Programming and natural languages share design features in various areas such as their foundations, syntax, and semantics.Comparing the nature of both types of languages is key to have a deeper understanding of the acquisition models that both fields have developed over time.Moreover, analyzing the way learning works in the context of both programming and natural languages can yield potential improvements on effective language learning through improved instruction and pedagogy.This paper describes and explores the similarities and differences of programming and natural language acquisition based on their foundations, syntax, and semantics.These comparisons give a theoretical foundation for a further analysis of the similarities and differences in acquiring programming and natural languages.Several key points are highlighted, backed by acquisition theory and other studies; namely in the context of acquisition stages, learning components, factors and elements that benefit or hinder the acquisition process, etc.Likewise, several elements that differ between both models are emphasized, namely those that have different context when applied to programming or natural languages, respectively.All these findings give rise to several implications that connect back to practices that may enhance the way knowledge is imparted on both fields, especially at early stages of acquisition.Various study-backed recommendations are also listed in order to provide more effective methods of teaching introductory courses in Computer Science, highlighting the inherent advantages of the field as well as covering some weaknesses that teaching the subject can have.