Dla nauczyciela
Autor: Maurycy Gast
Przedmiot: Informatyka
Temat: Algorytm Knutha‑Morrisa‑Pratta w języku C++
Grupa docelowa:
Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum, zakres 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):
Scharakteryzujesz działanie algorytmu KMP.
Zaimplementujesz algorytm KMP w języku C++.
Rozwiążesz przykładowe zadania programistyczne z wykorzystaniem algorytmu KMP.
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 Knutha‑Morrisa‑Pratta w języku C++”. Uczniowie mają zapoznać się z treściami w sekcji „Przeczytaj”.
Faza wstępna:
Nauczyciel wyświetla temat i cele zajęć. Prosi uczniów, by na podstawie wiadomości zdobytych przed lekcją zaproponowali kryteria sukcesu.
Rozpoznanie wiedzy uczniów. Uczniowie tworzą pytania dotyczące tematu zajęć, na które odpowiedzą w trakcie lekcji.
Faza realizacyjna:
Praca z tekstem. Jeżeli przygotowanie uczniów do lekcji jest niewystarczające, nauczyciel prosi o indywidualne zapoznanie się z treścią zawartą w sekcji „Przeczytaj”. Każdy uczestnik zajęć podczas cichego czytania wynotowuje najważniejsze kwestie poruszane w tekście.
Praca z multimedium Nauczyciel wyświetla zawartość sekcji „Film samouczek”. Uczniowie zapoznają się z treścią Problemu 1 i opracowują rozwiązanie. Porównują w parach swoje odpowiedzi. Następnie weryfikują je, porównując z rozwiązaniem przedstawionym w filmie.
Ćwiczenie umiejętności. Uczniowie, pracując w parach, wykonują ćwiczenie nr 1 z sekcji „Sprawdź się”. Nauczyciel sprawdza poprawność pisanych kodów, porównuje je i omawia wraz z uczniami. Wskazuje najbardziej efektywne rozwiązanie.
Liga zadaniowa – uczniowie pracując w parach, wykonują ćwiczenie nr 2 z sekcji „Sprawdź się”, a następnie dzielą się swoimi wynikami przez porównywanie napisanego kodu z inną grupą, która również zakończyła zadanie.
Faza podsumowująca:
Nauczyciel ponownie wyświetla na tablicy temat i cele lekcji zawarte w sekcji „Wprowadzenie”. W kontekście ich realizacji następuje omówienie ewentualnych problemów z rozwiązaniem ćwiczeń z sekcji „Sprawdź się”.
Wybrany uczeń podsumowuje zajęcia z programowania w C++, zwracając uwagę na nabyte umiejętności.
Praca domowa:
Uczniowie wykonują ćwiczenie 3 z sekcji „Sprawdź się”.
Uczniowie wykonują polecenie: Poszukaj przykładów wyszukiwania w tekście wzorca.
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 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:
Uczniowie mogą wykorzystać multimedium w sekcji „Film samouczek” do przygotowania się do lekcji powtórkowej.