Development and Application of a Software Tool to Support the Teaching of Formal Languages
https://doi.org/10.21686/1818-4243-2021-4-13-22
Abstract
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.About the Authors
A. P. SergushichevaRussian Federation
Anna P. Sergushicheva, Cand. Sci. (Engineering), Аassociate Professor
Vologda
E. N. Davydova
Russian Federation
Elena N. Davydova, Cand. Sci. (Engineering), Associate Professor
Vologda
References
1. Shefer O.R., Nosova L.S., Lebedeva T.N. Modern methodology for studying programming at a university. Nauchno-tekhnicheskaya informatsiya. Seriya 1: Organizatsiya i metodika informatsionnoy raboty = Scientific and technical information. Series 1: Organization and methodology of information work. 2018; 5: 6-12. (In Russ.)
2. Bazhenova I.V., Pak N.I. Development of an electronic textbook-transformer for teaching programming based on the student’s self-cognitive activity. Vestnik Moskovskogo gorodskogo pedagogicheskogo universiteta. Seriya: Informatika i informatizatsiya obrazovaniya = Bulletin of the Moscow City Pedagogical University. Series: Informatics and informatization of education. 2019; 1(47): 20-28. (In Russ.)
3. Moglan D.V. Didactic potential of using algorithms visualization systems in the process of teaching programming. Otkrytoye obrazovaniye = Open Education. 2019; 23; 2: 31-41. (In Russ.)
4. Sharipov F.F., Maradzhabov S.I. A theoretical model of the formation of algorithmic thinking of university students in the process of teaching object-oriented programming. Baltiyskiy gumanitarnyy zhurnal = Baltic Humanitarian Journal. 2017; 6; 3(20): 313-316. (In Russ.)
5. Shkarban F.V. Metodika obucheniya osnovam ob»yektno-oriyentirovannogo programmirovaniya bakalavrov prikladnoy informatiki s ispol’zovaniyem vizual’nykh uchebnykh sred: dissertatsiya kandidata pedagogicheskikh nauk = Methods of teaching the basics of object-oriented programming for bachelors of applied informatics using visual learning environments: dissertation of the candidate of pedagogical sciences: 13.00.02. Volgograd; 2018. 212 p. (In Russ.)
6. Kas’yanov V.N., Kas’yanova Ye.V. Methods and means of teaching programming at the university. Informatika: problemy, metody, tekhnologii: materialy XX mezhdunarodnoy nauchno-metodicheskoy konferentsii = Informatics: problems, methods, technologies: materials of the XX international scientific and methodological conference. 2020: 1989-1998. (In Russ.)
7. Sambo Ye. Kakiye yazyki programmirovaniya uchit’ v 2021 (dlya nachinayushchikh) = What programming languages to learn in 2021 (for beginners) [Internet]. Available from: https://videoinfographica.com/programming-languages/. (In Russ.)
8. Milova Ye.A. Metodika obucheniya programmirovaniyu = Programming teaching method [Internet]. Available from: https://pandia.ru/text/79/134/22349.php. (In Russ.)
9. Pedagogika. Urok 4: traditsionnyye metody obucheniya = Pedagogy. Lesson 4: Traditional Teaching Methods [Internet]. Available from: https://4brain.ru/pedagogika/new-methods.php. (In Russ.)
10. Metody obucheniya: ponyatiye, vidy i klassifikatsiya v pedagogike = Teaching methods: concept, types and classification in pedagogy [Internet]. Available from: https://nauka.club/podsovet/metody-obucheniya.html. (In Russ.)
11. Yur’yeva T.A., Chalkina N.A., Lebed’ O.A. Application of the case method in teaching bachelors the basics of programming. Pedagogicheskiye nauki = Pedagogical sciences. 2016; 7: 78-82. (In Russ.)
12. Slinkin D.A. Ispol’zovaniye metoda proyektov pri obuchenii programmirovaniyu v kurse informatiki: dissertatsiya kandidata pedagogicheskikh nauk= Using the project method in teaching programming in the course of computer science: dissertation of the candidate of pedagogical sciences: 13.00.02. Yekaterinburg; 2001 166 p. (In Russ.)
13. Lebedeva T.N. The method of projects in teaching students. Aktual’nyye problemy razvitiya srednego i vysshego obrazovaniya: XV mezhvuzovskiy sbornik nauchnykh trudov = Actual problems of the development of secondary and higher education: XV interuniversity collection of scientific papers. Chelyabinsk; 2019: 204-207. (In Russ.)
14. Zhemchuzhnikov D.G. Metodika obucheniya programmirovaniyu, osnovannaya na sozdanii shkol’nikami dinamicheskikh komp’yuternykh igr: dissertatsiya kandidata pedagogicheskikh nauk = Methodology of teaching programming based on the creation of dynamic computer games by schoolchildren: dissertation of the candidate of pedagogical sciences: 13.00.02. Moscow; 2013. 230 p. (In Russ.)
15. Sidorik V.V., Kostina Ye.N. The method of open programs in the study of programming. Nauka – obrazovaniyu, proizvodstvu, ekonomike: materialy 11-y mezhdunarodnoy nauchnotekhnicheskoy konferentsii = Science - education, production, economics: materials of the 11th international scientific and technical conference. Minsk: BNTU; 2013; 4: 268. (In Russ.)
16. Gladkiy A.V. Formal’nyye grammatiki i yazyki = Formal grammars and languages. Moscow: Nauka; 1973. 368 p. (In Russ.)
17. Lazdin A.V. Formal’nyye yazyki, grammatiki, avtomaty = Formal languages, grammars, automata. Saint Petersburg: ITMO University; 2019. 99 p. (In Russ.)
18. H2 Database Engine [Internet]. Available from: https://www.h2database.com/html/main.html.
Review
For citations:
Sergushicheva A.P., Davydova E.N. Development and Application of a Software Tool to Support the Teaching of Formal Languages. Open Education. 2021;25(4):13-22. (In Russ.) https://doi.org/10.21686/1818-4243-2021-4-13-22