Исполнители Звенигородского: эпоха от «Агатов» 1980-х до современности

Введение

В середине семидесятых годов, в условиях недостаточной технической поддержки, безмашинный вариант преподавания основ программирования на базе языка Робик [1], созданного Геннадием Анатольевичем Звенигородским для начального обучения, послужил мощным средством для вовлечения младших школьников в мир компьютеров. Робик как методологическая основа, способствовал быстрому осваиванию детьми информационных технологий и позволял в ненавязчивом стиле игры привить навыки алгоритмического мышления.

Исполнители Звенигородского

Прием опережающего обучения программированию на базе исполнителей хорошо зарекомендовал себя. Учитывая появление новых технологий и областей их применения, необходимо ориентировать преподавателей информатики на раннее ознакомление с этими технологиями учащихся начальной школы. Такой подход позволяет не только развить навыки алгоритмического мышления, но и научить поиску красивого решения поставленной задачи, опирающегося как на готовые алгоритмы, так и на собственные изыскания, сформировать привычку аккуратной и систематической работы. Использование исполнителей для обучения программированию позволяет на интуитивном уровне заложить основополагающие навыки и обеспечить более качественную подготовку специалистов в области информатики и вычислительной техники.

В середине 90-х годов еще только начинали говорить о широком распространении компьютерных сетей, телекоммуникаций, банковских систем, автоматизации торговой деятельности. На сегодняшний день глубокого понимания природы асинхронных процессов и вытекающих из нее механизмов корректной работы [2] должны добиться не только специалисты, разрабатывающие программное обеспечение, но и пользователи программных средств. Учитывая заложенные в Робике точки роста, а именно возможность писать программы для семейства исполнителей, предложено было [3] взять за основу для развития на интуитивном уровне понимания параллельного решения задач на компьютере общеизвестные процессы и явления, связанные с коллективным поведением, ориентация в которых не вызывала бы особых трудностей.

Робик позволяет каждому ученику придумать и реализовать свой алгоритм поведения исполнителей. Ребенок моделирует работу Дежурика, Муравья, Машиниста в соответствии со своим типом мышления, складом характера.

Базовый язык Робика включает в себя объекты типа числа, текст, функции и операции цикл, ввод, вывод, условие, вкл и выкл исполнителя. Хотя в каждый момент времени включен один, учащиеся знают о существовании многих исполнителей. Этот факт позволил естественно обосновать переход к выполнению программы коллективом исполнителей. Одновременное введение нескольких однотипных или разных исполнителей позволяет решить новые типы задач, моделировать обстановку, в которой работают исполнители, помимо существующих понятий освоить принципы параллельного программирования; ознакомиться с технологиями клиент-сервер.

Для решения поставленных задач можно рассматривать расширение возможностей имеющихся исполнителей Г.А. Звенигородского, а можно создавать новых исполнителей, взяв героев из известных всем детям сказок или придумать собственных забавных (или не очень) персонажей.

Тематически близкие работы

В направлении создания программ, идеологически близких в Робику, работали многие группы авторов. Широко известны Кушниренко А.Г. и Лебедев Г.В. с группой разработчиков. Работая по концепции алгоритмического языка А.П. Ершова, трудились над созданием системы КуМир (в базовой части были реализованы исполнители Чертежник и Робот).

Широкий класс исполнителей был разработан группой, занимающейся Роботландией. В Новосибирске Ю.А. Первин работал под руководством А.П. Ершова. Здесь он познакомился с А. Дувановым. Активно увлеченный как программированием, так и созданием обучающих программ для школьникоа, А.А. Дуванов начал разработки Роботландии и продолжил эту работу в Переславле-Залесском.

Роботландия давно нашла признание. В состав пакета для обучения школьников входит
Оболочка пакета. Используется в качестве графической оболочки для запуска остальных программ.

Исполнители Звенигородского

Исполнители

Погружение в мир исполнителей Роботландии начинается с программы Квадратик, в которой предстоит исследование среды и системы команд исполнителя. Затем решаются содержательные задачи в средах Машиниста, Автомата и Плюсика. С последним исполнителем связано много интересных вычислений на стеке.

 

Черные ящики

Любимая многими учителями старой закалки тема. Дети активно используют игру не только на уроках, но и в свободное время.

Программирование
Исполнители Звенигородского

Кукарача – едва ли не первый исполнитель Роботландии. Это модификация Муравья Звенигородского. Клетчатая среда исполнителя и простейшая система команд (ВВЕРХ, ВНИЗ, ВПРАВО, ВЛЕВО) позволяют очень наглядно увидеть результат работы программ. Знакомство с основами алгоритмическими структурами (процедура, ветвление, цикл) происходит на базе простого языка программирования. Хотя в языке нет даже переменных, можно при желании, программировать очень сложные задачи.

В основном в данном пакете рассматриваются графические исполнители и тренажеры. В базовой части происходит использование единичных исполнителей, что отсекает класс задач по параллелизму.

