Autor: zespół autorski Contentplus.pl sp. z o.o.

Przedmiot: Informatyka

Temat: Programowanie dynamiczne dla problemu plecakowego w języku Java

Grupa docelowa:

Liceum ogólnokształcące i technikum, 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
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:
2) stosuje zasady programowania strukturalnego i obiektowego w rozwiązywaniu problemów;
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:
e) programowanie dynamiczne (do pakowania plecaka, szukania najdłuższego wspólnego podciągu),
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):

  • Wykorzystasz technikę programowania dynamicznego w rozwiązaniu problemu plecakowego.

  • Przeanalizujesz przykład zastosowania programowania dynamicznego w rozwiązaniu ogólnego i decyzyjnego problemu plecakowego w języku Java.

  • Zaimplementujesz rozwiązanie ogólnego i decyzyjnego problemu plecakowego w języku Java.

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 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ł: „Programowanie dynamiczne dla problemu plecakowego w języku Java”.

  2. Chętna lub wybrana osoba przygotowuje krótką prezentację dotyczącą problemu plecakowego.

Faza wstępna:

  1. Nauczyciel wprowadza uczniów szczegółowo w temat lekcji i jej cele. Może posłużyć się wyświetloną na tablicy zawartością sekcji „Wprowadzenie”.

  2. 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:

  1. Osoba, która przygotowała prezenację dotyczącą problemu plecakowego, przedstawia ją na forum klasy.

  2. Chętna lub wybrana osoba notuje w formie mapy myśli informacje przekazywane przez osobę, która wygłasza prezentację.

  3. W razie potrzeby nauczyciel uzupełnia notatkę.

  4. Praca z tekstem. Uczniowie w parach zapoznają się z sekcją „Przeczytaj”. Wynotowują najważniejsze informacje. Pary łączą się w czwórki i porównują swoje notatki. Następnie czwórki porównują swoje notatki na forum klasy. Nauczyciel w razie potrzeby dopowiada brakujące informacje.

  5. 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. Następuje dyskusja, w trakcie której nauczyciel wyjaśnia niezrozumiałe treści.

  6. Ćwiczenie umiejętności. Uczniowie wykonują ćwiczenia nr 1‑3 z sekcji „Sprawdź się”. Nauczyciel sprawdza poprawność wykonanych zadań, omawiając je wraz z uczniami.

  7. W kolejnym etapie uczniowie dobierają się w pary i wykonują ćwiczenia nr 4 i 5. Następnie konsultują swoje rozwiązania z inną parą uczniów i ustalają jedną wersję odpowiedzi.

Faza podsumowująca:

  1. 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ę”.

  2. Na koniec zajęć z programowania w Java nauczyciel prosi uczniów o rozwinięcie zdania: „Na dzisiejszych zajęciach nauczyłam/łem się jak…”.

Praca domowa:

  1. Uczniowie wykonują polecenia nr 2 i 3 z sekcji „Prezentacja multimedialna”.

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

Wskazówki metodyczne:

  • Multimedium w sekcji „Film samouczek” można potraktować jako zadanie domowe dotyczące analizy problemu zawartego w temacie „Programowanie dynamiczne dla problemu plecakowego w języku Java”.