Dla nauczyciela
Autor: Maurycy Gast
Przedmiot: Informatyka
Temat: Algorytm Knutha‑Morrisa‑Pratta – zadania maturalne
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):
Zastosujesz algorytm KMP w celu wyszukania wzorca w tekście.
Przeanalizujesz stopień trudności zadań maturalnych wymagających zastosowania algorytmów tekstowych.
Rozwiążesz problemy wymagające użycia algorytmów tekstowych.
Prześledzisz przykładowe zadania maturalne opracowane przez CKE.
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;
oprogramowanie dla języka Java SE 8 (lub nowszej wersji), w tym Eclipse 4.4 (lub nowszej wersji);
oprogramowanie dla języka Python 3 (lub nowszej wersji), w tym PyCharm lub IDLE.
Przebieg lekcji
Przed lekcją:
Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Algorytm Knutha‑Morrisa‑Pratta – zadania maturalne”. Uczniowie zapoznają się z treściami w sekcji „Przeczytaj” w kontekście programowania.
Faza wstępna:
Przedstawienie tematu zajęć oraz wspólne z uczniami ustalenie kryteriów sukcesu.
Faza realizacyjna:
Uczniowie w parach przypominają sobie najważniejsze informacje dotyczące algorytmu Knutha–Morrisa–Pratta.
Praca z multimedium. Uczniowie pracują w parach. Analizują treść polecenia nr 1: „Przeanalizuj prezentację, a następnie w wybranym języku programowania napisz program rozwiązujący zaprezentowany problem.” z sekcji „Prezentacja multimedialna”. Wybrana grupa omawia rozwiązanie na forum klasy.
Ćwiczenie umiejętności. Uczniowie indywidualnie wykonują zadanie 1.2 z sekcji „Sprawdź się”.
Faza podsumowująca:
Nauczyciel ponownie wyświetla na tablicy temat lekcji zawarty w sekcji „Wprowadzenie” i inicjuje krótką rozmowę na temat zrealizowanych celów (czego uczniowie się nauczyli).
Na koniec zajęć z programowania nauczyciel prosi uczniów o rozwinięcie zdania: „Na dzisiejszych zajęciach nauczyłam/łem się jak…”.
Praca domowa:
Uczniowie wykonują ćwiczenie 1.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.
Oficjalna dokumentacja techniczna dla języka Java SE 8 (lub nowszej wersji).
Oficjalna dokumentacja techniczna dla oprogramowania Eclipse 4.4 (lub nowszej wersji).
Oficjalna dokumentacja techniczna dla języka Python 3 (lub nowszej wersji).
Oficjalna dokumentacja techniczna dla oprogramowania PyCharm lub IDLE.
Wskazówki metodyczne:
Uczniowie mogą wykorzystać treści w sekcjach: „Przeczytaj”, „Prezentacja multimedialna”, „Sprawdź się” jako materiał do lekcji powtórkowej.
Dane umieszczone w pliku
hasła
można wykorzystać do lekcji o bezpiecznych hasłach. Temat zadania można wykorzystać jako inspirację do napisania generatora haseł lub do obliczania siły hasła.