Dla nauczyciela
Autor: Jakub Tarkowski
Przedmiot: Informatyka
Temat: Sposoby reprezentacji grafów w języku C++
Grupa docelowa:
Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum, zakres 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):
Prześledzisz i powtórzysz podstawowe sposoby reprezentacji grafów.
Przeanalizujesz przykłady macierzy sąsiedztwa, listy sąsiedztwa i macierzy incydencji w języku C++.
Zaimplementujesz klasę grafu, zawierającą wszystkie potrzebne dane na temat wierzchołków i krawędzi.
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 C++, w tym kompilator GCC/G++ 4.5 (lub nowszej wersji) i Code::Blocks 16.01 (lub nowszej wersji), Orwell Dev‑C++ 5.11 (lub nowszej wersji) lub Microsoft Visual Studio.
Przebieg lekcji
Przed lekcją:
Nauczyciel prosi, by uczniowie zapoznali się z sekcją „Przeczytaj” i powtórzyli najważniejsze informacje dotyczące sposobów reprezentacji grafów.
Faza wstępna:
Nauczyciel sprawdza przygotowanie uczniów do lekcji – pyta o ew. niejasności związane z przeczytaną w domach sekcją „Przeczytaj”.
Nauczyciel wyświetla uczniom temat, wskazuje cele zajęć oraz ustala z uczestnikami zajęć 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 dzieli klasę na grupy. Każda z nich przygotowuje krótką prezentację dotyczącą jednej z reprezentacji grafów. Grupy wykorzystują informacje z sekcji „Przeczytaj” oraz innych dostępnych źródeł. Grupy prezentują swoje wystąpienia. Pozostała część klasy może zadawać dodatkowe pytania i prosić o wyjaśnienie. W razie potrzeby nauczyciel uzupełnia wypowiedź.
W kolejnym kroku uczniowie indywidualnie odtwarzają i testują programy omówione w sekcji.Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Prezentacja multimedialna”. Uczniowie wspólnie zapoznają się z treścią zawartego w niej multimedium. Zapisują ewentualne problemy i pytania. Po czym następuje dyskusja, w trakcie której nauczyciel wyjaśnia niezrozumiałe treści.
Ćwiczenie umiejętności. Uczniowie wykonują indywidualnie ćwiczenia nr 1–7 z sekcji „Sprawdź się”. Po wykonaniu każdego z nich następuje omówienie rozwiązania przez nauczyciela.
Liga zadaniowa – uczniowie pracując w parach, wykonują ćwiczenie nr 8 z sekcji „Sprawdź się”, a następnie dzielą się swoimi wynikami przez porównywanie napisanego kodu z inną grupą, która również zakończyła zadanie.
Faza podsumowująca:
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ę”.
Praca domowa:
Uczniowie wykonują ćwiczenie 9 z sekcji „Sprawdź się”.
Uczniowie wykonują polecenia 2‑4 z sekcji „Prezentacja multimedialna”.
Materiały pomocnicze:
Oficjalna dokumentacja techniczna dla języka C++.
Oficjalna dokumentacja techniczna dla kompilatora GCC/G++ 4.5 (lub nowszej wersji).
Oficjalna dokumentacja techniczna dla oprogramowania Code::Blocks 16.01 (lub nowszej wersji), Orwell Dev‑C++ 5.11 (lub nowszej wersji) lub Microsoft Visual Studio.
Wskazówki metodyczne:
Uczniowie mogą wykorzystać multimedium w sekcji „Prezentacja multimedialna” do przygotowania się do lekcji powtórkowej.