Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt Подготовка методики преподавания темы «Параллельные вычисления» в средней школе М.А. Плаксин Национальный исследовательский университет "Высшая школа экономики"(Пермский филиал) Необходимость в методике преподавания темы «Параллельные вычисления» в сред- ней школе назрела. В статье представлен трехлетний опыт работы автора в этом направлении: методический подход, отбор материала, деловые игры и их апробация на школьниках и взрослых, опыт задач на параллельные вычисления на конкурсе «ТРИЗформашка», классы задач, примеры задач, программные исполнители, тексты для пропедевтического учебника информатики. Ключевые слова: Информатика, параллельное программирование, параллельные вы- числения, параллельные алгоритмы, начальная школа, средняя школа, ТРИЗформаш- ка. 1. Введение Современный этап развития computer science связан с массовым распространением парал- лелизма вычислений на всех уровнях (многоядерные процессоры, многомашинные кластеры, многопроцессорные ЭВМ). Массовое распространение параллельной обработки информации делает актуальным пере- мещение соответствующих понятий в разряд общедоступных и общекультурных. Знакомство с параллельными алгоритмами должно стать частью грамотности так, как это за последнюю чет- верть века произошло с базовыми понятиями теории алгоритмов. Сделать это можно только одним путем – включением соответствующих тем в школьный курс информатики. Значит, нужна методика начального знакомства с параллельным программированием на уровне сред- ней школы. Исторически первая попытка включения тематики параллельных вычислений в школьный курс информатики была сделана еще двадцать лет назад. Двадцать лет назад в курсе под назва- нием «Алгоритмика» [1, 2] был описан исполнитель «Директор строительства», который ко- мандовал параллельными действиями нескольких бригад, строящих сооружение из блоков прямоугольной и треугольной формы. Более того, для этого исполнителя была создана про- граммная реализация. Увы! Эта замечательная методическая разработка в середине 90-х оказа- лась не востребована. Она почти на двадцать лет опередила свое время! Сегодня положение сложилось так, что тематика параллельных вычислений в средней школе в первую очередь оказалась связана с темой суперкомпьютеров. Именно на суперком- пьютерах акцентируют внимание учащихся авторы различных методических разработок [4, 9, 10, 12, 18], даже тогда, когда в этом нет необходимости. Достаточно сказать, что соответству- ющий раздел в журнале «Информатика в школе» носит название «Суперкомпьютерное образо- вание в школе». Такая ситуация имеет как положительные, так и отрицательные стороны. Среди положительных сторон надо назвать: ̶ интерес, который вызывает в обществе, в том числе, в среде учащихся, тема суперком- пьютеров. Этот интерес повторяет на современном уровне интерес, который полвека назад вы- зывали большие машины – суперкомпьютеры своего времени; ̶ организационную поддержку со стороны суперкомпьютерного сообщества. Каждое ле- то на факультете вычислительной математики и кибернетики МГУ проводится Летняя Супер- компьютерная Академия [13]. В рамках этой Академии организуется школьный трек для учи- телей информатики. Обучение проводится бесплатно. Иногородние слушатели обеспечиваются 663 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt жильем на льготных условиях. На конференции Russian Supercomputing Days в сентябре 2015 г. была организована школьная секция и мастер-класс для учителей информатики. После- довательная организационная работа привела к выявлению и формированию группы учителей, заинтересованных в продвижении данной тематики; ̶ наличие яркого харизматичного лидера, каковым является В.В. Воеводин – доктор фи- зико-математических наук, профессор, член-корреспондент РАН, заместитель директора Науч- но-исследовательского вычислительного центра Московского государственного университета; ̶ интерес и поддержку (в том числе, материальную) со стороны российского представи- тельства фирмы Intel и менеджера по стратегическому развитию фирмы Intel И.О. Одинцова. Недостаток «суперкомпьютерного» подхода заключается в зауживании тематики парал- лельных вычислений. Сами суперкомпьютеры школьникам, как правило, недоступны (разве что в крупных городах на них можно поглазеть на экскурсии). Задачи, на решение которых они нацелены, для школьников слишком сложны и, в большинстве случаев, не имеют непосред- ственной практической значимости и не представляют практического интереса. Естественным расширением суперкомпьютерной тематики является изучение параллель- ного программирования. В настоящее время для выполнения параллельных программ совсем не обязательно иметь суперЭВМ. Достаточно многоядерного процессора или видеокарты с набором графических ускорителей. А это доступно уже почти всем. Из работ в этом направле- нии отметим кандидатскую диссертацию М.А. Соколовской по методике обучения будущих учителей информатики основам параллельного программирования [18] и опыт Е.Ю. Киселевой по освоению школьниками технологии CUDA [10]. По мнению автора данной статьи, сосредоточение внимания на спуерЭВМ и параллельном программировании существенно обедняет и усложняет тему параллельных вычислений, отвле- кает учащихся от множества важных и доступных вопросов. Целью темы «параллельные вы- числения» в средней школе является не обучение «реальному» параллельному программирова- нию (изучение соответствующих языковых конструкций, языков программирования и техноло- гий), а ознакомление учащихся с соответствующим набором понятий и понимание особенно- стей параллельной работы. Мир вокруг и внутри нас представляет собой сложную параллель- ную систему. И эта система сама по себе дает массу материала для освоения понятий и меха- низмов параллелизма. Никакие сложные искусственные конструкции типа технологий MPI и OpenMP для этого не нужны. Школьная информатика должна воспитать мышление, настроен- ное на «параллельный лад». Обеспечить профессиональные знания, умения, навыки – дело не школы, а университета. Школе имеет смысл сосредоточиться не на знакомстве с суперкомпью- терами и изучении параллельного программирования, а на понимании механизмов «совместной деятельности», постоянно и широко используемых в жизни. 2. Предложения по содержанию темы «Параллельные вычисления» для средней школы Разработкой методики преподавания темы «Параллельные вычисления» в средней школе автор занимается с 2013 года. Все предлагаемые далее компоненты методики прошли апроба- цию ̶ в процессе преподавания информатики в младших классах лицея №10 г.Перми (автор работает со вторыми, третьими, четвертыми и пятыми классами, от одного до трех классов в параллели); ̶ на конкурсах «ТРИЗформашка» в 2013, 2014 и 2015 гг. («ТРИЗформашка» – межрегио- нальный Интернет-конкурс по информатике, системному анализу и ТРИЗ [6, 7, 8, 17]. Прово- дится ежегодно во второй половине марта. Возраст участников – с I класса до IV курса. Гео- графия – от Владивостока до Риги. Среднее число участников – около 100 команд (300 чел.), максимальное – 202 команды (более 600 чел.). Сайт конкурса www.trizformashka.ru.); ̶ на мероприятиях по повышению квалификации учителей: на Весенней школе по парал- лельному программированию для учителей информатики в Пермском филиале НИУ ВШЭ в марте 2014, на учительском треке Летней суперкомпьютерной академии ВМК МГУ в 2014 г., 664 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt на мастер-классе для учителей в рамках конференции Russian Supercomputing Days в сентябре 2015 г. Материалы были представлены на ряде конференций [5, 7, 8, 11, 15, 16, 17]. В школьном курсе предлагается отразить следующие вопросы: 1. Совместная работа нескольких исполнителей (копание канавы несколькими землекопа- ми) и распараллеливание «внутри» одного исполнителя при наличии нескольких обрабатыва- ющих устройств (читаю и ем яблоко). Среди компьютеров это будут многомашинный ком- плекс и многоядерный процессор. 2. Виды параллелизма: параллелизм истинный и псевдопараллелизм (один процессор вы- полняет частями несколько программ). Псевдопараллельное выполнение процессов на компь- ютере (разделение между исполнителями-процессами одного ресурса – процессора). 3. Исполнители однотипные (землекопы) и разнотипные (экипаж танка). 4. Работы однотипные и разнотипные. 5. Соотношение «исполнители – работы»: 1 исполнитель – 1 работа, 1 исполнитель – N работ (псевдопараллельное выполнение или истинный параллелизм при наличии нескольких обрабатывающих устройств для разных работ), N исполнителей – 1 работа, N исполнителей – N работ. 6. Согласование деятельности исполнителей. Виды согласования: по частям работы, по времени, по результатам деятельности, по ресурсам. 7. Ресурсы. Ресурсы разделяемые и неразделяемые, расходуемые и повторно используе- мые. Утилизация потребленных ресурсов («сборка мусора» в широком смысле). 8. Выполнение одной и той же работы одним исполнителем и группой исполнителей. За- висимость скорости работы от количества исполнителей. Зависимость стоимости работы от количества исполнителей. Нелинейный рост скорости работы при росте количества исполните- лей. Критический путь. Оптимальное количество исполнителей. Оптимальная загрузка испол- нителей. Оптимальный порядок действий. Балансировка нагрузки. 9. Конкуренция исполнителей за ресурсы. Блокировка. Клинч (тупик). 10. Механизмы согласования действий исполнителей (прежде всего, понятие события). 11. Пригодность алгоритмов к распараллеливанию. Возможная степень распараллеливания. Существование алгоритмов, не поддающихся распараллеливанию. Отметим, что приведенный список представляет собой частное мнение автора статьи и от- крыт для обсуждения, дополнения и корректировки. Более того, по мнению автора было бы очень полезно, чтобы «суперкомпьютерное сообщество» сформулировало «социальный заказ» для школы: какие именно знания-умения-навыки оно хочет видеть в выпускниках школы. Чем выпускник школы «суперкомпьютерного мира» должен отличаться от выпускника сегодняш- него? Будет заказ – будет и результат. Свежий пример. В первый день Russian Supercomputing Days-2015 в двух докладах прозвучала мысль, что быстродействие современных суперЭВМ определяется не мощностью процессоров (которая находится в центре внимания публики), а быстродействием оперативной памяти. Именно она становится бутылочным горлышком, про- пускная способность которого определяет продуктивность всей системы. В результате на вто- рой день конференции участники учительского мастер-класса обкатывали придуманную авто- ром данной статьи игру, демонстрирующую взаимодействие центрального процессора, опера- тивной памяти и кэш-памяти. Порядок и форма изложения материала – вопрос открытый. Материал должен быть продемонстрирован на примерах, не связанных с работой ЭВМ. Исполнители должны манипулировать материальными объектами. Как можно большая часть обучения должна носить характер деловых (организационно- деятельностных) игр. Выполнение этих требований упростит понимание изучаемого материала. Это будет по- лезно как при использовании данной методики на уроках информатики в школе (в том числе, начальной!), так и при обучении взрослых: учителей информатики и студентов. Школьник, школьный учитель, студент непрофильной специальности смогут остановиться на уровне озна- комления и понимания. Студент-профессионал должен будет сделать следующий шаг и от зна- 665 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt комства перейти к изучению этих механизмов на профессиональном уровне. Но это уже – шаг за пределы методики начального ознакомления с темой. В настоящее время подготовлены следующие учебные материалы: ̶ тексты про совместную деятельность для учебника информатики, ̶ набор организационно-деятельностных (деловых) игр [16], ̶ перечень типов задач и набор задач указанных типов [7, 8, 15, 17], ̶ программный исполнитель (компьютерная игра) «Танковый экипаж» [11]; ̶ исполнитель (не имеющий программной реализации) «Стройка» [5]. 3. Тексты про совместную деятельность для учебника информатики средней школы В настоящее время для главы «Алгоритмы» в учебнике информатики подготовлены тексты семи параграфов по теме «Совместная деятельность»: 1. Алгоритму нужен Исполнитель. 2. Группа исполнителей. Совместное исполнение. 3. Согласование действий при совместной работе: деление работы на части и согласова- ние по времени. 4. Согласование действий при совместной работе: согласование по результатам и согласо- вание по ресурсам. 5. Пример совместного исполнения: обучение в школе. 6. Три танкиста, три веселых друга – экипаж машины боевой. 7. Команда исполнителей «Стройка». В первом параграфе вводится понятие исполнителя и системы команд исполнителя. Вво- дятся эти понятия в традиционном стиле (на примере исполнителей Летчик и Повар). Во втором параграфе рассматривается совместная деятельность нескольких исполнителей. Рассматриваются две ситуации: ̶ объединение усилий ускоряет работу, которую можно сделать и в одиночку (копание канавы), ̶ без объединения усилий работу выполнить невозможно в принципе (перенос тяжелых камней). Акцентируется внимание на необходимости согласования действий нескольких исполни- телей. В третьем и четвертом параграфах обсуждаются четыре вида согласования: 1) разделение работы на части и назначение для разных частей разных исполнителей; 2) согласование по времени (исполнители действуют либо одновременно, либо разновре- менно в определенном порядке); 3) согласование по результатам (один исполнитель использует результаты работы друго- го); 4) согласование по ресурсам. Вводится понятие ресурса. Рассматриваются примеры раз- деления ресурсов между исполнителями и задержки, связанные с необходимостью ждать, пока ресурс станет доступен. Для освоения материала этих двух параграфов придуманы деловые игры (см. далее). Пятый параграф на хорошо знакомом учащимся примере средней школы демонстрирует тот факт, что мир вокруг нас представляет собой систему совместной деятельности множества исполнителей. Два последних параграфа посвящены описанию двух «параллельных исполнителей»: ком- пьютерной игры «Танковый экипаж» и игры «Стройка». О первой речь пойдет ниже. Вторая родилась под влиянием уже упомянутого исполнителя «Директор строительства» из учебно- методического и программного комплекса «Алгоритмика» [1, 2]. Общее в них то, что в обоих случаях речь идет о строительстве. Но в «Стройке» новые сооружения создаются не из блоков, а из реек, которые могут быть установлены горизонтально, вертикально или наклонно. 666 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt Тексты были опробованы на учащихся четвертых классов и показали свою пригодность. Планируется, что глава про параллелизм (точнее, про совместную деятельность) войдет в учеб- ник новую версию учебника информатики для четвертого класса [14]. Кроме того, задание на виды согласования использовалось в конкурсе «ТРИЗформашка- 2014», а задания на работу с «Танковым экипажем» и «Стройкой» – во всех конкурсах, начиная с 2013 г. Для «Танкового экипажа» (имеющего машинную реализацию) задания всегда имели один и то же вид: построить алгоритм. Для «Стройки» (машинной реализации не имеющего) задания давались четырех видов: 1) исполнить алгоритм; 2) построить алгоритм; 3) найти ошибку в алгоритме; 4) проанализировать алгоритм (оценить связь между количеством бригад и скоростью строительства, минимальное возможное время строительства, максимальное разумное количе- ство бригад и т.п.). 4. Деловые игры по теме «Совместная деятельность» В настоящее время разработан и опробован комплект деловых игр, предназначенных для знакомства со следующим учебным материалом: 1. Необходимость синхронизации деятельности исполнителей. Связь между исполнителя- ми (по частям работы, по времени выполнения, по результатам деятельности; по требуемым ресурсам). 2. Выполнение одной и той же работы одним исполнителем и группой исполнителей. За- висимость скорости выполнения работы от количества исполнителей. Нелинейное возрастание скорости выполнения работы при увеличении количества исполнителей. 3. Критический путь. 4. Оптимальное количество исполнителей. Оптимальная загрузка исполнителей. Опти- мальный порядок действий. 5. Ресурсы. Ресурсы разделяемые и неразделяемые. 6. Конкуренция исполнителей за ресурсы. Блокировка. Клинч (тупик). 7. Псевдопараллельное выполнение процессов на компьютере (разделение между испол- нителями-процессами одного ресурса – процессора). На сегодня комплект состоит из шести игр. Первые четыре обеспечивают изучение темы «Виды согласования при совместной деятельности». Они демонстрируют различные виды со- гласования: 1. Разделение работы на части: «копание канавы». Каждый «землекоп» должен «выко- пать» свои участки «канавы». Канаву с успехом заменяет линия на классной доске. 2. Согласование по времени: поднимание тяжелого предмета (парты). Чтобы его поднять, все поднимающие должны действовать синхронно. 3. Согласование по результату: построение из цветных кубиков «светофора», состоящего из одноцветных полосок, расположенных одна на другой. Каждую полоску складывает один человек. Но участники, складывающие верхние полоски, могут уложить их только после того, как свою работу закончили «складыватели» нижних полосок. 4. Согласование по ресурсам: изготовление сразу несколькими участниками браслетов из бумаги. Для этого требуется разрезать листок бумаги, раскрасить получившиеся полоски и склеить из них браслеты. На всех игроков дается один лист формата А4, одни ножницы. не- сколько фломастеров или карандашей, один скрепкосшиватель или клеящий карандаш. По хо- ду игры обязательно возникают ситуации, когда участники действуют одновременно, и когда одни игроки вынуждены ждать окончания действий других, чтобы получить необходимый ре- сурс. Все четыре игры проводятся на одном уроке при изучении темы «Виды согласования». Следующая игра – постройка замка – нацелена на обсуждение таких понятий, как выпол- нение работы группой исполнителей, зависимость (нелинейная) скорости работы от числа ис- полнителей, критический путь, оптимальное количество исполнителей и их оптимальная за- 667 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt грузка. От нескольких бригад требуется построить из цветных кубиков один и тот же замок, состоящий из основания и стоящих на нем разноцветных башен. Бригады отличаются количе- ством работников (два или три человека) и их специализацией (игрок может брать кубики лю- бого цвета или только одного цвета). Работа ведется дискретно, ходами. На каждом ходе игрок может либо взять кубик со стола, либо установить кубик на стол или ранее построенную часть замка (либо пропустить ход). Перед игрой проводится предварительная теоретическая оценка скорости работы: если одному человеку для строительства замка требуется N ходов, то сколько потребуется бригаде из двух человек? Из трех человек? Оценки эти всегда строятся как линей- ные (два игрока построят вдвое быстрее одного, три игрока – втрое). В ходе игры выясняется, что эти оценки слишком оптимистичны, и скорость строительства никогда не возрастает ли- нейно, всегда медленней. Это приводит к поиску оптимального порядка действий и оптималь- ной загрузки каждого исполнителя. Игра «Постройка замка» требует нескольких повторов процедуры строительства, обсужде- ния результатов, экспериментирования в поисках оптимума. На все это потребуется отдельный урок. Последняя игра – «Переливашка» – используется для демонстрации борьбы за ресурсы и взаимной блокировки процессов, а также может использоваться для демонстрации псевдопа- раллельного выполнения нескольких процессов на одном процессоре. Выглядит игра следую- щим образом. На столе стоят одна или несколько закрытых бутылок с водой (перенумерован- ных или разноцветных), одна или несколько кружек, кастрюля. Бригадам-участникам игры да- ется система команд исполнителя (состоящая из команд типа «подойти к столу», «взять со сто- ла бутылку такого-то цвета», «открутить пробку», «закрутить пробку» и т.д.) и предлагается составить для этого исполнителя алгоритм переливания воды из бутылок в кастрюлю. Напри- мер: подойти к столу, перелить из каждой бутылки в кастрюлю по две кружки воды и вернуть- ся на свое место. Все бригады составляют алгоритмы для решения одной и той же задачи. Ал- горитмы вывешиваются для всеобщего обозрения. После чего игроки из каждой бригады начи- нают их выполнять одновременно. Выполнение идет дискретно (пошагово). Если бригад боль- ше, чем бутылок, в ходе выполнения неминуемо возникают конфликты из-за ресурсов (игрок должен выполнить команду «Взять бутылку со стола» в то время, как бутылка находится в ру- ках у игрока из другой команды) и почти наверняка – взаимные блокировки (один игрок дер- жит открытую бутылку и ждет пробку, а другой в это время держит пробку и ждет бутылку). Во всяком случае, до сих пор блокировки возникали во всех проведенных играх. Для обостре- ния ситуации можно потребовать обязательно ставить бутылку на стол после наполнения кружки. Вероятность возникновения тупика при этом увеличивается, поскольку первый игрок первой команды бутылку на стол поставит, но, скорее всего, не закроет. А игрок второй коман- ды, взяв бутылку со стола, первым делом попытается открутить крышку, которой на бутылке уже не будет. Версии игры отличаются количеством бутылок и кружек, количеством бригад. Стандартно, в «Переливашку» играет три-четыре бригады сначала с одной бутылкой и одной кружкой, а потом с двумя бутылками и двумя кружками. Но никаких ограничений в игре нет. Более того, меняя количество бригад, бутылок и кружек можно исследовать связь количественных харак- теристик системы и вероятность блокировки, выявить узкое место системы. Например, можно сделать количество бутылок больше количества бригад, но оставить только одну кружку. Или наоборот, увеличить количество кружек, но оставить только одну бутылку. Игра может идти в параллельном и псевдопараллельном режимах. В первом случае игроки всех бригад по команде ведущего вместе выполняют каждый свою команду (очередную ко- манду своего алгоритма). Нужно только заранее договориться о неких правилах разрешения конфликтов. Например, если два игрока сразу выполняют команду «взять бутылку», бутылка достается игроку из бригады с меньшим номером. Во втором случае разыгрывается (например, с помощью игрального кубика) продолжительность кванта процессорного времени, выделяе- мого каждому процессу (то есть, каждой бригаде). Бригады в этом случае действуют поочеред- но. Каждая бригада выполняет указанное число команд из своего алгоритма, после чего оче- редь переходит к следующей бригаде. Если представитель бригады не в состоянии выполнить 668 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt очередную команду (например, он должен взять со стола бутылку, но на столе уже нет ни од- ной бутылки), квант данной бригады завершается досрочно. «Переливашку» можно использовать для исследования различных режимов квантования времени (очереди с приоритетами, динамическое сокращение кванта с целью быстрее протолк- нуть короткие процессы и т.п.). Но для начальной школы такие тонкости явно излишни. Описанные выше игры были апробированы: 1) на уроках в третьих и четвертых классах Лицея №10 г.Перми при изучении темы «Сов- местная деятельность»; 2) на мероприятиях по повышению квалификации учителей: на Весенней школе по парал- лельному программированию для учителей информатики в Пермском филиале НИУ ВШЭ в марте 2014, на учительском треке Летней суперкомпьютерной академии ВМК МГУ в 2014 г., на мастер-классе для учителей в рамках конференции Russian Supercomputing Days в сентябре 2015 г. Проведенные уроки показали пригодность игр для учащихся начальной школы. От учите- лей во всех случаях были получены положительные отзывы. 5. Задачи по теме «Совместная деятельность» Главным полигоном для отработки задач по теме «Совместная деятельность» стал конкурс «ТРИЗформашка» [6, 7, 8, 17] (некоторые задачи были также опробованы на уроках в третьем- четвертом классах Лицея №10 г.Перми). Собственно говоря, работа автора над подготовкой методики изучения параллельных вычислений началась в 2013 г. в ходе подготовки конкурса «ТРИЗформшка-2013». Тогда, в 2013 г. цель работы была сформулирована следующим обра- зом: 1. В течение двух-трех лет подготовить описание исполнителей, набор игр и задач, свя- занных с параллельными вычислениями. 2. Предложить их (по частям, ежегодно) участникам конкурса. 3. Проанализировать их реакцию (оценить количество решавших, их возраст, успешность решения, типичные ошибки, обнаруженные неточности в формулировке задач и т.д.). Начиная с 2013 г., конкурс «ТРИЗформашка» имеет подзаголовок «Параллельные вычис- ления» «ТРИЗформашка» оказалась удобным инструментом отладки задач, поскольку позволяла быстро получить реакцию всех возрастов (от I класса до IV курса), из различных регионов, из различных учебных заведений. За прошедшие годы были предложены и опробованы следующие типы задач [15]: 1. Задачи на виды согласования. (Какие виды согласования существуют в школьной сто- ловой?). 2. Игра «Танковый экипаж». Задание на построение параллельного алгоритма. 3. Исполнитель «Стройка» [5]. Одновременно работающие бригады строят сооружение из горизонтальных и вертикальных балок. Задания включают в себя задания на исполнение ука- занного алгоритма, на разработку нового алгоритма, на поиск ошибок в заданном алгоритме, на исследование алгоритмов (сравнение сроков строительства по разным алгоритмам, сравнение стоимости строительства, оценка экономии, которую можно получить за счет перераспределе- ния рабочей силы и др.). 4. Конкуренция за ресурсы. Три поросенка готовят каждый сам себе обед. Для каждого поросенка указано, какие блюда он готовит, какие ресурсы (оборудование, посуда и т.д.) ему для этого нужны и в течение какого времени эти ресурсы должны использоваться. Требуется составить график работы каждого поросенка, если он готовит на кухне один, если они готовят парами, если готовят все трое сразу. Время приготовления пищи должно быть минимизирова- но. 5. Сетевой график. Дан сетевой график. Требуется изобразить (схематически) сооруже- ние, которое будет построено, определить, сколько дней потребуется для строительства при том или ином числе бригад, какая часть работы будет выполнена к определенному времени. 669 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt 6. Ярусно-параллельные формы. Планирование работ по разным критериям. Дано задание на работу, производительность работников, правила оплаты. Требуется определить количество работников, нужных, чтобы выполнить работу в заданное время, определить срок работы при заданном количестве работников, определить количество работников, нужное для минимиза- ции стоимости работ. 7. Диаграммы Ганта. Описан текстом план работ по реконструкции цеха: продолжитель- ность и взаимная последовательность действий, требуемые работники. Требуется определить срок сдачи объекта, изменение срока при тех или иных изменениях в рабочей силе, список ра- ботников, задействованных на конкретную дату. 8. Согласование повторяющихся работ. Пусть дано задание в минимальный срок изгото- вить партию приборов, при условии, что каждый прибор должен пройти обработку на разном оборудовании, имеется разное количество оборудования с разной производительностью. Тре- буется спланировать время начала и работы каждого оборудования, минимизировать простои. Всего получается 10 типов задач (с исполнителями «Танковый экипаж» и «Стройка» связа- ны три типа задач). Количество задач каждого типа зависит от того, когда этот тип задач вошел в «ТРИЗфор- машку» и насколько интенсивно в ней использовался. На сегодня мы имеем: 1. На виды согласования – одну задачу. Задачи такого типа легко сформулировать в виде вопроса: какие виды согласования существуют в деятельности такого-то вида? 2. Для «Танкового экипажа» имеются два задания на построение алгоритма. 3. Для игры «Стройка» есть три задания на исполнение алгоритма, одно задание на по- строение алгоритма, одно – на поиск ошибки в алгоритме, одно – на исследование алгоритма. 4. На конкуренцию за ресурсы – одну задачу (про приготовление обеда тремя поросята- ми). 5. На сетевой график – две задачи. 6. На ярусно-параллельные формы – две задачи. 7. На диаграммы Ганта – две задачи. 8. На согласование повторяющихся работ – одну задачу. Таким образом, всего в комплекте сейчас 17 задач десяти типов. Очередное приращение набора задач ожидается в марте 2016 г. после завершения конкурса «ТРИЗформашка-2016». 6. Компьютерная игра «Танковый экипаж» Рассмотрим более подробно уже упоминавшуюся компьютерную обучающую программу «Танковый экипаж» [11]. В этой программе от учащегося требуется запрограммировать дей- ствия экипажа танка, состоящего из трех человек: наводчика, водителя и заряжающего. Каж- дый из них имеет свою систему команд. Для того, чтобы выполнить боевую задачу (поразить все цели), все члены экипажа должны действовать согласованно. Пример игрового поля программы «Танковый экипаж» см. на рис.1 (на рисунке обозначе- ны трассы произведенных танком выстрелов), пример параллельного алгоритма, описывающе- го действия экипажа, – на рис.2. Игра идет по ходам, в шаговом режиме. Для игры дана карта местности, на которую нанесены препятствия и цели. Карта представ- ляет собой прямоугольную сетку. Танк передвигается из одной клетки в другую. Препятствия бывают двух видов: скалы и болота (через болото нельзя проехать, но можно выстрелить). Скорость движения танка – одна клетка за ход (сторона квадрата или диагональ). Направление движения танка и направление орудия меняются с шагом в 45. Т.е. танк идет и наводит орудие либо вдоль стороны квадрата, либо по диагонали. На перезарядку орудия требуется два хода. 670 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt Рис.1. Фрагмент игрового поля программы «Танковый экипаж». Рис.2. Фрагмент программы для «Танкового экипажа» (пример линеек команд). 7. Теоретические вопросы, нуждающиеся в ответах Подготовка методических материалов по теме «Параллельные вычисления» выявила ряд теоретических проблем, которые необходимо разрешить в ближайшее время. Рассмотрим не- которые из них. Современная теория алгоритмов создавалась в расчете на понятие последовательного ал- горитма. Каким образом отразится на понятии алгоритма отказ от требования последователь- ности выполнения шагов? По крайней мере, последние 20 лет понятие «алгоритм» вводилось в неразрывной связке с понятием «исполнитель». Для последовательного алгоритма это естественно. Как быть с алго- ритмом параллельным? Его выполняет один исполнитель или группа исполнителей? В качестве примера рассмотрим уже упомянутую компьютерную обучающую программу «Танковый эки- паж» [11]. От учащегося требуется запрограммировать действия экипажа танка, состоящего из наводчика, водителя и заряжающего. Каждый из них имеет свою систему команд. Чтобы вы- полнить задачу (поразить все цели), все члены экипажа должны действовать согласованно. Вопрос: надо ли рассматривать этих трех действующих лиц как независимых исполните- лей или как три составные части (устройства) одного сложного исполнителя? Для экипажа тан- 671 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt ка более естественным представляется второй вариант, поскольку ни один персонаж сам по себе выполнить задание не в состоянии. Но как быть, если игра будет усложнена, и боевая за- дача будет поставлена сразу для двух танков? Для трех танков? Трех членов одного экипажа вполне можно рассматривать как три части одного исполнителя. Но каждый экипаж, очевидно, является самостоятельным исполнителем. Значит, параллельный алгоритм для нескольких тан- ков будет выполняться сразу группой исполнителей. Получается, что для параллельного алго- ритма рассматривать надо обе возможности: выполнение параллельных действий одним ис- полнителем и группой исполнителей. В случае танкового экипажа границу провести просто. Исполнитель – это тот, кто в состоянии решить поставленную задачу. Этот исполнитель может состоять из нескольких компонент, каждая из которых выполняет некую часть задания, но не может самостоятельно без помощи других компонент выполнить задание целиком. Но всегда ли разделение «целых исполнителей» и частей сложного исполнителя будет также просто? Выделение частей исполнителя, способных к самостоятельным действиям, требует как-то эти части назвать. Причем название должно допускать рекурсию, поскольку действующие ча- сти исполнителя сами могут иметь сложную структуру. Нужно договориться о термине для обозначения группы совместно действующих исполни- телей. Термин «команда» не годится, ассоциируется с «системой команд исполнителя» и с «ко- мандами центрального процессора». «Коллектив исполнителей»? «Бригада исполнителей»? «Группа исполнителей»? Термин «группа» хорош, тем, что допускает рекурсивное применение (группа может состоять из групп меньшего размера). Но сомнение вызывает перегруженность и обыденность слова «группа». Лучше было бы более специфическое обозначение. Требует доработки традиционное понятие «системы команд исполнителя» (СКИ) и само понятие команды. Если мы считаем, что три члена танкового экипажа образуют единого ис- полнителя, то что считать СКИ этого исполнителя? И что считать командой? Или оставить по- нятие СКИ для каждого персонажа? То есть это уже не система команд ИСПОЛНИТЕЛЯ, а система команд одной из компонент исполнителя (для которой еще нет названия)? Понятие команды удобно расширить до «линейки команд». Пример линеек команд танко- вого экипажа см. на рис.2. Однако понятие «линейки команд» хорошо работает только для ли- нейных алгоритмов. В остальных случаях линейки формируются динамически. Изобразить их в виде наглядной таблицы невозможно. Среди свойств алгоритмов выделяется новая значимая характеристика: способность к рас- параллеливанию. Уточняющий вопрос – о возможной степени распараллеливания. Отдельная тема – методы распараллеливания уже существующих последовательных алгоритмов. Тридцать лет назад начинающаяся массовая компьютеризация производства потребовала увеличения уровня компьютерной грамотности населения. Это привело к введению в школь- ную программу в 1985 г. курса информатики. Но курс информатики в советском (затем в рос- сийском) исполнении не сводился к «кнопочной информатике» – к освоению технологии рабо- ты с пакетами прикладными программ и компьютерными играми. Он начал изменять стиль мышления подрастающего поколения. В первую очередь это касалось алгоритмичности, точ- ности, строгости. Затем курс информатики вобрал в себя элементы логики и системного анали- за. Впоследствии все это значительно упростило распространение так необходимого в XXI в. проектного подхода. Сейчас речь идет о том, что в течение следующего десятилетия парал- лельные алгоритмы должны стать элементом общей культуры мышления. Вопрос: каким обра- зом скажется на мышлении следующего поколения освоение понятия параллельного алгорит- ма, к чему приведет перестройка сознания «на параллельный лад»? До недавнего времени параллельное программирование было уделом небольшого числа высоко квалифицированных системных программистов. Сегодня оно становится частью про- фессиональной компетенции. Но технология параллельного программирования существенно отличается от традиционного последовательного. В подтверждение этого утверждения вслед за Л.Л. Босовой [2] процитируем крупнейшего российского специалиста в области параллельных вычислений В.В. Воеводина [3, стр.150, 155]: «… Освоение вычислительной техники параллельной архитектуры … молодыми специа- листами идет с большими трудностями. На наш взгляд, это связано с тем, что знакомство с па- раллельными вычислениями … начинается не с того, с чего надо бы начинать.» 672 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt «Важно лишь, чтобы обучающийся как можно раньше узнал, что существуют другие спо- собы организации вычислительных процессов, а не только последовательное выполнение «операция за операцией» ... Важно, в первую очередь, для того, чтобы как можно раньше обра- тить внимание обучающихся на необходимость критического отношения к философии после- довательных вычислений. … И именно эта философия мешает пониманию особенностей рабо- ты на вычислительной технике параллельной архитектуры.» Сегодня нам нужны методики для массового обучения технологии параллельного про- граммирования. Автор данной статьи считает, что в процессе обучения настало время для пе- реворота в отношениях последовательного и параллельного программирования. До сих пор мы сначала учили последовательному программированию, а потом – распараллеливанию последо- вательных алгоритмов. Сейчас надо сразу учить параллельному программированию. А после- довательный алгоритм рассматривать как частный случай параллельного. Как это делать – во- прос открытый. По этому поводу есть ряд предложений, которые нуждаются в проверке. 8. Заключение На сегодня в подготовке методики преподавания темы «Параллельные вычисления» в средней школе имеем в наличии следующие результаты: 1. Сформулирован подход к изучению темы «параллельные вычисления»: идти не от про- блем computer science, а «от жизни», делать акцент на «совместной деятельности». 2. Сформулирован перечень вопросов, которые предлагается отразить в начальном курсе параллельных вычислений. 3. Сформулированы некоторые классы задач. На основании накопленного опыта можно оценить, какого рода задачи стоит придумывать. 4. Подготовлен набор задач названных классов. Задачи прошли апробацию в конкурсах «ТРИЗформашка» за 2013, 2014, 2015 гг. и/или в начальной школе. 5. Подготовлен набор деловых игр. Игры прошли апробацию в начальной школе и на ряде мероприятий для учителей, включая Летнюю Суперкомпьютерной Академии ВМК МГУ, Rus- sian Supercomputing Days-2015, ряд других конференций. 6. Подготовлен набор текстов про параллелизм для учебника IV класса. Тексты прошли апробацию в лицее №10 г.Перми. 7. Подготовлена компьютерная игра «Танковый экипаж». Игра прошла апробацию в кон- курсах «ТРИЗформашка» 2014 и 2015. 8. Конкурс «ТРИЗформашка» оправдал себя в качестве апробационной площадки. 9. Сформулирована задача «провести рокировку» в процессе обучения алгоритмизации: учить сразу параллельному программированию, представляя последовательный алгоритм ча- стью параллельного. Есть мысли о том, как можно реализовать эту идею. Есть возможность опробовать эти идея в течение текущего учебного года (на учащихся 4-х – 5-х классов). Работу в данном направлении имеет смысл продолжать. Литература 1. Алгоритмика: 5-7 классы: Учебник и задачник для общеобразоват. учебных заведений /А.К. Звонкин, А.Г. Кулаков, С.К. Ландо, А.Л. Семенов, А.Х. Шень. – М.: Дрофа, 1996. 2. Босова Л.Л. Параллельные алгоритмы в начальной и основной школе. //Информатика в школе. 2015, №2. С.24-27. 3. Воеводин В.В. Вычислительная математика и структура алгоритмов: 10 лекций о том, поче- му трудно решать задачи на вычислительных системах параллельной архитектуры и что надо знать дополнительно, чтобы успешно преодолевать эти трудности: учебник. М.: Изд-во МГУ, 2010. 4. Гаврилова И.В. Первое путешествие в «параллельный мир». //Информатика в школе. 2015, №6. С.16-19. 673 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt 5. Дитер М.Л., Плаксин М.А. Параллельные вычисления в школьной информатике. Игра «Стройка». //Информатика в школе: прошлое, настоящее и будущее.: материалы Всеросс. науч.-метод. конф. по вопросам применения ИКТ в образовании, 6-7 февраля 2014 г. /Перм. гос. нац. иссл. ун-т. – Пермь, 2014. – С.258-261. 6. Иванова Н.Г., Плаксин М.А., Русакова О.Л. ТРИЗформашка. //Информатика. N05 (606), 1- 15.03.2010. С.3-19. 7. Иванова Н.Г., Плаксин М.А., Русакова О.Л. Задачи на параллельное программирование в конкурсе «ТРИЗформашка-2013». //Информационные технологии в образовании. XXIII Международная конференция-выставка: Сборник трудов. Ч.II. – М.: Издательский отдел фа- культета ВМК МГУ им.М.В.Ломоносова, 2013. С.9-10. 8. Иванова Н.Г., Плаксин М.А., Русакова О.Л. Конкурс «ТРИЗформашка» как площадка для апробации заданий на параллельное программирование. //Информатика в школе: прошлое, настоящее и будущее.: материалы Всеросс. науч.-метод. конф. по вопросам применения ИКТ в образовании, 6-7 февраля 2014 г. /Перм. гос. нац. иссл. ун-т. – Пермь, 2014. – С.233- 236. 9. Киселева Е.Ю. Реконструкция параллельной модели вычислений на примере задачи сумми- рования чисел. // Информатика в школе. 2013, №10. 10. Киселева Е.Ю. Потенциал суперкомпьютерной тематики в проектно-исследовательской дея- тельности учащихся. // Информатика в школе. 2015, №2. С.20-23 11. Кучев А.Д., Плаксин М.А. Параллельные вычисления в школьной информатике. Игра «Тан- ковый экипаж». //Информатика в школе: прошлое, настоящее и будущее.: материалы Все- росс. науч.-метод. конф. по вопросам применения ИКТ в образовании, 6-7 февраля 2014 г. /Перм. гос. нац. иссл. ун-т. Пермь, 2014. С.241-243. 12. Логинов А.В. Исторические предпосылки и перспективы суперкомпьютерного образования в школьном курсе информатики. //Информатика в школе. 2015, №2. С.17-19. 13. Материалы Летней Суперкомпьютерной Академии. http://academy.hpc-russia.ru/. [Элек- тронный ресурс] Проверено 10.10.2015. 14. Плаксин М.А. Информатика: учебник для 4 класса: в 2 ч. /М.А.Плаксин, Н.Г.Иванова, О.Л.Русакова. – М.: БИНОМ. Лаборатория знаний, 2012. 15. Плаксин М.А. О методике начального знакомства с параллельными вычислениями в сред- ней школе. //Информатика в школе: прошлое, настоящее и будущее: материалы Всеросс. науч.-метод. конф. по вопросам применения ИКТ в образовании, 6-7 февраля 2014 г. /Перм. гос. нац. иссл. ун-т. Пермь, 2014. С.256-258. 16. Плаксин М.А. Комплекс деловых игр для знакомства с параллельными вычислениями в начальной школе. //Преподавание информационных технологий в Российской Федерации: материалы Тринадцатой открытой Всероссийской конференции «ИТ-Образование-2015» (г.Пермь, 14-15 мая 2015 г.). Пермский государственный национальный исследовательский университет, – Пермь, 2015. С.60-62. 17. Плаксин М.А., Иванова Н.Г., Русакова О.Л. Набор заданий для знакомства с параллельными вычислениями в конкурсе «ТРИЗформашка». //Преподавание информационных технологий в Российской Федерации: материалы Тринадцатой открытой Всероссийской конференции «ИТ-Образование-2015» (г.Пермь, 14-15 мая 2015 г.). Пермский государственный нацио- нальный исследовательский университет, – Пермь, 2015. С. 232-234. 18. Соколовская М.А. Методическая система обучения основам параллельного программирова- ния будущих учителей информатики: Диссертация на соискание ученой степени кандидата педагогических наук: 13.00.02 / Красноярский государственный педагогический универси- тет. Красноярск, 2012.157 л. 674 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt Preparation of methodics of teaching topics "Parallel Computing" in secondary school M.A. Plaksin National Research University Higher School of Economics (Perm branch) Now we have the need for methodics of teaching the topic "parallel computing" in second- ary school. The paper presents a three-year experience of the author in this field: a methodi- cal approach, the selection of materials, the business games, experience of tasks on parallel computing at the contest "TRIZformashka", classes of tasks, examples of tasks, program executors, texts for propaedeutic textbook on informatics. Keywords: Informatics, parallel programming, parallel computing, parallel algorithms, ele- mentary school, secondary school, TRIZformashka. References 1. Zvonkin A.K., Kulakov A.G., Lando S.K., Semenov A.L., Shen A.K. Algoritmika: 5-7 klassy: Uchebnik i zadachnik dlya obshcheobrazovatel'nykh uchebnykh zavedeniy [Algorithms: 5-7 clas- ses: the textbook and book of problems for schools] – M .: Drofa, 1996. 2. Bosova L.L. Parallel'nye algoritmy v nachal'noy i osnovnoy shkole [Parallel algorithms in primary and basic schools]. //Informatika v shkole [Informatics in school]. 2015, №2. P.24-27. 3. Voevodin V.V. Vychislitel'naya matematika i struktura algoritmov: 10 lektsiy o tom, pochemu trudno reshat' zadachi na vychislitel'nykh sistemakh parallel'noy arkhitektury i chto nado znat' dopolnitel'no, chtoby uspeshno preodolevat' eti trudnosti: uchebnik [Computational Mathematics and structure algorithms: 10 lectures on why it is difficult to solve problems on parallel computing systems architecture and that it is necessary to know further. to successfully overcome these diffi- culties: the textbook]. M.: MGU, 2010. 4. Gavrilova I.V. Pervoe puteshestvie v «parallel'nyy mir». [The first trip in the "parallel world"]. //Informatika v shkole [Informatics in school]. 2015, №6. P.16-19. 5. Diter M.L., Plaksin M.A. Parallel'nye vychisleniya v shkol'noy informatike. Igra «Stroyka» [Paral- lel computing in the school informatics. The game "Construction of a building "]. //Informatika v shkole: proshloe, nastoyashchee i budushchee.: materialy Vseross. nauch.-metod. konf. po vo- prosam primeneniya IKT v obrazovanii, 6-7 fevralya 2014 g. /Perm. gos. nats. issl. un-t. [Infor- matics in School: Past, Present and Future .: Proceedings of All-Russian scientific-method. Conf. on the application of ICT in education, 6-7 February 2014 / Perm. state. nat. Inst. Univ.] – Perm', 2014. .– P.258-261. 6. Ivanova N.G., Plaksin M.A., Rusakova O.L. TRIZformashka [The contest TRIZformashka] //Informatika [Informatics] N05 (606), 1-15.03.2010. P.3-19. 7. Ivanova N.G., Plaksin M.A., Rusakova O.L. Zadachi na parallel'noe programmirovanie v konkurse «TRIZformashka-2013» [Tasks for parallel programming in the contest "TRIZformashka 2013"] //Informatsionnye tekhnologii v obrazovanii. XXIII Me-zhdunarodnaya konferentsiya-vystavka: Sbornik trudov. Ch.II. [Information Technologies in Education. XXIII International Conference and Exhibition: Proceedings. Part.II] – - M .: Publishing Department of the Faculty of Computa- tional Mathematics and Cybernetics, Moscow State University, 2013. P.9-10. 8. Ivanova N.G., Plaksin M.A., Rusakova O.L. Konkurs «TRIZformashka» kak ploshchadka dlya ap- robatsii zadaniy na parallel'noe programmirovanie [The contest "TRIZformashka" as a platform for 675 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt testing tasks on parallel programming]. //Informatika v shkole: proshloe, nastoyashchee i budush- chee.: materialy Vseross. nauch.-metod. konf. po voprosam primeneniya IKT v obrazovanii, 6-7 fevralya 2014 g. /Perm. gos. nats. issl. un-t.[ Informatics in School: Past, Present and Future .: Proceedings of All-Russian scientific-method. Conf. on the application of ICT in education, 6-7 February 2014 / Perm. state. nat. Inst. Univ.] – Perm', 2014. – P.233-236. 9. Kiseleva E.Yu. Rekonstruktsiya parallel'noy modeli vychisleniy na primere zadachi summi- rovaniya chisel [Reconstruction of parallel computing model on the example of the problem of summation of numbers]. //Informatika v shkole [Informatics in school]. 2013, №10. 10. Kiseleva E.Ju. Potencial superkomp'juternoj tematiki v proektno-issledovatel'skoj dejatel'nosti uchashhihsja [The potential of a super computer topics in design and research activity of students]. //Informatika v shkole [Informatics in school]. 2015, №2. P.20-23. 11.Kuchev A.D., Plaksin M.A. Parallel'nye vychislenija v shkol'noj informatike. Igra «Tankovyj jekipazh» [Parallel computing in the school informatics. The game "Tank crew"]. //Informatika v shkole: proshloe, nastojashhee i budushhee.: materialy Vseross. nauch.-metod. konf. po voprosam primenenija IKT v obrazovanii, 6-7 fevralja 2014 g. /Perm. gos. nac. issl. un-t. [Informatics in School: Past, Present and Future .: Proceedings of All-Russian scientific-method. Conf. on the application of ICT in education, 6-7 February 2014 / Perm. state. nat. Inst. Univ.] – Perm', 2014. – P.241-243. 12. Loginov A.V. Istoricheskie predposylki i perspektivy superkomp'juternogo obrazovanija v shkol'nom kurse informatiki [Historical background and prospects of supercomputer education in school course of informatics]. //Informatika v shkole [Informatics in school]. 2015, №2. P.17-19. 13. Materialy Letnej Superkomp'juternoj Akademii [Proceedings of the Summer Supercomputer Academy]. http://academy.hpc-russia.ru/. [Electronic resource] Checked 10.10.2015. 14. Plaksin M.A. Informatika: uchebnik dlja 4 klassa: v 2 ch. [Informatics: the textbook for grade 4: 2 parts]. /M.A.Plaksin, N.G.Ivanova, O.L.Rusakova. – M.: BINOM. Laboratorija znanij, 2012. 15. Plaksin M.A. O metodike nachal'nogo znakomstva s parallel'nymi vychislenijami v srednej shkole [A methodics of initial acquaintance with parallel computing in secondary school]. //Informatika v shkole: proshloe, nastojashhee i budushhee.: materialy Vseross. nauch.-metod. konf. po voprosam primenenija IKT v obrazovanii, 6-7 fevralja 2014 g. /Perm. gos. nac. issl. un-t. [Informatics in School: Past, Present and Future .: Proceedings of All-Russian scientific- method. Conf. on the ap- plication of ICT in education, 6-7 February 2014 / Perm. state. nat. Inst. Univ.] – Perm', 2014. – P.256-258. 16. Plaksin M.A. Kompleks delovyh igr dlja znakomstva s parallel'nymi vychislenijami v nachal'noj shkole [Complex of business games to explore the parallel computing in elementary school]. //Prepodavanie informacionnyh tehnologij v Rossijskoj Federacii: materialy Trinadcatoj otkrytoj Vserossijskoj konferencii «IT-Obrazovanie-2015» (g.Perm', 14-15 maja 2015 g.). Permskij gosu- darstvennyj nacional'nyj issledovatel'skij universitet [The teaching of information technology in the Russian Federation: the Proceedings of open Thirteenth All-Russian Conference "IT- Education-2015" (Perm, 14-15 May 2015). Perm State National Research University], – Perm', 2015. P.60-62. 17. Plaksin M.A., Ivanova N.G., Rusakova O.L. Nabor zadanij dlja znakomstva s parallel'-nymi vychislenijami v konkurse «TRIZformashka» [Set of tasks to explore the parallel computing in the contest "TRIZformashka"]. //Prepodavanie informacionnyh tehnologij v Rossijskoj Federacii: ma- terialy Trinadcatoj otkrytoj Vserossijskoj konferencii «IT-Obrazovanie-2015» (g.Perm', 14-15 ma- ja 2015 g.). Permskij gosudarstvennyj nacional'nyj issledovatel'skij universitet [The teaching of in- formation technology in the Russian Federation: the Proceedings of open Thirteenth All-Russian Conference "IT-Education-2015" (Perm, 14-15 May 2015). Perm State National Research Univer- sity], – Perm', 2015. P. 232-234. 676 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt 18. Sokolovskaja M.A. Metodicheskaja sistema obuchenija osnovam parallel'nogo programmirovanija budushchikh uchitelej informatiki [Methodical system of teaching the basics of parallel program- ming future teachers of computer science]: Dissertatsija na soiskanie uchenoj stepeni kandidata pedagogicheskikh nauk: 13.00.02 / Krasnojarskij gosudarstvennyj pedagogicheskij universitet. Krasnojarsk, 2012. 157 l. 677