План урока на тему:

Программное обеспечение компьютера. Алгоритм Хаффмана

Информатика10 класс66 разделов
Программное обеспечение компьютера. Алгоритм Хаффмана

Информатика · 10 класс · Открытие нового · 45 мин

Программное обеспечение компьютера. Алгоритм Хаффмана

Цели и задачи

  • Цель: сформировать понимание принципа оптимального кодирования информации и научить строить дерево Хаффмана для сжатия данных без потерь.
  • Образовательная задача: изучить алгоритм построения префиксного кода переменной длины и его связь с условием Фано.
  • Развивающая задача: развивать логическое мышление и аналитические способности при поиске оптимального пути сжатия сообщения.
  • Воспитательная задача: способствовать развитию навыков командной работы и интереса к будущей профессиональной деятельности в сфере IT.
  • Профориентационная задача: показать практическое применение алгоритмов сжатия в реальном ПО (архиваторы, форматы изображений).

Планируемые результаты

Личностные

  • Готовность к осознанному выбору будущей профессии на основе понимания роли алгоритмов в современном цифровом мире.
  • Способность к самооценке своих достижений в изучении сложных алгоритмических структур.
  • Установка на поиск наиболее эффективных способов решения практических задач.
  • Развитие критического мышления в оценке качества программного обеспечения.

Метапредметные

  • Умение создавать и преобразовывать модели (деревья) для решения задач сжатия данных.
  • Навык смыслового чтения при анализе алгоритмических описаний.
  • Способность соотносить свои действия с планируемыми результатами и осуществлять контроль.
  • Умение аргументированно представлять результаты своей исследовательской деятельности.

Предметные

  • Знать определение оптимального кода и условие Фано.
  • Уметь вычислять частоту встречаемости символов в тексте.
  • Владеть навыком построения дерева Хаффмана по заданному набору символов.
  • Уметь кодировать и декодировать сообщения, используя полученную таблицу кодов.

Универсальные учебные действия (УУД)

Личностные УУД

  • Смыслообразование: понимание ценности эффективных алгоритмов для экономии ресурсов памяти.
  • Самоопределение: осознание своих возможностей в решении задач олимпиадного уровня и ЕГЭ.

Регулятивные УУД

  • Целеполагание как постановка учебной задачи на основе соотнесения того, что уже известно, и того, что еще неизвестно.
  • Оценка — выделение и осознание учащимся того, что уже усвоено и что еще подлежит усвоению.

Познавательные УУД

  • Моделирование: построение двоичного дерева как знаково-символического средства.
  • Поиск и выделение необходимой информации из предложенных кейсов.
  • Логические действия: анализ объектов с целью выделения признаков, синтез как составление целого из частей.

Коммуникативные УУД

  • Инициативное сотрудничество в поиске и сборе информации.
  • Умение с достаточной полнотой и точностью выражать свои мысли в соответствии с задачами коммуникации.

Подготовка учителя к уроку

  • Распечатать рабочие листы с таблицами частот для практической работы (по одному на каждого ученика).
  • Подготовить презентацию с визуализацией этапов построения дерева Хаффмана.
  • Подготовить набор карточек с буквами и их частотами для фронтальной работы у доски.
  • Проверить работоспособность проектора и интерактивной доски.
  • Подготовить примеры файлов разных форматов (txt, docx, zip) для демонстрации эффективности сжатия.

Ход урока

Этап 1. Мотивация и самоопределение (3 мин)

Цель этапа: создать условия для возникновения внутренней потребности включения в учебную деятельность через проблемную ситуацию.
Время
Действие учителя
Действие учеников
3 мин
Учитель: "Здравствуйте! Представьте, что вы работаете в космическом агентстве. Вам нужно отправить текстовое сообщение на Марс. Стоимость передачи 1 мегабайта данных — 10 миллионов рублей. Ваше сообщение занимает 100 Мб. Бюджет ограничен 500 миллионами. Как нам выполнить задачу, не потеряв ни одного символа? Какие программы мы используем в повседневной жизни для уменьшения объема файлов?"
Ученики: "Нужно сжать данные! Мы используем архиваторы: WinRAR, 7-Zip. Еще есть сжатие в форматах картинок и видео, но там могут быть потери. А нам нужно без потерь."
Завершение этапа: учитель подводит итог: "Верно, нам нужны алгоритмы сжатия без потерь. Сегодня мы 'изобретем' один из самых известных алгоритмов, который лежит в основе большинства современных архиваторов — алгоритм Хаффмана."

