Autor: Adam Jurkiewicz

Przedmiot: Informatyka

Temat: Faktoryzacja w języku Python

Grupa docelowa:

Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum, zakres 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 rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:
3) objaśnia dobrany algorytm, uzasadnia poprawność rozwiązania na wybranych przykładach danych i ocenia jego efektywność;
II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:
3) sprawnie posługuje się zintegrowanym środowiskiem programistycznym przy pisaniu, uruchamianiu i testowaniu programów;
I + II. Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:
2) wykorzystuje znane sobie algorytmy przy rozwiązywaniu i programowaniu rozwiązań następujących problemów:
a) rozkładania liczby na czynniki pierwsze,

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

  • Przeanalizujesz algorytm rozkładu liczby na czynniki pierwsze.

  • Zaimplementujesz algorytm rozkładu liczby na czynniki pierwsze.

  • Przetestujesz program dla różnych danych.

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

  1. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał „Faktoryzacja w języku Python”.

  2. Uczniowie przypominają sobie najważniejsze informacje dotyczące faktoryzacji.

Faza wstępna:

  1. Chętna lub wybrana osoba przedstawia najważniejsze informacje związane z faktoryzacją liczb.

  2. Nauczyciel wyświetla temat i cele zajęć. Prosi uczniów, by na podstawie wiadomości zdobytych przed lekcją zaproponowali kryteria sukcesu.

Faza realizacyjna:

  1. Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Film samouczek”. Uczniowie w parach wykonują polecenie 1. Następnie porównują swoje rozwiązanie z przedstawionym w filmie. Nauczyciel w razie potrzeby wyjaśnia niezrozumiałe kwestie.

  2. Praca z tekstem. Nauczyciel wyświetla zawartość sekcji „Przeczytaj”. Uczniowie w grupach analizują przedstawioną w niej implementacje algorytmu rozkładu liczby na czynniki pierwsze w języku Python. Porównują czasy rozkładu dla danych liczb dla obu sposobów. Nauczyciel inicjuje dyskusję dotyczącą tego, co wpływa na czas wykonywania obliczeń.

  3. Ćwiczenie umiejętności. Nauczyciel dzieli klasę na grupy czteroosobowe. Uczniowie wykonują ćwiczenie 1 z sekcji „Sprawdź się”. Następnie uczniowie na forum klasy omawiają rozwiązania.

  4. Uczniowie indywidualnie wykonują ćwiczenie 2 z sekcji „Sprawdź się”. Następnie w parach porównują swoje rozwiązania.

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. Uczniowie wykonują ćwiczenie 3 z sekcji „Sprawdź się”.

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:

  • 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 „Faktoryzacja w języku Python”.