Visualization of Mutual Exclusion Algorithms by Means of a Pictogram Programming Environment
Abstract
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).
Keywords
About the Authors
I. N. GribanovaRussian Federation
A. C. Karavaeva
Russian Federation
A. A. Leonov
Russian Federation
A. G. Leonov
Russian Federation
K. A. Mashchenko
Russian Federation
V. A. Oganisyan
Russian Federation
References
1. Э. Дейкстра. Взаимодействие последовательных процессов // Языки программирования / Ред. Ф. Женуи, пер. с англ. В.П. Кузнецова, под ред. В.М. Курочкина. — М. : Мир, 1972. — С. 9—87.
2. E. W. Dijkstra. Solution of a problem in concurrent programming control. Communications of the ACM, 8(9):569, 1965.
3. 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.
4. L. Lamport. The mutual exclusion problem: Part II – statement and solutions. Journal of the ACM, 33:327–348, 1986.
5. L. Lamport. A bug in the Bakery algorithm. Technical Report CA–7704–0611, Massachusette computer associates, inc., April 1977.
6. U. Abraham. Bakery algorithms. In Proc. of the Concurrency, Specification and Programming Work-shop, pages 7–40, 1993.
7. 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.
8. E.W. Dijkstra. Cooperating Sequential Processes in Programming Languages. Ed. F. Genuys. — NY: Academic Press, New York, 1968.
9. Леонов А.Г., Первин Ю.А., Зайдельман Я.Н. Программные исполнители в цифровых образовательных средах «ПиктоМир», «Роботландия» и «КуМир». Информатика в школе. 2019;(9):54-61.
10. А. Г. Леонов. Параллельное программирование // Энциклопедия для детей. — Т. 22 из Информатика. — Аванта+ Москва, 2003. — С. 140–145.
11. 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)
12. Стартовая страница проекта «ПиктоМир» на сайте ФГУ ФНЦ НИИСИ РАН. URL: https://www.niisi.ru/piktomir/ (дата обращения 01.11.2022)
13. 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.
14. 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 & Eastern European Software Engineering Conference in Russia, October 2017. No. 21. P. 1–7. 2017
Review
For citations:
Gribanova I.N., Karavaeva A.C., Leonov A.A., Leonov A.G., Mashchenko K.A., Oganisyan V.A. Visualization of Mutual Exclusion Algorithms by Means of a Pictogram Programming Environment. SRISA Proceedings. 2022;12(3):39-52. (In Russ.)