Этап 2. Актуализация знаний (5 мин)

Цель этапа: повторить базовые понятия кодирования и зафиксировать затруднение в использовании равномерного кода.
Время
Действие учителя
Действие учеников
5 мин
Учитель: "Давайте вспомним, как компьютер кодирует текст обычно. Если у нас алфавит из 4 символов (А, Б, В, Г), сколько бит нам нужно на один символ при равномерном кодировании? Запишите возможные коды." Учитель рисует на доске таблицу: А-00, Б-01, В-10, Г-11. "А теперь представьте, что в нашем тексте буква А встречается 100 раз, а буква Г — всего 1 раз. Рационально ли тратить на них одинаковое количество бит?"
Ученики: "Нам нужно 2 бита на символ. Если А встречается чаще, логично дать ей код покороче, например '0', а редким буквам — коды подлиннее. Но тогда возникнет проблема: как понять, где заканчивается одна буква и начинается другая, если у них разная длина?"
Завершение этапа: учитель подводит итог: "Вы нащупали главную проблему: как сделать код разной длины, чтобы он оставался однозначно декодируемым. Это и будет нашей целью."

Этап 3. Выявление места и причины затруднения (3 мин)

Цель этапа: сформулировать проблему невозможности случайного выбора кодов разной длины.

Посмотрите план целиком

Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.

Время
Действие учителя
Действие учеников
3 мин
Учитель: "Давайте попробуем: пусть А = 0, Б = 01, В = 1. Закодируйте слово 'АВ'. Что получится? 01. Но 01 — это же буква Б! Как же нам составить коды так, чтобы ни один код не был началом другого? Помните, как называется это условие в задачах ЕГЭ?"
Ученики: "Это условие Фано! Оно гласит, что никакой код не должен быть префиксом другого. Но как построить такой код, чтобы он был еще и самым коротким для всего текста? Мы не знаем системы."
Завершение этапа: учитель подводит итог: "Итак, нам нужен системный метод построения префиксных кодов переменной длины, зависящий от частоты букв. Сформулируем тему урока."

Этап 4. Построение проекта выхода из затруднения (3 мин)

Цель этапа: поставить цель урока и наметить план действий по открытию алгоритма.
Время
Действие учителя
Действие учеников
3 мин
Учитель: "Какова цель нашего урока?" Учитель помогает сформулировать: "Цель — научиться строить оптимальный код Хаффмана. Нам понадобится: 1. Посчитать частоты букв. 2. Найти способ их объединения. 3. Построить схему (дерево). 4. Снять коды. Давайте приступим к исследованию."
Ученики: "Цель — узнать алгоритм Хаффмана и научиться сжимать текст. План: сначала анализируем частоту, потом строим дерево, потом получаем коды."
Завершение этапа: учитель подводит итог: "План готов. Начинаем наше исследование с небольшого эксперимента."

Этап 5. Реализация проекта — 'Открытие' алгоритма (12 мин)

Цель этапа: через исследовательскую деятельность под руководством учителя вывести шаги алгоритма Хаффмана.
Время
Действие учителя
Действие учеников
12 мин
Учитель: "Представим слово 'МАТЕМАТИКА'. Давайте посчитаем, сколько раз встречается каждая буква." Учитель записывает на доске: М(2), А(3), Т(2), Е(1), И(1), К(1). "У нас есть идея: самые редкие буквы должны быть в самом низу дерева, чтобы их путь был длиннее. Какие буквы самые редкие?" Учитель показывает приём 'Слияние': "Давайте объединим Е(1) и И(1) в группу ЕИ с суммарным весом 2. Теперь у нас есть: М(2), А(3), Т(2), К(1) и ЕИ(2). Кто теперь самые редкие?" Учитель продолжает диалог, пока не построится всё дерево. "Теперь присвоим левым ветвям 0, а правым 1. Прочитайте код для буквы А и буквы Е."
Ученики: "Самые редкие Е, И и К. Объединяем Е и И, получаем вес 2. Теперь самые редкие К(1) и, например, Т(2). Или К(1) и М(2). Объединяем К с группой ЕИ или с другой буквой..." Ученики под руководством учителя строят дерево в тетрадях, суммируя веса. В конце считывают коды: "Для А получилось 01, для Е — 1100 (пример). Коды разные по длине!"

