Autor: Adam Jurkiewicz

Przedmiot: Informatyka

Temat: Zagadka Wież Hanoi w języku Python

Grupa docelowa:

Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum, zakres rozszerzony

Podstawa programowa:

Zakres podstawowy i rozszerzony

Cele kształcenia – wymagania ogólne

1. Rozumienie, analizowanie i rozwiązywanie problemów na bazie logicznego i abstrakcyjnego myślenia, myślenia algorytmicznego i sposobów reprezentowania informacji.

2. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera oraz innych urządzeń cyfrowych: układanie i programowanie algorytmów, organizowanie, wyszukiwanie i udostępnianie informacji, posługiwanie się aplikacjami komputerowymi.

Zakres rozszerzony

Treści nauczania – wymagania szczegółowe

III. I + II. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:

3. objaśnia, a także porównuje podstawowe metody i techniki algorytmiczne oraz struktury danych, wykorzystując przy tym przykłady problemów i algorytmów, w szczególności:

2) rekurencję (do generowania ciągów liczb, potęgowania, sortowania liczb, generowania fraktali),

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):

  • Przypomnisz sobie algorytm rozwiązania zagadki Wież Hanoi.

  • Przeanalizujesz implementację tego algorytmu w języku Python.

  • Rozwiążesz samodzielnie zadania związane z zagadką Wież Hanoi.

Strategie nauczania:

  • konstruktywizm;

  • konektywizm.

Metody i techniki nauczania:

  • dyskusja;

  • rozmowa nauczająca z wykorzystaniem multimedium i ćwiczeń interaktywnych;

  • metody aktywizujące.

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 Python 3 (lub nowszej wersji), w tym PyCharm lub IDLE.

Przebieg lekcji

Przed lekcją:

  1. Nauczyciel prosi uczniów o przypomnienie sobie najważniejszych informacji na temat zagadki wież Hanoi.

  2. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Zagadka Wież Hanoi w języku Python”. Nauczyciel prosi uczniów o zapoznanie się z treściami w sekcji „Przeczytaj” dotyczącymi programowania.

Faza wstępna:

  1. Chętna lub wybrana osoba przypomina najważniejsze informacje na temat zagadki wież Hanoi.

  2. Przedstawienie tematu i celów zajęć.

  3. Rozpoznanie wiedzy uczniów. Nauczyciel zadaje uczniom pytania dotyczące ich aktualnego stanu wiedzy w obszarze poruszanego tematu i programowania, np.

    • co to jest przestrzeń nazw?

    • do czego służy biblioteka matplotlib?

    • czym jest rekurencja?

    • na czym polega zagadka Wież Hanoi?

    Chętni uczniowie udzielają na nie odpowiedzi.

Faza realizacyjna:

  1. 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.

  2. Uczniowie uzupełniają symulację interaktywną. Charakteryzują, jak wzrasta złożoność obliczeniowa algorytmu obliczające rozwiązanie zagadki Wież Hanoi. Szukają informacji na temat mocy obliczeniowej superkomputerowych sprzed dekady oraz współczesnych. Określają skok technologiczny na podstawie tego, jak wygląda czas rozwiązania zagadki dla trzech, 10 oraz 64 krążków.

  3. Uczniowie zapoznają się z filmem oraz prezentacją. Wykonują ćwiczenia.

  4. Uczniowie rozwiązują ćwiczenia z sekcji „Sprawdź się”.

Faza podsumowująca:

  1. Na koniec zajęć nauczyciel raz jeszcze wyświetla na tablicy temat lekcji i cele zawarte w sekcji „Wprowadzenie”. W odniesieniu do ich realizacji dokonuje szczegółowej oceny rozwiązania zastosowanego przez wybranego ucznia.

  2. Wybrany uczeń podsumowuje zajęcia, zwracając uwagę na nabyte umiejętności, omawia ewentualne problemy podczas rozwiązania ćwiczeń z programowania w języku Python.

Praca domowa:

  1. Opracuj porównanie dwóch modeli rozwiązania zagadki Wież Hanoi – wykorzystującego iterację oraz rekurencję.

Materiały pomocnicze:

  • 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”, „Symulacja interaktywna”, „Sprawdź się” jako materiał do lekcji powtórkowej.