A Turkish Grammar-Aware Approach to Introductory Programming
Introductory programming is often challenging for novice learners because it requires them to understand new computational concepts while also interpreting foreign-language terminology and syntax. This challenge is particularly significant for learners whose native language is not English, for individuals unfamiliar with technical vocabulary, and for younger learners at the beginning of programming education. In the Turkish context, previous attempts to create Turkish programming languages have often focused mainly on translating keywords into Turkish while preserving the syntactic and grammatical structure of mainstream programming languages. As a result, the linguistic barrier has remained only partially addressed, and the potential of a fully native-language, grammar-aware programming environment has not been sufficiently explored. The purpose of this study is to introduce and theoretically frame a fully Turkish, grammar-aware introductory programming language designed as a pedagogical bridge for novice learners, and to present a prototype developed in line with this aim. The study is grounded in the view that beginning programming in one’s native language may support early conceptual understanding and facilitate later transition to mainstream programming languages. The study employs a design-and-development approach supported by a conceptual framework. During development, a prototype of a Turkish programming language was designed with attention to Turkish keywords, grammar, word order, and syntax. The design was informed by sociocultural theory, Cognitive Load Theory, scaffolding and transfer, and the concepts of notional machine and threshold concepts in computing education. These perspectives guided both the rationale for the language and the principles underlying the prototype design. The study suggests that the prototype offers a different approach from earlier Turkish programming language attempts by treating Turkish not merely as a translated interface layer but as a structuring component of syntax design. In this respect, the prototype may reduce extraneous linguistic load, support concept formation through familiar language patterns, and function as a transitional scaffold between native-language reasoning and mainstream programming languages. In conclusion, the study argues that mother-tongue programming language design should be approached as both a pedagogical and a structural design problem rather than as a simple vocabulary translation task. The prototype presented in this study demonstrates the feasibility of this approach in the Turkish context. It is recommended that future research evaluate the prototype empirically with novice learners, particularly children and learners with limited English proficiency, and examine its effects on comprehension, motivation, and transfer to widely used programming languages.
Keywords: introductory programming, programming language, mother-tongue programming, computing education, prototype development