Запись в тетрадях

  • Алгоритм Хаффмана — алгоритм оптимального префиксного кодирования.
  • Шаги: 1. Подсчет частот. 2. Сортировка по возрастанию. 3. Объединение двух узлов с минимальными весами. 4. Повторение до создания корня. 5. Присвоение 0 и 1 ребрам.

Эталон решения

Для набора весов {1, 1, 2, 2, 3}: 1) (1+1)=2. Набор: {2, 2, 2, 3}. 2) (2+2)=4. Набор: {2, 3, 4}. 3) (2+3)=5. Набор: {4, 5}. 4) (4+5)=9. Корень. Длина кода для веса 1 будет наибольшей.
Завершение этапа: учитель подводит итог: "Мы получили дерево, где ни один путь не является началом другого. Это и есть префиксный код. Проверим, как это работает на практике."

Этап 6. Первичное закрепление (7 мин)

Цель этапа: применить алгоритм для решения типовой задачи, аналогичной заданию ЕГЭ.
Время
Действие учителя
Действие учеников
7 мин
Учитель раздает карточки с задачей: "Для кодирования букв Л, М, Н, О используются двоичные коды. Частоты: Л-10, М-20, Н-30, О-40. Постройте дерево Хаффмана и определите код для каждой буквы. Какова будет длина всего сообщения?" Учитель контролирует процесс, проходя по рядам. Используется приём 'Think-Pair-Share': сначала решают сами, потом сверяются с соседом.
Ученики: "Сначала берем Л(10) и М(20), объединяем — получаем узел 30. Теперь у нас есть узел 30, Н(30) и О(40). Объединяем узел 30 и Н(30) — получаем 60. Наконец, 60 и О(40) дают 100. Код О будет самым коротким — всего один бит!"
Завершение этапа: учитель подводит итог: "Отлично! Вы заметили, что самая частая буква О получила код '1' (или '0'), что значительно экономит место. Теперь попробуйте сделать это полностью самостоятельно."

Этап 7. Самостоятельная работа с самопроверкой (7 мин)

Цель этапа: индивидуальная проверка усвоения алгоритма и умения декодировать сообщение.
Время
Действие учителя
Действие учеников
7 мин
Учитель: "На экране вы видите дерево и закодированную последовательность 01101001. Используя дерево, декодируйте слово. Затем постройте свое дерево для слова 'КОЛОКОЛ' и проверьте себя по эталону на обороте карточки." Учитель выводит эталон на экран через 5 минут.
Ученики: "Декодируем: идем по дереву от корня. 0... 1... это буква К. Дальше 1... 0... это О. Получается слово 'КОКОС'. Теперь строим дерево для 'КОЛОКОЛ': К(2), О(3), Л(2). Объединяем К и Л..." Выполняют задание и сверяют с эталоном на экране.
Завершение этапа: учитель подводит итог: "Поднимите зеленые карточки те, у кого дерево совпало с эталоном. Желтые — если есть одна ошибка в цифре. Красные — если принцип остался непонятен."

Этап 8. Рефлексия и домашнее задание (5 мин)

Цель этапа: осознание учащимися своей учебной деятельности, самооценка результатов.
Время
Действие учителя
Действие учеников
5 мин
Учитель: "Наш урок подходит к концу. Мы сегодня были в роли разработчиков алгоритмов. Что было самым сложным? Где в реальной жизни вы встретитесь с результатами работы этого алгоритма?" Учитель объясняет домашнее задание разных уровней.
Ученики: "Сложно было не запутаться в суммировании весов. Алгоритм Хаффмана работает в ZIP-архивах и даже в JPEG. Мы теперь понимаем, почему некоторые файлы сжимаются лучше других." Записывают домашнее задание.

