Organization of Calculations and Work with Memory in the Educational Programming Language SYNHRO

Main Article Content

Lidia Vasiljevna Gorodnyaya

Abstract

The article is devoted to a number of decisions made in the project of the educational programming language Synchro, which is being developed at the Laboratory of Information Systems of the A.P. Ershov IIS SB RAS, designed to familiarize with the basic phenomena of the interaction of processes and control of calculations over shared memory. The focus is on the functional programming paradigm. The language is aimed at schoolchildren of primary and secondary grades, as well as junior students and non-professionals. During training, the experience of operating with toy robots moving on a checkered board is used. The article is of interest to everyone who is interested in the problems of modern computer science, programming and information technology, especially the problems of parallel computing on supercomputers and distributed systems, and in general the use of multiprocessor systems.

Article Details

References

1. Городняя Л.В. Язык параллельного программирования Синхро, предназначенный для обучения. Новосибирск: ИСИ им. А.П. Ершова СО РАН, 2016. 30 с. (Препринт/ИСИ СО РАН; № 180). URL: https://www.iis.nsk.su/files/preprints/gorodnyaya_180.pdf.
2. Городняя Л.В. О курсе «Начала параллелизма» // Ершовская конференция по информатике. Секция «Информатика образования». 27 июня 2011 года. Новосибирск: ИСИ им. А.П. Ершова СО РАН. С. 51–54.
3. Пеппер П., Экснер Ю., Зюдхольд М. Функциональный поход к разработке программ с развитым параллелизмом // Системная информатика. Вып 4. Методы теоретического и системного программирования. Новосибирск: Наука. Сиб. изд. фирма, 1995. С. 334–360.
4. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 608 с.
5. Хоар Ч. Взаимодействующие последовательные процессы. М.: Мир, 1989. 264 с.
6. Быстров А.В. Сетевые средства синхронизации процессов // Тр. Всесоюзного научно-технического семинара «Программное обеспечение многопроцессорных систем». Калинин, 1985. С. 44–46.
7. Городняя Л.В. Парадигмы программирования. Часть 4. Параллельное программирование. Новосибирск, 2015. 74 с. (Препр. / ИСИ СО РАН; № 175). URL: https://www.iis.nsk.su/files/preprints/gorodnyaya_175.pdf.
8. Лавров С.С. Расширяемость языков. Подходы и практика. В сб.: Прикладная информатика, вып. 2. М.: Финансы и статистика, 1984. С. 17–22.
9. Городняя Л.В. О неявной мультипарадигмальности параллельного программирования. Материалы конференции «Научный сервис в сети Интернет: труды XXIII Всероссийской научной конференции». С. 104–116. URL: https://library.keldysh.ru/prep_vw.asp?pid=9203.
10. Городняя Л.В. Методика парадигмального анализа языков и систем программирования // Научный сервис в сети Интернет: труды XXI Всероссийской научной конференции (23–28 сентября 2019 г., г. Новороссийск). М.: ИПМ им. М.В. Келдыша, 2019. С. 262–277. URL: http://keldysh.ru/abrau/2019/theses/03.pdf doi:10.20948/abrau-2019-03.
11. Андреева Т.А. и др. Компьютерные языки как форма и средство представления, порождения и анализа научных и профессиональных знаний // Тр. XV Всерос. научно-методической конф. «Телематика–2008». СПб., 2008. С. 77–78.
12. Городняя Л.В. Парадигмы программирования. Ч. 5. Учебные языки программирования. Новосибирск, 2015. 60 с. (Препр. / ИСИ СО РАН; № 176). URL: http://www.iis.nsk.su/files/preprints/gorodnyaya_176.pdf.
13. Звенигородский Г.А. Первые уроки программирования. Библиотечка «Кванта». М.: Наука, 1985. Т. 41. URL: http://cip.iis.nsk.su/files/course/zven-ves.pdf.
14. Кушниренко А.Г., Грибанова И.Н., Райко М.В., Зайдельман Я.Н. Как мы проводим вводное занятие по алгоритмике в разновозрастной группе дошкольников и младших школьников. URL: https://fgoskomplekt.ru/upload/iblock/a2c/4o0ce5xyjyrha1b8qwsgxlhnjqp1iqme.pdf.
15. Что такое Лого. URL: http://www.int-edu.ru/logo/logo.html.
16. Голиков Д.В., Голиков А.Д. Книга юных программистов на Scratch – SmashWords, 2013. ISBN 978-1310227554.
17. Ершов А.П. Программирование – вторая грамотность. URL: http://ershov.iis.nsk.su/ru/second_literacy/article.
18. Брукс Ф. Мифический человеко-месяц, или Как создаются программные системы. СПб.: Питер, 2021. 368 с.
19. Городняя Л.В. О функциональном программировании // Компьютерные инструменты в образовании (в печати).
20. Городняя Л.В. О проблеме автоматизации параллельного программирования // Научный сервис в сети Интернет: многообразие суперкомпьютерных миров: Труды Международной суперкомпьютерной конференции (22–27 сентября 2014 г., г. Новороссийск). М.: Изд-во МГУ, 2014. С. 191–196. URL: http://agora.guru.ru/abrau2014
21. Городняя Л.В. Абстрактная машина языка программирования учебного назначения СИНХРО // Вестник Новосибирского государственного университета. Серия: Информационные технологии. 2021. № 4. С. 16–35.
22. Адамович А.И., Климов Анд.В. Об опыте использования среды метапрограммирования Eclipse/TMF для конструирования специализированных языков // Научный сервис в сети Интернет: труды XVIII Всероссийской научной конференции (19–24 сентября 2016 г. г. Новороссийск). М.: ИПМ им. М.В. Келдыша, 2016. С. 3–8. URL: https://doi.org/10.20948/abrau-2016-45.
23. Городняя Л.В. Подходы к представлению синтаксиса языков программирования. Новосибирск, 2019. 39 с. (Препр. / ИСИ СО РАН; № 185). URL: https://www.iis.nsk.su/files/preprints/Preprint_185.pdf
24. About SETL and GNU SETL. URL: https://setl.org/doc/setl.html.
25. Schwartz Jacob T. Set Theory as a Language for Program Specification and Programming. Courant Institute of Mathematical Sciences, New York University, 1970.
26. Kondratyev D.A., Promsky A.V. Developing a self-applicable verification system. Theory and practice // Automatic Control and Computer Sciences. 2015. Vol. 49. Issue 7. P. 445–452. URL: https://doi.org/10.3103/S0146411615070123
27. Малышкин В.Э. Технология фрагментированного программирования // Параллельные вычислительные технологии (ПаВТ’2012): труды международной научной конференции (Новосибирск, 26–30 марта 2012 г.). Челябинск: Издательский центр ЮУрГУ, 2012. С. 598–605. URL: http://omega.sp.susu.ru/books/conference/PaVT2012/short/212.pdf
28. Городняя Л.В. Модели работы с памятью в учебном языке программирования СИНХРО // Научный сервис в сети Интернет: труды XXIV Всероссийской научной конференции (19–22 сентября 2022 г., онлайн). М.: ИПМ им. М.В. Келдыша, 2022. С. 137–154.
29. Городняя Л.В. Работа с данными в учебном языке программирования
СИНХРО // Суперкомпьютерные дни в России: Труды международной конференции. 26–27 сентября 2022 г., Москва / Под. ред. Вл. В. Воеводина. М.: МАКС Пресс, 2022. ISBN 978-5-317-06875-2 е-ISBN 978-5-317-06876-9 https://doi.org/10.29003/m3109.RussianSCDays2022. С. 87–97. https://doi.org/10.29003/m3109.RussianSCDays2022(внешняя ссылка)
30. McCarthy J. LISP 1.5 Programming Mannual. The MIT Press., Cambridge, 1963. 106 p.
31. Хендерсон П. Функциональное программирование. М.: Мир, 1983. 349 с.
32. Городняя Л.В. Гуманитарные факторы программирования /Сиб. Отделение Рос. Акад. наук, Ин-т систем информатики им. А.П. Ершова. Новосибирск: Изд-во СО РАН, 2020. 163 с.
33. Городняя Л.В. Функциональное программирование. Парадигма, модели, методы / Сиб. Отделение Рос. Акад. наук, Ин-т систем информатики им. А.П. Ершова. Новосибирск: Изд-во СО РАН, 2022. 482 с.