В Новосибирске работа с исполнителями традиционно ведется по сей день. В школах используются пакеты программ, написанные не только современными программистами, но и модификации пакетов прикладных программ, разработанных в конце прошлого – начале этого века. Как правило, такого рода программы могут быть написаны студентами в качестве дипломной работы. Например, под руководством Т.И. Тихоновой, разработан пакет исполнителей «Три поросенка», в котором поддержано осваивание синхронных и асинхронных процессов с возникновением помех. Студентами трех поколений под руководством Л.В.Городней разработаны исполнители языка Робик «муравьи», с помощью которых охватывается класс задач, направленных на изучение понятия "параллельного программирования". Работа доросла до использования заложенных в исполнителе возможностей расширения ее до приложения клиент-сервер, а система команд, будучи общей для всех включенных Муравьев, дополнилась двумя командами. Муравьи могут выполнять предписания вперед, назад, вправо, влево, захватить, отпустить. Работа исполнителей Муравьев может происходить в режиме имитации однопроцессорной и многопроцессорной машин. Число процессоров сопоставлено с числом вводимых в реализацию задачи исполнителей. В первом случае за один такт работы виртуального процессора системы происходит выполнение текущего элементарного предписания одного включенного на данный момент исполнителя. Во втором случае происходит выполнение предписаний всех включенных исполнителей, если взаимодействие параллельно выполняющихся предписаний разных исполнителей окажется корректным.

Исполнители Звенигородского
Исполнители Звенигородского

Исполнители Робика—Дежурики являются предшественниками Муравьев. Они представляют другой класс задач, на котором объясняются более ранние понятия программирования. Модификация современной версии Дежуриков была разработана Л. Ефимовой.

Каждый из дежурных имеет свою систему предписаний, для наглядности вводятся мальчик и девочка, это упрощает распределение обязанностей дежурных. Есть обязанности, которые дежурные могут выполнить только вместе, например, поправить парту. Могут найтись предписания, которые не будут использованы в процессе исполнения.

Последовательность выполнения предписаний (команд) может зависеть друг от друга и быть независимой.

Заключение

Разработка программного обеспечения уже не является привилегированным занятием небольшого количества подготовленных специалистов. На сегодняшний день уже в школьном возрасте можно выделить немногочисленную, но с горячим энтузиазмом использующую свои собственные программы группу детей, которым нравится управлять работой компьютера. Им, как предполагаемым специалистам в области программирования, особенно необходимо понимание сути работы с машиной.

Разработка и создание многочисленных исполнителей возможны силами старшеклассников по предложенным проектам учителей. Такого рода работа регулярно осуществляется на Летних школах юных программистов. Исполнители берут начало от методики Звенигородского и формируют современный подход к программированию, так как направлены на реализацию приложений для телефонов, планшетов и т.п. Но такого рода механизм подходит лишь для экспериментальной обкатки методики преподавания. Разработка качественного учебного программного обеспечения должно соответствовать общетехническим и психолого-педагогическим требованиям, осуществляться под контролем комиссии по приемке качественного ПО, приемлемого для использования в широком обучении школьников.

Потребность во все более мощных компьютерах определяется запросами коммерческих приложений и интенсивных по вычислениям научных и технических приложений требуют разработки методов параллельной обработки информации многопроцессорных вычислительных средств.

Для адекватного восприятия современного технического потенциала необходимо начинать подготовку специалистов именно в раннем школьном возрасте, чтобы опередить формирование навыков приведения процессов к последовательным программам. Эту задачу можно успешно решить, используя методику создания игровой среды обучения, в которой взаимодействуют различные исполнители, решающие одну общую задачу.

Задумка группы авторов, придумавшей исполнителей в качестве альтернативы для широкого охвата привлеченных к новой дисциплине – программированию, оказалось выверенной, обкатанной десятилетиями, дополняемой методикой. Многочисленные последователи опираются на метод обучения в среде исполнителей не только в младшем школьном возрасте, но и в более старших возрастных группах. Исполнители являются важной составляющей нынешнего ЕГЭ, входят во многих регионах в «олимпийскую» подборку заданий школьных олимпиад.

В отличие от обстановки 70-80 годов уже прошедшего столетия, в нашем насыщенном техникой мире общество испытывает необходимость в большом количестве специалистов, являющимися активными пользователями. Этой цели способствует обучение информатике с включением различных исполнителей в качестве формирования аппаратного мышления. Большинство людей, использующих в работе компьютер, не пишет собственных программ, но разумное применение программного обеспечения, ориентированного на помощь в различных сферах человеческой деятельности, должно быть сформировано как важная составляющая культуры взаимодействия в мире компьютеров.

Литература:

  1. Звенигородский Г.А. Первые уроки программирования. М.: Наука, 1985.
  2. Olszewski J. CSP Laborotory // The Papers of the 24-th SIGCSE Techn. Sympos/ on Computer Scu Education, Indianapolis, Indiana, Feb/ 18 ѕ 19, 1993. ѕ Indianapolis, 1994.
  3. Городняя Л.В., Тихонова Т.И. // Программные системы. Новосибирск: Ин-т систем информатики СО РАН, 1995. С. 37-45.

Об авторе: Институт систем информатики им. А.П. Ершова СО РАН, Новосибирск
Материалы международной конференции Sorucom 2017
Помещена в музей с разрешения автора 17 января 2019