<?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">trudyniisi</journal-id><journal-title-group><journal-title xml:lang="ru">Труды НИИСИ</journal-title><trans-title-group xml:lang="en"><trans-title>SRISA Proceedings</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2225-7349</issn><issn pub-type="epub">3033-6422</issn><publisher><publisher-name>НИЦ «КУРЧАТОВСКИЙ ИНСТИТУТ» - НИИСИ</publisher-name></publisher></journal-meta><article-meta><article-id custom-type="elpub" pub-id-type="custom">trudyniisi-37</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>INFORMATION TECHNOLOGY IN EDUCATIONAL INFORMATICS</subject></subj-group></article-categories><title-group><article-title>Визуализация алгоритмов реализации взаимоисключений средствами пиктограммной среды программирования</article-title><trans-title-group xml:lang="en"><trans-title>Visualization of Mutual Exclusion Algorithms by Means of a Pictogram Programming Environment</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>Gribanova</surname><given-names>I. N.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Москва</p></bio><email xlink:type="simple">nig@niisi.com</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>А. C.</given-names></name><name name-style="western" xml:lang="en"><surname>Karavaeva</surname><given-names>A. C.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Москва</p></bio><email xlink:type="simple">aleksandrakaravaevaa@yandex.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>Leonov</surname><given-names>A. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Москва</p></bio><email xlink:type="simple">anton11-02@mail.com</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>Leonov</surname><given-names>A. G.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Москва</p></bio><email xlink:type="simple">dr.l@vip.niisi.ru</email><xref ref-type="aff" rid="aff-2"/></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>Mashchenko</surname><given-names>K. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Москва</p></bio><email xlink:type="simple">mashchenko.darya.vlad@yandex.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>В. A.</given-names></name><name name-style="western" xml:lang="en"><surname>Oganisyan</surname><given-names>V. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Москва</p></bio><email xlink:type="simple">kovyrshina@niisi.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff xml:lang="ru" id="aff-1"><institution>ФГУ ФНЦ НИИСИ РАН</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-2"><institution>ФГУ ФНЦ НИИСИ РАН; МГУ им. М. В. Ломоносова; МПГУ; Государственный университет управления</institution><country>Russian Federation</country></aff><pub-date pub-type="collection"><year>2022</year></pub-date><pub-date pub-type="epub"><day>15</day><month>10</month><year>2025</year></pub-date><volume>12</volume><issue>3</issue><fpage>39</fpage><lpage>52</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Грибанова И.Н., Караваева А.C., Леонов А.А., Леонов А.Г., Мащенко Д.В., Оганисян В.A., 2025</copyright-statement><copyright-year>2025</copyright-year><copyright-holder xml:lang="ru">Грибанова И.Н., Караваева А.C., Леонов А.А., Леонов А.Г., Мащенко Д.В., Оганисян В.A.</copyright-holder><copyright-holder xml:lang="en">Gribanova I.N., Karavaeva A.C., Leonov A.A., Leonov A.G., Mashchenko K.A., Oganisyan V.A.</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://www.t-niisi.ru/jour/article/view/37">https://www.t-niisi.ru/jour/article/view/37</self-uri><abstract><p>Курсы по информатике и информационно-коммуникационным технологиям могут включать широкий набор тем от основ программирования и элементарных знаний об устройстве компьютеров до теории формальных грамматик, языков искусственного интеллекта, операционных систем, 3D-графики и т.п. Основную сложность при этом составляет математическая компонента курсов, что требует соответствующей подготовки слушателей. Однако, и в программировании есть темы, сложные для понимания студентами даже с глубокими академическими знаниями. Одной из таких тем является параллельное программирование, когда с одной стороны требуется изучить и написать учебные высокоэффективные алгоритмы решения задач для выполнения одновременных вычислений на различных ЭВМ или процессорах, с другой стороны, что не менее сложно для понимания - обеспечить параллельную работу различных частей программы с разделяемым доступом к общим данным. Освоение азов параллельного программирования усложняется отсутствием адекватной визуализации параллельной работы процессов на компьютере. Педагогам остается иллюстрировать тему описывая знакомые студентам ситуации из реального мира, например, задачу одновременного проезда четырех автомобилей через нерегулируемый перекресток. С другой стороны, современные тенденции требует понижения возраста начала знакомства растущего ребенка с элементами программирования и алгоритмизации. Дошкольники, дети четвертого года жизни, с успехом осваивают в игре основные понятия последовательного программирования. используя программно-управляемых роботов и их виртуальных двойников в цифровой образовательной среде ПиктоМир. Та же ЦОС ПиктоМир используется для пропедевтики программирования при преподавании для любого возраста, включая студентов университетов. ПиктоМир обладает не только простотой в освоении, но допускает использование в заданиях одновременно нескольких исполнителей-роботов, каждый из которых действует по собственной программе. Наглядность процесса выполнения программ в Пикто-Мире привела авторов к мысли использовать ЦОС ПиктоМир для демонстрации работы классических алгоритмов взаимоисключений в курсах по параллельному программированию. Опыт авторов показал высокую эффективность подобного подхода, что позволило студентам за короткий срок понять проблему и успешно решить все задачи темы. Указанный подход апробировался в курсах Операционные системы (ИИС ГУУ) и Алгоритмы и структуры данных (Институт Детства МПГУ).</p></abstract><trans-abstract xml:lang="en"><p>Courses in computer science and information and communication technologies can include a wide range of topics from the basics of programming and elementary knowledge about the structure of computers to the theory of formal grammars, artificial intelligence languages, operating systems, 3D graphics, etc. The main difficulty in this case is the mathematical component of the courses, which requires appropriate training of students. However, in programming there is content that is quite difficult for students to understand, even with deep academic knowledge. This area is parallel programming, when, on the one hand, it is required to study and write educational highly efficient algorithms for solving problems for performing simultaneous calculations on different computers or processors, on the other hand, it is no less difficult to understand - ensuring the parallel operation of various parts of a program with a shared access to shared data. The development of the latter is complicated by the lack of adequate visualization of the parallel operation of processes on a computer. It remains for teachers to illustrate the topic with pictures from the real world, giving various arguments to prove the importance of solving the problem of sharing common resources, citing, as one of the options, the simultaneous free moving of four cars at a crossroad. On the other hand, current trends require lowering the age of the beginning of acquaintance with the elements of programming and algorithmization. Preschoolers, children of the fourth year of life, successfully master the basic concepts of sequential programming using program-controlled robots and their virtual counterparts in the digital educational environment PiktoMir. The same DEE PiktoMir is used for programming propaedeutics in teaching for all ages, including university students. PiktoMir is not only easy to learn, but allows the use of several robot performers in tasks at the same time, each of which acts according to its own program. The visibility of the program execution process in the system led the authors to the idea of using the DEE PiktoMir to demonstrate the operation of classical mutual exclusion algorithms in courses on parallel programming. The experience of the authors showed the high efficiency of this approach, which allowed students to understand the problem in a short time and successfully solve all the problems of the course. This approach was tested in the courses Operating Systems (IIS SUM) and Algorithms and Data Structures (Institute of Childhood, Moscow State Pedagogical University).</p></trans-abstract><kwd-group xml:lang="ru"><kwd>взаимное исключение</kwd><kwd>процесс</kwd><kwd>deadlock</kwd><kwd>критическая секция</kwd><kwd>ПиктоМир</kwd><kwd>операционные системы</kwd><kwd>алгоритмы</kwd></kwd-group><kwd-group xml:lang="en"><kwd>mutual exclusion</kwd><kwd>process</kwd><kwd>deadlock</kwd><kwd>critical section</kwd><kwd>PiktoMir</kwd><kwd>operating systems</kwd><kwd>algorithm</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">Публикация выполнена в рамках государственного задания ФГУ ФНЦ НИИСИ РАН по теме № FNEF-2022-0010.</funding-statement></funding-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Э. Дейкстра. Взаимодействие последовательных процессов // Языки программирования / Ред. Ф. Женуи, пер. с англ. В.П. Кузнецова, под ред. В.М. Курочкина. — М. : Мир, 1972. — С. 9—87.</mixed-citation><mixed-citation xml:lang="en">Э. Дейкстра. Взаимодействие последовательных процессов // Языки программирования / Ред. Ф. Женуи, пер. с англ. В.П. Кузнецова, под ред. В.М. Курочкина. — М. : Мир, 1972. — С. 9—87.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">E. W. Dijkstra. Solution of a problem in concurrent programming control. Communications of the ACM, 8(9):569, 1965.</mixed-citation><mixed-citation xml:lang="en">E. W. Dijkstra. Solution of a problem in concurrent programming control. Communications of the ACM, 8(9):569, 1965.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Taubenfeld, G. Concurrent Programming, Mutual Exclusion. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, 2016. L. Lamport. A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM, 17(8):453–455, August 1974.</mixed-citation><mixed-citation xml:lang="en">Taubenfeld, G. Concurrent Programming, Mutual Exclusion. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, 2016. L. Lamport. A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM, 17(8):453–455, August 1974.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">L. Lamport. The mutual exclusion problem: Part II – statement and solutions. Journal of the ACM, 33:327–348, 1986.</mixed-citation><mixed-citation xml:lang="en">L. Lamport. The mutual exclusion problem: Part II – statement and solutions. Journal of the ACM, 33:327–348, 1986.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">L. Lamport. A bug in the Bakery algorithm. Technical Report CA–7704–0611, Massachusette computer associates, inc., April 1977.</mixed-citation><mixed-citation xml:lang="en">L. Lamport. A bug in the Bakery algorithm. Technical Report CA–7704–0611, Massachusette computer associates, inc., April 1977.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">U. Abraham. Bakery algorithms. In Proc. of the Concurrency, Specification and Programming Work-shop, pages 7–40, 1993.</mixed-citation><mixed-citation xml:lang="en">U. Abraham. Bakery algorithms. In Proc. of the Concurrency, Specification and Programming Work-shop, pages 7–40, 1993.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Taubenfeld, G. The Black-White Bakery Algorithm and Related Bounded-Space, Adaptive, Local-Spinning and FIFO Algorithms. In: Guerraoui, R. (eds) Distributed Computing. DISC 2004. Lecture Notes in Computer Science, vol 3274. Springer, Berlin, Heidelberg, 2004.</mixed-citation><mixed-citation xml:lang="en">Taubenfeld, G. The Black-White Bakery Algorithm and Related Bounded-Space, Adaptive, Local-Spinning and FIFO Algorithms. In: Guerraoui, R. (eds) Distributed Computing. DISC 2004. Lecture Notes in Computer Science, vol 3274. Springer, Berlin, Heidelberg, 2004.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">E.W. Dijkstra. Cooperating Sequential Processes in Programming Languages. Ed. F. Genuys. — NY: Academic Press, New York, 1968.</mixed-citation><mixed-citation xml:lang="en">E.W. Dijkstra. Cooperating Sequential Processes in Programming Languages. Ed. F. Genuys. — NY: Academic Press, New York, 1968.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Леонов А.Г., Первин Ю.А., Зайдельман Я.Н. Программные исполнители в цифровых образовательных средах «ПиктоМир», «Роботландия» и «КуМир». Информатика в школе. 2019;(9):54-61.</mixed-citation><mixed-citation xml:lang="en">Леонов А.Г., Первин Ю.А., Зайдельман Я.Н. Программные исполнители в цифровых образовательных средах «ПиктоМир», «Роботландия» и «КуМир». Информатика в школе. 2019;(9):54-61.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">А. Г. Леонов. Параллельное программирование // Энциклопедия для детей. — Т. 22 из Информатика. — Аванта+ Москва, 2003. — С. 140–145.</mixed-citation><mixed-citation xml:lang="en">А. Г. Леонов. Параллельное программирование // Энциклопедия для детей. — Т. 22 из Информатика. — Аванта+ Москва, 2003. — С. 140–145.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Framework Qt. Use Qt's libraries and APIs to develop software with native C++ performance for mobile, desktop, and embedded systems. https://qt.io/ (дата обращения 01.11.2022)</mixed-citation><mixed-citation xml:lang="en">Framework Qt. Use Qt's libraries and APIs to develop software with native C++ performance for mobile, desktop, and embedded systems. https://qt.io/ (дата обращения 01.11.2022)</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Стартовая страница проекта «ПиктоМир» на сайте ФГУ ФНЦ НИИСИ РАН. URL: https://www.niisi.ru/piktomir/ (дата обращения 01.11.2022)</mixed-citation><mixed-citation xml:lang="en">Стартовая страница проекта «ПиктоМир» на сайте ФГУ ФНЦ НИИСИ РАН. URL: https://www.niisi.ru/piktomir/ (дата обращения 01.11.2022)</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">V. B. Betelin, A. G. Kushnirenko, A. G. Leonov, K. A.Mashchenko, Basic Programming Concepts as Explained for Preschoolers, International Journal of Education and Information Technologies (NAUN), Volume 15 (2021): 245-255.</mixed-citation><mixed-citation xml:lang="en">V. B. Betelin, A. G. Kushnirenko, A. G. Leonov, K. A.Mashchenko, Basic Programming Concepts as Explained for Preschoolers, International Journal of Education and Information Technologies (NAUN), Volume 15 (2021): 245-255.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">N.Besshaposhnikov, A.Kushnirenko, and A.Leonov. Piktomir: how and why do we teach textless programming for preschoolers, first graders and students of pedagogical universities. CEE-SECR '17: Proceedings of the 13th Central &amp; Eastern European Software Engineering Conference in Russia, October 2017. No. 21. P. 1–7. 2017</mixed-citation><mixed-citation xml:lang="en">N.Besshaposhnikov, A.Kushnirenko, and A.Leonov. Piktomir: how and why do we teach textless programming for preschoolers, first graders and students of pedagogical universities. CEE-SECR '17: Proceedings of the 13th Central &amp; Eastern European Software Engineering Conference in Russia, October 2017. No. 21. P. 1–7. 2017</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>
