Конспект урока информатики в 9 классе «Параллельные алгоритмы»
Конспект урока «Параллельные алгоритмы»
Приложения:
- Презентация к уроку (для интерактивной доски) /data/edu/files/w1453376966.notebook
- Файл для работы на ПК (для учеников)/data/edu/files/m1453377069.docx
Класс: 9
Предмет, тема урока: Информатика, Параллельные алгоритмы.
Образовательная область: Информатика.
Этап обучения по данной теме: начальный.
Цель: обогащение понятийного аппарата по теме «Алгоритмика», развитие коммуникативных навыков учащихся.
Задачи:
- систематизировать знания учащихся по темам «Алгоритм и исполнитель» и «Принципы работы процессора»;
- раскрыть актуальность параллельных вычислений;
- познакомить с понятиями «параллельный алгоритм», «критический путь», «распараллеливание»;
- отработать практические навыки по составлению параллельных алгоритмов;
- развить навыки групповой учебной деятельности.
Тип урока: комбинированный.
Используемые технологии:
- проблемное обучение;
- игровая технология;
- групповая технология.
Используемые формы познавательной деятельности детей:
- фронтальная форма;
- групповая форма.
Оборудование, раздаточный материал: интерактивная доска, компьютеры, файлы с заданиями для групповой работы.
Прогнозируемый результат: планируется, что к окончанию урока ученики будут владеть такими понятиями, как «параллельный алгоритм», «распараллеливание», «критический путь», а также умениями оценивать и составлять параллельные алгоритмы на начальном уровне.
Список используемой литературы:
Алгоритмика. 5—7 классы: Учебник и задачник для общеобразовательных учебных заведений / А. К. Звонкий, А. Г. Кулаков, С. К. Ландо и др. _ м.: Дрофа, 1996,1997. — 304 с.
С.Пахомов Эра многоядерных энергоэффективных процессоров
Гергель В.П. Лекции по параллельным вычислениям: учеб. пособие / В.П. Гергель, В.А.Фурсов. – Самара: Изд-во Самар. гос. аэрокосм. ун-та, 2009. – 164 с.
Ход урока
Организационный момент
Добрый день. Меня зовут Васильева Виктория Павловна, и я рада вас приветствовать на нашем уроке информатики. Сегодня мы с вами попытаемся ответить на актуальный вопрос современности. А для этого нам понадобятся ваши знания, полученные на уроках информатики, физики, геометрии и даже биологии, а также хорошее настроение. Надеюсь, все это у вас уже есть, а, значит, можно начинать урок!
Мотивация учебной деятельности
Начнем с очень актуального в наше время вопроса: «Кто умнее – человек или компьютер?» (Слайд 1)
- Ответы учеников: Человек, т.к. он создал ПК.
Действительно, именно человек создал ПК, а не наоборот. Тогда немного перефразируем: «А кто быстрее вычисляет?»
- Ответы учеников: ПК.
Конечно, по скорости вычисления человек не может поспорить с ПК. А какой орган у человека и какое устройство в ПК отвечает за вычисления?
- Ответы учеников: Мозг и процессор.
Правильно. На этом слайде вы видите самый первый процессор, созданный в 1971 г., и один из современных. Назовите, пожалуйста, основные характеристики современных процессоров. (Слайд 2)
- Ответы учеников: Большая тактовая частота, большая разрядность, которые влияют на увеличение быстродействия, многоядерность и др.
Для чего в современных процессорах несколько ядер?
- Ответы учеников: Для повышения быстродействия.
Правильно. А каким образом все эти ядра работают – совместно или по очереди?
- Ответы учеников: Совместно.
Действительно, все ядра процессора работают совместно, одновременно. Назовите из курса геометрии синоним для этих слов.
- Ответы учеников: Параллельно.
Правильно! Все ядра работают параллельно относительно друг друга, т.е. выполняют параллельный алгоритм. Сегодня мы и познакомимся с новым для вас понятием «параллельный алгоритм». (Слайд 3)
Кто из вас может сейчас дать точное определение «параллельного алгоритма»?
- Ответы учеников: Никто.
Сможете ли вы сейчас построить параллельный алгоритм?
- Ответы учеников: Нет, не сможем, не хватает знаний.
Но у нас впереди целый урок. Как вы думаете, а к концу урока вы будете готовы сформулировать определение?
- Ответы учеников: Да.
Значит, какая цель нашего сегодняшнего урока?
- Ответы учеников: Выяснить, какой алгоритм называется параллельным, и научиться составлять параллельные алгоритмы.
Замечательно! Цель ясна, направление задано, вперед - к достижению цели!
Систематизация знаний
Повторение ранее изученного материала
Сегодня вы будете работать в минигруппах, т.е. в парах, назовем ваши пары командами. Но сначала проверим, насколько хорошо вы готовы к новым понятиям.
Первое задание для команд – данные словосочетания расставить в правильном порядке и получить определение алгоритма. (Слайд 4)
- Ответы учеников: Алгоритм — набор инструкций, описывающих последовательность действий для достижения результата решения задачи за конечное число действий.
Кто выполняет алгоритм?
- Ответы учеников: Исполнитель.
Замечательно! Первый небольшой шажок к достижению цели мы с вами уже сделали.
Работа над новым материалом. Работа в группах.
Для дальнейшего продвижения к цели мы с вами организуем деловую алгоритмическую игру «Директор строительства». Если вы не возражаете, то директором буду я и, как настоящий директор, я должен набрать себе штат помощников, которые будут помогать управлять работой строителей. Как дальновидный директор я хочу набрать самую лучшую команду, а значит, вы должны на деле показать свою конкурентоспособность. (Слайд 5)
Познакомимся с правилами строительства (Слайд 6):
В вашем распоряжении несколько строителей, и вы должны давать им работу.
Всякий блок независимо от своего вида и размера устанавливается одним строителей за один день. Два строителя не могут устанавливать один и тот же блок.
Строительство блока можно начать только после того, как установлены все блоки, на которые он опирается.
Итак, определим, кто будет здесь исполнителем, а также его систему команд и среду и способ записи алгоритма.
- Ответы учеников: Исполнитель – Строитель
- СКИ – Установи № блока
- Среда – пронумерованные блоки
- Способ записи алгоритма - табличный
Правильно ли составлен алгоритм для данной стройки из 3 блоков?
- Ответы учеников: Нет (делают правильно).
Итак, чтобы вы могли приступить к самостоятельной деятельности, проведем небольшой инструктаж.
1 задание: Нужно построить здание, представленное на слайде. У вас есть один строитель. За сколько дней он построит это здание? (Слайд 7)
- Ответы учеников: за 8 дней.
Почему?
- Ответы учеников: т.к. оно состоит из 8 блоков.
Правильно, давайте составим этот алгоритм. А если мы поставим 2 строителя. За сколько дней смогут они построить?
- Ответы учеников: За 4 дня.
Давайте проверим, для этого перестроим данный алгоритм уже для двух исполнителей. У нас получается все равно только за 8 дней. Почему?
- Ответы учеников: т.к. каждый следующий блок можно поставить только на готовый предыдущий блок.
Правильно. Данный алгоритм не имеет смысла разбивать для двух исполнителей. Познакомимся с новым понятием – «распараллеливание».
Распараллелить алгоритм – разбить его на несколько частей для одновременного выполнения несколькими исполнителями.
2 задание: Усложняем объекты строительства. Сначала выясним – возможно ли здесь распараллеливание? (Слайд 8)
- Ответы учеников: Да.
За сколько дней выполнит работу 1 строитель?
- Ответы учеников: За 10 дней.
А 2 строителя?
- Ответы учеников: За 5 дней. (Составить этот алгоритм)
Примите мои поздравления! Вы только что составили первый в вашей жизни параллельный алгоритм! А значит, сделали следующий, уже большой шаг к достижению поставленной цели!
А если мы подключим 3 строителя? Сколько дней будет длиться стройка?
- Ответы учеников: Все равно 5 дней.
Давайте сделаем очень важный вывод.
- Ответы учеников: Не каждый алгоритм может быть распараллелен, но, если такое возможно, то надо подобрать целесообразное количество исполнителей.
Итак, инструктаж окончен, я вижу, что вы способны уже самостоятельно действовать и на более сложных строительных объектах.
Команды пересаживаются за ПК и открывают для работы файл.
3 задание: Перед вами новый объект. Выясним, возможно ли здесь распараллеливание? (Слайд 9)
- Ответы учеников: Да.
Сколько можно строителей подключить?
- Ответы учеников:1, 2, 3.
Как вы думаете, за сколько дней будет построен объект одним строителем? Двумя строителями? А тремя?
- Ответы учеников:1 С за 12 дней, 2 С за 12/2=6 дней, 3 С за 12/3=4 дня.
Проверим ваши предположения. Трем командам надо поострить алгоритм для двух строителей, другим трем командам – для трех строителей.
Команды работают самостоятельно. Затем полученные алгоритмы строятся на доске. (Слайд 10)
У нас получился удивительный результат – и 2 и 3 строителя смогут построить это здание за 7 дней! А если мы еще исполнителей добавим, это улучшит результат?
- Ответы учеников: Нет.
Почему минимум только за 7 дней возможно?
- Ответы учеников: Некоторые блоки могут быть установлены только, когда установили нужные для них опорные блоки (назвать их номера).
Здесь мы встречаемся еще с одним новым для вас понятием – критический путь.
Критический путь - это путь максимальной длины. Но его длина является минимальной из всех возможных.
Совсем запутались? Чтобы распутаться давайте попробуем определить критический путь данного объекта. Для этого сверху вниз попытаемся проследить возможность постановки не всех, но некоторых главных блоков.
Получается следующая последовательность: 12 → 8 → 7 → 5 → 6 → 3 → 2.
Посчитайте длину получившейся последовательности. Получилось ровно 7!
Итак, сделаем очередной важный вывод.
- Ответы учеников: Чтобы определить минимально возможное количество дней строительства, надо определить длину критического пути.
4 задание: Мы еще на шаг приблизились к нашей цели. Приступаем к следующему строительству. Похожая ситуация, только блоки 9-10-11 располагаются в другом месте. Повлияет ли это на минимальное количество дней для постройки двумя и тремя бригадами? (Слайд 11)
- Ответы учеников: Нет, т.к. критический путь тот же!
Давайте проверим это. Теперь меняемся – команды, строившие алгоритмы для 2 строителей, теперь используют 3 строителя и наоборот. (Слайд 12)
Попытайтесь определить, какое количество исполнителей здесь оптимально?
- Ответы учеников: Оптимальнее использовать 2 строителя, т.к. для 3-х очень много простоя.
5 задание: На этом объекте ваш Директор (очень умный между прочим) посчитал, что минимум нужно затратить 4 дня. Я, как директор, прав? (Слайд 13)
- Ответы учеников: Да. Длина критического пути равна 4.
И я даже уже определила работу для 2 строителей на первый день. Вам осталось дописать начатый умным Директором алгоритм на оставшиеся три дня.
Ученики в ходе самостоятельной деятельности выясняют, что при таких командах на 1-ый день невозможно построить за 4 дня.
Почему мы зашли в тупик? Ведь длину критического пути мы определили правильно?
- Ответы учеников: Критический путь проходит через другие блоки! (исправляют ошибки и строят правильный алгоритм)
Ну что же, по-моему, все команды старались 100%, все достойны работать в моей строительной фирме. Вы все зачислены в штат!
Обобщение и закрепление знаний
Скажите, пожалуйста, а зачем нам нужна была эта игра? В чем ее смысл? Какая связь между нашими строительными бригадами и компьютером? (Слайд 14)
- Ответы учеников: Каждый строитель - это одно ядро в процессоре. Каждое ядро выполняет свой алгоритм (программу), и все они работают параллельно. В результате – выполненная задача.
Хорошо. По-моему, вы готовы к тому, чтобы самостоятельно дать определение «параллельного алгоритма». Для этого вернемся к определению, который вы дали в начале урока. Последнее задание для команд – подчеркните в этом определении те слова, которые нужно заменить. (Слайд 16)
Алгоритм — набор инструкций, описывающих последовательность действий исполнителя для достижения результата решения задачи за конечное число действий.
Попробуйте самостоятельно подобрать замену для найденных слов.
- Параллельный алгоритм — набор инструкций, описывающих порядок действий исполнителей для достижения совместного результата решения задачи за конечное число действий.
Итак, цель, к которой мы стремились на протяжении всего урока, нами достигнута.
Рефлексия
Скажите, пожалуйста, а в жизни можно встретить такие ситуации, когда люди выполняют параллельный алгоритм? Приведите примеры.
- Ответы учеников: Да, конечно, когда есть совместная деятельность. (Далее ученики приводят пример из бытовой жизни, из классной деятельности и др.)
А сегодня ваша работа в командах каким образом проходила?
- Ответы учеников: В каждой паре ученики работали параллельно. Значит, мы были параллельными исполнителями.
А результат вашей совместной параллельной работы?
- Ответы учеников: Составленные параллельные алгоритмы, составленное новое определение, новые знания.
Действительно, вы сегодня играли роль параллельных исполнителей, и от того, как слаженно вы работали в своей паре, зависел ваш сегодняшний успех. Так же и в жизни – насколько слаженно работают люди при совместной деятельности, как правильно они распределяют этапы работы, учитывая критический путь, и выбирают количество исполнителей, - зависит успех их совместной деятельности.
Замечательно! А на все ли вопросы, заданные сегодня, мы с вами нашли ответы?
- Ответы учеников: Нет.
Действительно, у нас остался неразрешенным вопрос, заданный в самом начале урока: «Кто умнее – человек или компьютер?» (Слайд 17)
На самом деле до сих пор идут жаркие споры по этому поводу. Есть различные точки зрения, а также сомнение – а возможно ли вообще сравнивать мозг и компьютер? Из курса биологии вам известно, что мозг состоит из миллионов нейронов, которые связаны между собой и работают все совместно, т.е. параллельно. И если рассматривать работу мозга с точки зрения работы многоядерного процессора, то ваш мозг – это процессор с миллионами ядер. И от вас зависит, как распорядится этим «богатством», данным нам природой! Желаю вам успеха на пути к новым знаниям!
Приложения
Слайд 1
Слайд 2
Слайд 3
Слайд 4
Слайд 5
Слайд 6
Слайд 7
Слайд 8
Слайд 9
Слайд 11
Слайд 13
Слайд 14
Слайд 16
Слайд 17