Dla nauczyciela
Autor: Adam Jurkiewicz
Przedmiot: Informatyka
Temat: Algorytm Euklidesa w języku Python
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):
Zaimplementujesz algorytm Euklidesa, wykorzystujący metodę odejmowania.
Napiszesz program wykorzystujący algorytm Euklidesa w wersji z dzieleniem modulo.
Porównasz efektywność obu wersji algorytmu Euklidesa.
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 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 Euklidesa w języku Python”. Uczniowie mają zapoznać się z treściami w sekcji „Przeczytaj”.
Chętny lub wybrany uczeń przygotowuje rozwiązanie polecenia nr 1 z sekcji „Przeczytaj”. Będzie pełnił rolę eksperta podczas zajęć.
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. Nauczyciel prosi wybranego ucznia lub uczniów o przedstawienie sytuacji problemowej związanej z tematem lekcji.
Faza realizacyjna:
Praca z tekstem. Nauczyciel wyświetla zawartość sekcji „Przeczytaj”. Uczniowie wykonują polecenie nr 1: „Możemy zmierzyć czas niezbędny do obliczenia
NWD
. Spróbujmy napisać funkcjęNWD_odejmowanie_zliczanie_czas(x, y)
, która oprócz liczby odejmowań poda czas niezbędny do ich wykonania” oraz polecenie nr 2: „Możemy obliczyć czas niezbędny do wyznaczenia NWD. Zdefiniujmy funkcjęNWD_modulo_zliczanie_czas(x, y)
, która oprócz liczby operacji zmierzy także czas ich wykonania.”Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Audiobook”. Uczniowie wspólnie zapoznają się z poleceniem 1 i analizują prezentację. W kolejnym kroku dzielą się swoimi spostrzeżeniami na forum klasy.
Ćwiczenie umiejętności. Uczniowie wykonują indywidualnie ćwiczenie nr 1, a następnie porównują swoje odpowiedzi z kolegą lub koleżanką.
W kolejnym etapie uczniowie dobierają się w pary i wykonują ćwiczenia nr 2‑3. Następnie konsultują swoje rozwiązania z inną parą uczniów i ustalają jedną wersję odpowiedzi.
Faza podsumowująca:
Na koniec zajęć z programowania w Pythonie nauczyciel prosi uczniów o rozwinięcie zdania: „Na dzisiejszych zajęciach nauczyłam/łem się jak…”.
Praca domowa:
Uczniowie wykonują polecenie nr 2 z sekcji „Audiobook”.
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:
Treści w sekcji „Przeczytaj” można wykorzystać jako podsumowanie i utrwalenie wiedzy uczniów.