Новые возможности «Пиктомира» — параллельно-кооперативное программирование и командные соревнования (Анатолий Кушниренко, OSEDUCONF-2018)
Материал из 0x1.tv
- Докладчик
- Анатолий Кушниренко
Бестекстовая учебная система ПиктоМир позволяет ребенку составить программу управления виртуальным роботом, действующим в некоторой псевдореальной трехмерной обстановке.
В целях поощрения коллективной работы детей в ПиктоМир были добавлены возможности параллельного выполнения двух или более программ, параллельно управляющих двумя или более роботами. Эти параллельно выполняющиеся программы могут составляться командой, каждый член которой, работая на своем планшете, составляет программу управления своим роботом, согласуя свою работу с другими детьми так, чтобы роботы выполнили некую общую задачу.
Содержание
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Thesis
Бестекстовая учебная система ПиктоМир позволяет ребенку составить программу управления виртуальным роботом, действующим в некоторой псевдореальной трехмерной обстановке. В целях поощрения коллективной работы детей в ПиктоМир были добавлены возможности параллельного выполнения двух или более программ, параллельно управляющих двумя или более роботами. Эти параллельно выполняющиеся программы могут составляться командой, каждый член которой, работая на своем планшете, составляет программу управления своим роботом, согласуя свою работу с другими детьми так, чтобы роботы выполнили некую общую задачу.
По причинам, изложенным в статье [1], при обучении алгоритмике и программированию необходимо часть усилий направить на организацию коооперативной, командной работы детей.
Для организации командной работы, в частности, для организации командных соревнований, ПиктоМир предоставляет возможность параллельного выполнения нескольких программ, каждая из которых составляется одним ребенком — «членом команды» и монопольно управляет одним подвижным виртуальным роботом. Все эти виртуальные роботы действуют в единой, глобальной обстановке. Кроме того, в эту глобальную обстановку могут быть включены неподвижные роботы, Флаги и Кувшины (счетчики), которые можно использовать для синхронизации.
ПиктоМир предназначен, в первую очередь, для дошкольников и младших школьников и потому модель параллельного выполнения должна быть максимально проста и должна осваиваться путем рассмотрения нескольких простых примеров, не требуя каких-либо вербальных объяснений. Мы не ставим своей целью обучение параллельному программированию. Для синхронизации действий разных роботов используются наглядные приемы
- выдача роботам «пустой» команды, которую мы называем «подмигнуть» и визуализируем в соответствии с этим названием.
- циклы ожидания (buzy loop), отслеживаюшие перемещения подвижных объектов на поле, например
нц пока <впереди нет ящика> подмигнуть кцнц пока <ящик можно сдвинуть> вперед кц |
— циклы ожидания (byzy loop), отслеживаюшие изменение глобального объекта, например
нц пока <кувшин пуст> подмигнуть кцнц пока <впереди свободно> вперед кцопустошить кувшин |
Однако начинаться знакомство с параллельным выполнением может и должно с простых примеров, вообще не требующих синхронизации.
Рассмотрим простейшую обстановку, в которой действуют два робота "— Тягун и Двигун, которые должны переместить на нужные места "— помеченные крестиками "— 2 ящика. В этой задаче решение очевидно и никакая синхронизация не требуется. Двигун двигает до упора первый ящик и возвращается в исходную позицию, затем двигает до упора второй ящик и снова возвращается в исходную позицию. Тягун же вначале идет в направлении финишной позиции первого ящика, утыкается в него, разворачивается и тянет ящик до упора. После чего проделывает то же со вторым ящиком.
При командной работе два члена команды, два ребенка, составляют две программы для Двигуна и Тягуна независимо, каждый на своем планшете. Программы управления роботами в этом задании оказываются очень похожими. Программу другого члена команды ребенок может посмотреть, но не может изменить. Члены команды сидят рядом и планируют, как вместе выполнить работу. Когда каждый член команды составил свою программу (или ее фрагмент) эти две программы можно запустить параллельно. Для тренировки полезен режим, когда один ребенок попеременно выполняет роли двух членов команды, то есть составляет обе программы, которые выполняются параллельно.
Для создания привлекательных графических эффектов ПиктоМир позволяет клонировать роботов, то есть размещать на поле несколько роботов одного типа, выполняющих одну и ту же программу.
Настоящая работа выполнена по теме 0065-2018-0017 госзадания 2018 года для ФГУ ФНЦ НИИСИ РАН.
1. Бесшапошников Н. О., Реализация параллельно-кооперативного выполнения заданий в учебной системе программирования для дошкольников и младших школьников // Вестник кибернетики — Сургут, 2017, № 4(28), с.хх-хх
Примечания и ссылки
Plays:272 Comments:0