Autorka: Paulina Wierzbińska

Przedmiot: Informatyka

Temat: Sposoby reprezentacji grafów w języku Java

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:
2) do realizacji rozwiązania problemu dobiera odpowiednią metodę lub technikę algorytmiczną i struktury danych;
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:
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:
j) grafy (do przedstawiania abstrakcyjnego modelu sytuacji problemowych).

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

  • Utrwalisz wiedzę dotyczącą podstawowych sposobów reprezentacji grafów.

  • Poznasz przykłady macierzy sąsiedztwa, listy sąsiedztwa i macierzy incydencji zapisane w języku Java.

  • Wykonasz ćwiczenia wymagające implementacji podstawowych reprezentacji grafów.

Strategie nauczania:

  • konstruktywizm;

  • konektywizm.

Metody i techniki nauczania:

  • dyskusja;

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

  • ćwiczenia praktyczne;

  • śniegowa kula;

  • odwrócona klasa.

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 Java SE 8 (lub nowszej wersji), w tym Eclipse 4.4 (lub nowszej wersji).

Przebieg lekcji

Przed lekcją:

  1. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Sposoby reprezentacji grafów w języku Java”. Nauczyciel prosi uczniów o zapoznanie się z treściami w sekcji „Przeczytaj”.

Faza wstępna:

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

  2. Rozpoznanie wiedzy uczniów. Nauczyciel zadaje uczniom pytania dotyczące ich aktualnego stanu wiedzy w obszarze poruszanego tematu, np.
    – co to są reprezentacje grafów?
    – czym jest macierz sąsiedztwa ?
    – jakie działania umożliwiają typy generyczne?
    Chętni lub wybrani uczniowie udzielają na nie odpowiedzi.

Faza realizacyjna:

  1. Praca z tekstem. Nauczyciel ocenia, na podstawie informacji na platformie, stan przygotowania uczniów do zajęć. Jeżeli jest ono niewystarczające, prosi wybraną osobę o przedstawienie najważniejszych informacji z sekcji „Przeczytaj”.
    Uczniowie na forum klasy analizują przedstawione w sekcji programy. Następnie implementują je i testują na swoich komputerach. W razie wątpliwości nauczyciel wyjaśnia niezrozumiałe kwestie.

  2. Praca z multimedium. Uczniowie zapoznają się z problemami 1 i 2 z sekcji „Film samouczek” i indywidualnie opracowują rozwiązania. W kolejnym kroku łączą się w pary i porównują wyniki pracy. Następnie łączą się w czwórki i robią to samo. Optymalizują programy, pracując metodą kuli śniegowej. Dyskutują na ich temat w parach. Na koniec porównują swoje rozwiązania z przedstawionym w filmie.

  3. Ćwiczenie umiejętności. Nauczyciel przechodzi do sekcji „Sprawdź się”. Zapowiada uczniom, że w kolejnym kroku będą rozwiązywać ćwiczenia nr 1‑5 – od najprostszych do najtrudniejszych – i będą to robić wspólnie. Wybrany uczestnik zajęć czyta po kolei polecenia. Po każdym przeczytanym poleceniu ochotnik udziela odpowiedzi. Reszta uczniów ustosunkowuje się do niej, proponując swoje pomysły. Nauczyciel w razie potrzeby koryguje odpowiedzi, dopowiada istotne informacje, udziela uczniom informacji zwrotnej.

  4. Ćwiczenia nr 6‑7 z sekcji „Sprawdź się” uczniowie wykonują w grupach czteroosobowych, a następnie porównują swoje odpowiedzi z inną grupą.

Faza podsumowująca:

  1. Nauczyciel wyświetla na tablicy temat lekcji i cele zawarte w sekcji „Wprowadzenie”. W kontekście ich realizacji podsumowuje przebieg zajęć, a także wskazuje mocne i słabe strony pracy uczniów.

Praca domowa:

  1. Uczniowie wykonują ćwiczenie 8 z sekcji „Sprawdź się”.

Materiały pomocnicze:

  • Oficjalna dokumentacja techniczna dla języka Java SE 8 (lub nowszej wersji).

  • Oficjalna dokumentacja techniczna dla oprogramowania Eclipse 4.4 (lub nowszej wersji).

  • Robin J. Wilson, Wprowadzenie do teorii grafów, PWN, Warszawa 2007.

Wskazówki metodyczne:

  • Uczniowie mogą wykorzystać multimedium w sekcji „Film samouczek” do przygotowania się do lekcji powtórkowej.