Autor: Adam Jurkiewicz

Przedmiot: Informatyka

Temat: Analiza podejścia rekurencyjnego i iteracyjnego w języku Python

Grupa docelowa:

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

Podstawa programowa:

Cele kształcenia – wymagania ogólne
I. Rozumienie, analizowanie i rozwiązywanie problemów na bazie logicznego i abstrakcyjnego myślenia, myślenia algorytmicznego i sposobów reprezentowania informacji.
II. 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.
Treści nauczania – wymagania szczegółowe
I. Rozumienie, analizowanie i rozwiązywanie problemów.
Zakres podstawowy. Uczeń:
2) stosuje przy rozwiązywaniu problemów z różnych dziedzin algorytmy poznane w szkole podstawowej oraz algorytmy:
e) obliczania wartości elementów ciągu metodą iteracyjną i rekurencyjną, w tym wartości elementów ciągu Fibonacciego.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:
8) dyskutuje na temat roli myślenia komputacyjnego i jego metod, takich jak: abstrakcja, reprezentacja danych, dekompozycja problemu, redukcja, myślenie rekurencyjne, podejście heurystyczne w rozwiązywaniu problemów z różnych dziedzin.
I + II. Zakres rozszerzony. 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:
b) 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):

  • Zaimplementujesz funkcję obliczającą wartość potęgi xIndeks górny n metodą iteracyjną.

  • Zaimplementujesz funkcję obliczającą wartość potęgi xIndeks górny n metodą rekurencyjną.

  • Przeanalizujesz i porównasz oba rozwiązania.

  • Utrwalisz umiejętność posługiwania się biblioteką matplotlib.

Strategie nauczania:

  • konstruktywizm;

  • konektywizm.

Metody i techniki nauczania:

  • dyskusja;

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

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.

Przebieg lekcji

Przed lekcją:

  1. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Analiza podejścia rekurencyjnego i iteracyjnego w języku Python”. Uczniowie zapoznają się z multimedium w sekcji „Przeczytaj”.

Faza wstępna:

  1. Nauczyciel wyświetla uczniom temat zajęć oraz cele. Prosi, by na ich podstawie uczniowie sformułowali kryteria sukcesu.

Faza realizacyjna:

  1. Praca z multimedium. Nauczyciel przechodzi do sekcji „Film samouczek”. Uczniowie w parach rozwiązują Problem 1. Następnie porównują swoje rozwiązanie z przedstawionym w filmie. Nauczyciel wyjaśnia ewentualne wątpliwości.

  2. Praca z tekstem. Nauczyciel wyświetla zawartość sekcji „Film samouczek”. Uczniowie powtarzają i testują na swoich komputerach przedstawione w tej sekcji iteracyjne i rekurencyjne wersje rozwiązań problemów.

  3. Ćwiczenie umiejętności. Uczniowie implementują poznane techniki do rozwiązywania problemów informatycznych, poprzez wykonywanie indywidualnie ćwiczeń z sekcji „Sprawdź się”

Faza podsumowująca:

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

  2. Na koniec zajęć nauczyciel prosi uczniów o rozwinięcie zdania: „Na dzisiejszych zajęciach nauczyłam/łem się jak…”.

Praca domowa:

  1. Uczniowie odpowiadają na pytanie: Kiedy wybrać metodę rekurencyjną, a kiedy iteracyjną?

Materiały pomocnicze:

  • Oficjalna dokumentacja techniczna dla języka Python 3 (lub nowszej wersji).

Wskazówki metodyczne:

  • Nauczyciel może wykorzystać multimedium w sekcji „Film samouczek” do pracy przed lekcją. Uczniowie zapoznają się z jego treścią i przygotowują do pracy na zajęciach w ten sposób, żeby móc samodzielnie rozwiązać zadania dołączone do e‑materiału „Analiza podejścia rekurencyjnego i iteracyjnego w języku Python”.