Development and Application of a Software Tool to Support the Teaching of Formal Languages - Sergushicheva, A. P.; Davydova, E. N. (Otkrytoe Obrazovanie, 2021)
The purpose of the article is to present the results of a study on the possibility of using a deductive approach in the study of programming languages (from the theory of formal languages to specific programming languages) and the development of a training system for implementing this approach. The issue of training specialists in the field of information technology is still relevant, and the variety of programming languages is so great that it is not always possible to guess which of them will be in demand in professional activities. According to the authors, the application of this approach will allow you to see common elements and find syntactic differences in programming languages, and therefore simplify and speed up their development. The article analyzes the methods of teaching programming, substantiates the relevance of learning formal languages by future IT specialists, formulates the requirements for a software tool to support learning formal languages, describes its implementation.Materials and methods. Theory of formal languages, syntax and semantics of programming languages, lexical analysis, analysis of various sources of information on the subject under study, systematization of the collected data, technologies for designing, implementing and testing software products, experimental research.Results. A methodology for learning programming languages through formal languages is proposed. A software training system has been created that allows you to link the theory of formal languages with high-level languages through appropriate examples. The algorithm of checking the correctness of the task execution by means of syntactic analysis of the program entered by the student and imitation of its execution is developed and implemented in the specified system. Experiments have shown the feasibility of the approach and the performance of the software product. Currently, the developed system is used at Vologda State University when teaching the disciplines “Theory of programming languages and translation methods” and “Theory of automata and formal languages”.Conclusion. The results of the study show the acceptability of the proposed approach and the expediency of using the developed program when learning programming languages.