<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">oo</journal-id><journal-title-group><journal-title xml:lang="ru">Открытое образование</journal-title><trans-title-group xml:lang="en"><trans-title>Open Education</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-4243</issn><issn pub-type="epub">2079-5939</issn><publisher><publisher-name>Plekhanov Russian University of Economics</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.21686/1818-4243-2021-4-13-22</article-id><article-id custom-type="elpub" pub-id-type="custom">oo-803</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ОБРАЗОВАТЕЛЬНАЯ СРЕДА</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>EDUCATIONAL ENVIRONMENT</subject></subj-group></article-categories><title-group><article-title>Разработка и применение программного инструмента для поддержки обучения формальным языкам</article-title><trans-title-group xml:lang="en"><trans-title>Development and Application of a Software Tool to Support the Teaching of Formal Languages</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Сергушичева</surname><given-names>А. П.</given-names></name><name name-style="western" xml:lang="en"><surname>Sergushicheva</surname><given-names>A. P.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Анна Павловна Сергушичева, к.т.н., доцент кафедры автоматики и вычислительной техники</p><p>Вологда</p></bio><bio xml:lang="en"><p>Anna P. Sergushicheva, Cand. Sci. (Engineering), Аassociate Professor</p><p>Vologda</p></bio><email xlink:type="simple">annpas@list.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Давыдова</surname><given-names>Е. Н.</given-names></name><name name-style="western" xml:lang="en"><surname>Davydova</surname><given-names>E. N.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Елена Николаевна Давыдова, к.т.н., доцент кафедры автоматики и вычислительной техники</p><p>Вологда</p></bio><bio xml:lang="en"><p>Elena N. Davydova, Cand. Sci. (Engineering), Associate Professor</p><p>Vologda</p></bio><email xlink:type="simple">Davidova_EN@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Вологодский государственный университет</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Vologda State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2021</year></pub-date><pub-date pub-type="epub"><day>30</day><month>07</month><year>2021</year></pub-date><volume>25</volume><issue>4</issue><fpage>13</fpage><lpage>22</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Сергушичева А.П., Давыдова Е.Н., 2021</copyright-statement><copyright-year>2021</copyright-year><copyright-holder xml:lang="ru">Сергушичева А.П., Давыдова Е.Н.</copyright-holder><copyright-holder xml:lang="en">Sergushicheva A.P., Davydova E.N.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://openedu.rea.ru/jour/article/view/803">https://openedu.rea.ru/jour/article/view/803</self-uri><abstract><p>Цель статьи представить результаты исследования по возможности применения дедуктивного подхода в изучении языков программирования (от теории формальных языков к конкретным языкам программирования) и разработке обучающей системы для реализации этого подхода. Вопрос подготовки специалистов в области информационных технологий по-прежнему остается актуальным, а разнообразие языков программирование настолько велико, что далеко не всегда удается угадать, какой из них будет востребован в профессиональной деятельности. По мнению авторов, применение указанного подхода позволит видеть общие элементы и находить синтаксические различия языков программирования, а следовательно, упростить и ускорить их освоение. В статье проанализированы методы обучения программированию, обоснована актуальность изучения формальных языков будущими ИТ-специалистами, сформулированы требования к программному инструменту для поддержки обучения формальным языкам, описана его реализация.</p><sec><title>Материалы и методы</title><p>Материалы и методы: теория формальных языков, синтаксис и семантика языков программирования, лексический анализ, анализ различных источников информации по исследуемой тематике, систематизация собранных данных, технологии проектирования, реализации и тестирования программных продуктов, экспериментальные исследования.</p></sec><sec><title>Результаты</title><p>Результаты. Предложена методика изучения языков программирования посредством формальных языков. Создана программная обучающая система, которая позволяет связать теорию формальных языков с языками высокого уровня за счёт соответствующих примеров. Разработан и реализован в указанной системе алгоритм проверки корректности выполнения задания посредством синтаксического анализа введенной обучающимся программы и имитации ее выполнения. Эксперименты показали целесообразность подхода и работоспособность программного продукта. В настоящее время разработанная система применяется в Вологодском государственном университете при преподавании дисциплин «Теория языков программирования и методы трансляции» и «Теория автоматов и формальных языков».</p></sec><sec><title>Заключение</title><p>Заключение. Результаты исследования показывают приемлемость предложенного подхода и целесообразность применения разработанной программы при изучении языков программирования.</p></sec></abstract><trans-abstract xml:lang="en"><p>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.</p><sec><title>Materials and methods</title><p>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.</p></sec><sec><title>Results</title><p>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”.</p></sec></trans-abstract><kwd-group xml:lang="ru"><kwd>программный продукт</kwd><kwd>языки программирования</kwd><kwd>формальные языки</kwd><kwd>методы обучения программированию</kwd><kwd>алгоритм</kwd></kwd-group><kwd-group xml:lang="en"><kwd>software product</kwd><kwd>programming languages</kwd><kwd>formal languages</kwd><kwd>methods of teaching programming</kwd><kwd>algorithm</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Шефер О.Р., Носова Л.С., Лебедева Т.Н. Современная методология изучения программирования в вузе // Научно-техническая информация. Серия 1: Организация и методика информационной работы. 2018. № 5. С. 6–12.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Баженова И.В., Пак Н.И. Разработка электронного учебника-трансформера при обучении программированию на основе самопознавательной деятельности студента // Вестник Московского городского педагогического университета. Серия: Информатика и информатизация образования. 2019. № 1(47). С. 20–28.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Моглан Д.В. Дидактический потенциал использования систем визуализации алгоритмов в процессе обучения программированию // Открытое образование. 2019. Т. 23. № 2. С. 31–41.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Шарипов Ф.Ф., Мараджабов С.И. Теоретическая модель формирования алгоритмического мышления студентов вузов в процессе обучения объектно-ориентированному программированию // Балтийский гуманитарный журнал. 2017. Т. 6. № 3(20). С. 313–316.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Шкарбан Ф.В. Методика обучения основам объектно-ориентированного программирования бакалавров прикладной информатики с использованием визуальных учебных сред: диссертация кандидата педагогических наук: 13.00.02. Волгоград, 2018. 212 с.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Касьянов В.Н., Касьянова Е.В. Методы и средства обучения программированию в вузе // Информатика: проблемы, методы, технологии: материалы XX международной научно-методической конференции. 2020. С. 1989–1998.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Самбо Е. Какие языки программирования учить в 2021 (для начинающих) [Электрон. ресурс]. Режим доступа: https://videoinfographica.com/programming-languages/.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Милова Е.А. Методика обучения программированию [Электрон. ресурс]. Режим доступа: https://pandia.ru/text/79/134/22349.php.</mixed-citation><mixed-citation xml:lang="en">Milova Ye.A. Metodika obucheniya programmirovaniyu = Programming teaching method [Internet]. Available from: https://pandia.ru/text/79/134/22349.php. (In Russ.)</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Педагогика. Урок 4: традиционные методы обучения [Электрон. ресурс]. Режим доступа: https://4brain.ru/pedagogika/new-methods.php.</mixed-citation><mixed-citation xml:lang="en">Pedagogika. Urok 4: traditsionnyye metody obucheniya = Pedagogy. Lesson 4: Traditional Teaching Methods [Internet]. Available from: https://4brain.ru/pedagogika/new-methods.php. (In Russ.)</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Методы обучения: понятие, виды и классификация в педагогике [Электрон. ресурс]. Режим доступа: https://nauka.club/podsovet/metody-obucheniya.html.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Юрьева Т.А., Чалкина Н.А., Лебедь О.А. Применение кейс-метода в обучении бакалавров основам программирования // Педагогические науки. 2016. № 7. С. 78–82.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Слинкин Д.А. Использование метода проектов при обучении программированию в курсе информатики: диссертация кандидата педагогических наук: 13.00.02. Екатеринбург, 2001 166 c.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Лебедева Т.Н. Метод проектов в обучении студентов // Актуальные проблемы развития среднего и высшего образования: XV межвузовский сборник научных трудов. Челябинск, 2019. С. 204–207.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Жемчужников Д.Г. Методика обучения программированию, основанная на создании школьниками динамических компьютерных игр: диссертация кандидата педагогических наук: 13.00.02. Москва, 2013. 230 с.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Сидорик В.В., Костина Е.Н. Метод открытых программ в изучении программирования // Наука – образованию, производству, экономике: материалы 11-й международной научно-технической конференции. Минск: БНТУ, 2013. Т. 4. С. 268.</mixed-citation><mixed-citation xml:lang="en">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.)</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Гладкий А.В. Формальные грамматики и языки. М.: Наука, 1973. 368 с.</mixed-citation><mixed-citation xml:lang="en">Gladkiy A.V. Formal’nyye grammatiki i yazyki = Formal grammars and languages. Moscow: Nauka; 1973. 368 p. (In Russ.)</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Лаздин А.В. Формальные языки, грамматики, автоматы. СПб.: Университет ИТМО, 2019. 99 с.</mixed-citation><mixed-citation xml:lang="en">Lazdin A.V. Formal’nyye yazyki, grammatiki, avtomaty = Formal languages, grammars, automata. Saint Petersburg: ITMO University; 2019. 99 p. (In Russ.)</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">H2 Database Engine [Электрон. ресурс]. Режим доступа: https://www.h2database.com/html/main.html.</mixed-citation><mixed-citation xml:lang="en">H2 Database Engine [Internet]. Available from: https://www.h2database.com/html/main.html.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
