Dla nauczyciela
Autor: Maurycy Gast
Przedmiot: Informatyka
Temat: Problem ośmiu hetmanów w języku C++
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):
Wyjaśnisz, na czym polega problem ośmiu hetmanów.
Przeanalizujesz algorytm rozwiązujący problem ośmiu hetmanów, wykorzystujący nawroty do poprzednich kroków.
Zaimplementujesz algorytm, odnajdujący rozwiązania problemu ośmiu hetmanów w języku C++ oraz jego uogólnienie dla innych rozmiarów szachownicy.
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;
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ą:
Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Problem ośmiu hetmanów w języku C++”. Uczniowie zapoznają się z treściami w sekcji „Przeczytaj”.
Faza wstępna:
Nauczyciel wyświetla temat oraz cele zajęć, omawiając lub ustalając razem z uczniami kryteria sukcesu.
Prowadzący prosi uczniów, aby zgłaszali swoje propozycje pytań do tematu. Jedna osoba może zapisywać je na tablicy. Gdy uczniowie wyczerpią swoje pomysły, a pozostały jakieś ważne kwestie do poruszenia, nauczyciel je dopowiada.
Faza realizacyjna:
Praca z tekstem. Jeżeli przygotowanie uczniów do lekcji jest niewystarczające, nauczyciel prosi o indywidualne zapoznanie się z treścią zawartą w sekcji „Przeczytaj”. Każdy uczestnik zajęć podczas cichego czytania wynotowuje najważniejsze kwestie poruszane w tekście.
Praca z multimedium. Nauczyciel czyta polecenie nr 1 z sekcji „Symulacja interaktywna”. Prosi uczniów, aby wykonali je w parach. Następnie wybrana osoba prezentuje propozycję odpowiedzi, a pozostali uczniowie ustosunkowują się do niej. Nauczyciel w razie potrzeby uzupełnia ją, udziela też uczniom informacji zwrotnej.
W kolejnym etapie uczniowie dobierają się w pary i wykonują ćwiczenia nr 1 i 2 z sekcji „Sprawdź się”. Następnie konsultują swoje rozwiązania z inną parą uczniów i ustalają jedną wersję odpowiedzi.
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ę”.
Nauczyciel prosi uczniów o podsumowanie zgromadzonej wiedzy w zakresie programowania w języku C++.
Praca domowa:
Poszukaj informacji na temat złożoności czasowej oraz obliczeniowej poznanego algorytmu. Ile czasu potrzebowałby współczesny komputer, żeby rozwiązać problem ośmiu hetmanów? Ile komputer, który wysłał ludzi w kosmos?
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ć treści w sekcjach: „Przeczytaj”, „Symulacja interaktywna”, „Sprawdź się” jako materiał do lekcji powtórkowej.