A Framework Based on Compiler Design Techniques for Programming Learning Environments
Sefa Aras, Eyüp Gedіklі, Özcan Özyurt
Abstract
Sefa Aras, Eyüp Gedіklі, Özcan Özyurt
Abstract
It has been observed that the studies for starting programming learning at an early age have increased in recent years. Programming that enhances the high level cognitive skills of individuals is seen as a competency that must be acquired for everyone nowadays. In current programming learning environments, programming is usually done using visual components. However, it is emphasized that there is little contribution to the transition to actual programming languages by programming with visual components in the studies carried out. For this reason, a new programming learning environment has been developed in this study in which everyone can learn programming. To facilitate programming learning and contribute to the transition of actual programming languages, a new programming language is described which is simple syntax and similar to real programming languages. This language is controlled in terms of meaning and grammar with lexical and syntax analysis steps. The specified compiler design techniques are implemented using finite state machines. Analysis of the created programming language is performed by regular expressions. Instead of providing a free workspace for the user, an environment with quests covering programming concepts is presented. This quest based environment aims at the successful learning process by guiding to the user through feedbacks. The programming learning environment has been developed as an open source software by using computer science and engineering techniques and it is a framework for researchers seeking to develop a similar environment.
OpenAlex reports 4 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
It has been observed that the studies for starting programming learning at an early age have increased in recent years. Programming that enhances the high level cognitive skills of individuals is seen as a competency that must be acquired for everyone nowadays. In current programming learning environments, programming is usually done using visual components. However, it is emphasized that there is little contribution to the transition to actual programming languages by programming with visual components in the studies carried out. For this reason, a new programming learning environment has been developed in this study in which everyone can learn programming. To facilitate programming learning and contribute to the transition of actual programming languages, a new programming language is described which is simple syntax and similar to real programming languages. This language is controlled in terms of meaning and grammar with lexical and syntax analysis steps. The specified compiler design techniques are implemented using finite state machines. Analysis of the created programming language is performed by regular expressions. Instead of providing a free workspace for the user, an environment with quests covering programming concepts is presented. This quest based environment aims at the successful learning process by guiding to the user through feedbacks. The programming learning environment has been developed as an open source software by using computer science and engineering techniques and it is a framework for researchers seeking to develop a similar environment.
Key concepts: Computer science, Programming language, Inductive programming, Extensible programming, Functional reactive programming, Third-generation programming language, Programming domain, Reactive programming