Критерии оценивания практической работы

  • "5" — дерево Хаффмана построено верно, веса узлов рассчитаны без ошибок, коды символов выписаны правильно, сообщение декодировано верно.
  • "4" — алгоритм построения дерева соблюден, но допущена одна арифметическая ошибка в весах или при считывании кода.
  • "3" — дерево построено частично верно, допущены ошибки в логике объединения узлов, но продемонстрировано понимание условия Фано.

Рефлексия

Вопрос для ученика
Цель вопроса
Какой этап алгоритма показался вам наиболее 'умным' или необычным?
Осознание эстетики и логики алгоритма, развитие интереса к предмету.
Смогли бы вы объяснить этот алгоритм другу за 1 минуту?
Проверка степени интериоризации знаний и навыка сжатого изложения.
Как знание алгоритма Хаффмана поможет вам при подготовке к ЕГЭ?
Связь темы с практическими целями ученика (задание №4).

Завершающее слово учителя

"Сегодня мы убедились, что информатика — это не только умение пользоваться программами, но и глубокая математическая логика, позволяющая экономить ресурсы. Алгоритм Хаффмана — это классика, которая уже 70 лет не теряет актуальности. Если вы поняли его принцип, вам будет гораздо проще разобраться с любыми методами сжатия данных. На следующем уроке мы обсудим программное обеспечение для защиты информации. До встречи!"

Домашнее задание

Уровень
Что задать
Зачем
Базовый
Построить дерево Хаффмана для фразы из 15-20 символов (например, 'ИНФОРМАТИКА - ЭТО КРУТО'), выписать коды всех букв.
Закрепление базового навыка построения дерева и считывания префиксных кодов.
Средний
Сравнить объем сообщения в битах при использовании равномерного 8-битного кода и кода Хаффмана для той же фразы.
Осознание эффективности (коэффициента сжатия) изученного алгоритма.
Продвинутый
Исследовать вопрос: в каком случае алгоритм Хаффмана не даст выигрыша в памяти по сравнению с равномерным кодом? Привести пример.
Развитие аналитического мышления и понимания границ применимости алгоритма.
Контрольный вопрос: "Может ли код одной буквы быть 01, а другой 011 в алгоритме Хаффмана? Почему?"

Создайте уникальный план урока по своей теме

  • Любая тема, любой уровень
  • Структура по ФГОС
  • 100% уникальный план урока
  • Цели, ход урока, рефлексия
  • Экспорт в PDF и Word
  • Готово за 1 минуту

Другие темы по информатике для 10 класса

Равномерные и неравномерные коды. Условие Фано; Универсальность дискретного представления информации. Двоичное кодирование; Информация, данные и знания; Хранение информации, объём памяти; СкоростьОперации с файлами и папкамиРабота с прикладным программным обеспечениемКодирование текстов. Кодировка ASCII. Однобайтные кодировки; Стандарт UNICODE. Кодировка UTF-8; Определение информационного объёма текстовых сообщений; Кодирование изображений. Разрешение и глубинаРазделение IP-сети на подсети с помощью масок подсетейСеть ИнтернетПеревод чисел в различные системы счисления и выполнение арифметических операцийПринципы построения компьютеровПрактическая работа. Файловая система и хранение данныхСетевое администрированиеПоиск элементов массива с заданными свойствамиФайловые системы. Принципы размещения и именования файлов в долговременной памяти. Шаблоны для описания групп файлов

Чем удобны планы уроков Нейрум

  • Готовый план, не набросокЦели, ход урока, планируемые результаты, рефлексия — всё по структуре ФГОС, открыли и пошли вести.
  • План урока или техкартаОдин материал — два формата экспорта в PDF. Скачали то, что нужно завучу.
  • Свой план урока за минутуНе нашли нужный? ИИ-конструктор напишет план урока по вашей теме, классу и типу урока.

Вопросы и ответы

Как скачать план урока «Программное обеспечение компьютера. Алгоритм Хаффмана»?

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

Соответствует ли план урока ФГОС?

Да, структура урока — цели, ход урока, планируемые результаты — построена по ФГОС для 10 класса (информатике).

Можно ли изменить план под свой класс?

Да. После регистрации план урока открывается в конструкторе: этапы и содержание можно отредактировать или перегенерировать.