Dla nauczyciela
Autor: Maurycy Gast
Przedmiot: Informatyka
Temat: Algorytm Huffmana w języku C++
Grupa docelowa:
Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum, zakres podstawowy i rozszerzony
Podstawa programowa:
Kształtowane kompetencje kluczowe:
kompetencje cyfrowe;
kompetencje osobiste, społeczne i w zakresie umiejętności uczenia się;
kompetencje matematyczne oraz kompetencje w zakresie nauk przyrodniczych, technologii i inżynierii.
Cele operacyjne (językiem ucznia):
Prześledzisz zrealizowany w języku C++ algorytm Huffmana.
Zaimplementujesz program w języku C++ kodujący ciąg znaków za pomocą algorytmu Huffmana.
Zakodujesz ciągi znaków w celu zmniejszenia zajmowanej przez nie pamięci.
Strategie nauczania:
konstruktywizm;
konektywizm.
Metody i techniki nauczania:
dyskusja;
rozmowa nauczająca z wykorzystaniem multimedium i ćwiczeń interaktywnych;
ćwiczenia praktyczne.
Formy pracy:
praca indywidualna;
praca w parach;
praca w grupach;
praca całego zespołu klasowego.
Środki dydaktyczne:
komputery z głośnikami, słuchawkami i dostępem do internetu;
zasoby multimedialne zawarte w e‑materiale;
tablica interaktywna/tablica, pisak/kreda;
oprogramowanie dla języka C++, w tym kompilator GCC/G++ 4.5 (lub nowszej wersji) i Code::Blocks 16.01 (lub nowszej wersji), Orwell Dev‑C++ 5.11 (lub nowszej wersji) lub Microsoft Visual Studio.
Przebieg lekcji
Przed lekcją:
Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Algorytm Huffmana w języku C++”. Uczniowie mają zapoznać się z treściami w sekcji „Przeczytaj” i wykonać obliczenia na podstawie dołączonych danych.
Chętny lub wybrany uczeń przygotowuje rozwiązanie polecenia nr 1 z sekcji „Infografika”. Będzie pełnił rolę eksperta podczas zajęć.
Faza wstępna:
Nauczyciel wprowadza uczniów szczegółowo w temat lekcji i jej cele. Może posłużyć się wyświetloną na tablicy zawartością sekcji „Wprowadzenie”.
Rozpoznanie wiedzy uczniów. Nauczyciel prosi wybranego ucznia lub uczniów o przedstawienie sytuacji problemowej związanej z tematem lekcji.
Faza realizacyjna:
Praca z tekstem. Nauczyciel ocenia, na podstawie informacji na platformie, stan przygotowania uczniów do zajęć. Jeżeli jest ono niewystarczające, prosi wybraną osobę o przedstawienie najważniejszych informacji z sekcji „Przeczytaj”. Na forum klasy uczniowie analizują problemy 1‑5. Następnie pracując indywidualnie, powtarzają i testują zaprezentowaną implementację algorytmu na swoich komputerach.
Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Infografika”. Osoba, która pełni funkcję eksperta, omawia treść infografiki. W kolejnym kroku uczniowie w parach piszą program wykorzystujący algorytm Huffmana, a następnie chętne osoby odczytują słowa kodowe.
Ćwiczenie umiejętności. Uczniowie wykonują indywidualnie ćwiczenie nr 1 z sekcji „Sprawdź się”, a następnie porównują swoje odpowiedzi z kolegą lub koleżanką.
Uczniowie, pracując w parach, wykonują ćwiczenie nr 2 z sekcji „Sprawdź się”, a następnie dzielą się swoimi wynikami przez porównanie napisanego kodu z inną grupą, która również zakończyła zadanie.
Faza podsumowująca:
Nauczyciel wyświetla na tablicy temat lekcji i cele zawarte w sekcji „Wprowadzenie”. W kontekście ich realizacji podsumowuje przebieg zajęć, a także wskazuje mocne i słabe strony pracy uczniów.
Na koniec zajęć z programowania w C++ nauczyciel prosi uczniów o rozwinięcie zdania: „Na dzisiejszych zajęciach nauczyłam/łem się jak…”.
Praca domowa:
Uczniowie wykonują ćwiczenie nr 3 z sekcji „Sprawdź się”.
Materiały pomocnicze:
Oficjalna dokumentacja techniczna dla języka C++.
Oficjalna dokumentacja techniczna dla kompilatora GCC/G++ 4.5 (lub nowszej wersji).
Oficjalna dokumentacja techniczna dla oprogramowania Code::Blocks 16.01 (lub nowszej wersji), Orwell Dev‑C++ 5.11 (lub nowszej wersji) lub Microsoft Visual Studio.
Wskazówki metodyczne:
Treści w sekcji „Przeczytaj” można wykorzystać jako podsumowanie i utrwalenie wiedzy uczniów.