Autor: Maurycy Gast

Przedmiot: Informatyka

Temat: Sortowanie przez wybieranie w języku Java

Grupa docelowa:

Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum, zakres podstawowy

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 podstawowy. Uczeń:
1) planuje kolejne kroki rozwiązywania problemu, z uwzględnieniem podstawowych etapów myślenia komputacyjnego (określenie problemu, definicja modeli i pojęć, znalezienie rozwiązania, zaprogramowanie i testowanie rozwiązania).
4) porównuje działanie różnych algorytmów dla wybranego problemu, analizuje algorytmy na podstawie ich gotowych implementacji;
5) sprawdza poprawność działania algorytmów dla przykładowych danych.
II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych.
Zakres podstawowy. Uczeń:
1) projektuje i programuje rozwiązania problemów z różnych dziedzin, stosuje przy tym: instrukcje wejścia/wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje warunkowe, instrukcje iteracyjne, funkcje z parametrami i bez parametrów, testuje poprawność programów dla różnych danych; w szczególności programuje algorytmy z punktu I.2);

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 działanie algorytmu sortowania przez wybieranie.

  • Przeanalizujesz algorytm sortowania przez wybieranie pod kątem złożoności czasowej.

  • Zaimplementujesz w języku Java algorytm sortowania przez wybieranie.

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. Chętne lub wybrane osoby przygotowują krótkie wystąpienie na temat złożoności czasowej i stabilności omawianego algorytmu.

  2. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Sortowanie przez wybieranie w języku Java”. Uczniowie zapoznają się z treściami w sekcji „Przeczytaj” w kontekście programowania.

Faza wstępna:

  1. Nauczyciel wyświetla temat i cele zajęć zawarte w sekcji „Wprowadzenie”. Następnie wspólnie z uczniami ustala kryteria sukcesu.

  2. Rozpoznanie wiedzy uczniów. Nauczyciel prosi wybranego ucznia lub uczniów o przedstawienie sytuacji problemowej związanej z tematem lekcji.

Faza realizacyjna:

  1. Praca z tekstem. Uczniowie zapoznają się z treściami w sekcji „Przeczytaj”, jeśli nauczyciel – na podstawie raportu na platformie – uważa, że przygotowanie uczniów jest wystarczające, może pominąć tę czynność.

  2. Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Film samouczek”. Uczniowie w parach piszą w języku Java program wykorzystujący algorytm sortowania przez wybieranie. Nauczyciel sprawdza poprawność wykonania zadania.

  3. Uczniowie zapoznają się z filmem samouczkiem. Na forum klasy omawiają przedstawione w nim informacje.

  4. Wskazane osoby przedstawiają prezentacje przygotowane przed lekcją.

  5. Chętne lub wybrane osoby zadają pytania. W razie potrzeby nauczyciel uzupełnia prezentacje.

  6. Ćwiczenie umiejętności. Prowadzący zapowiada uczniom, że będą rozwiązywać ćwiczenie nr 1 z sekcji „Sprawdź się”. Każdy z uczniów robi to samodzielnie. Po ustalonym czasie następuje porównanie napisanych kodów podczas wspólnego omówienia rozwiązań.

  7. Uczniowie wykonują ćwiczenie 2 z sekcji „Sprawdź się”. Następnie nauczyciel na przykładzie ćwiczenia przedstawia, jak liczebność elementów w nieposortowanym zbiorze wpływa na złożoność obliczeniową algorytmu.

Faza podsumowująca:

  1. Nauczyciel zadane pytania podsumowujące, np.

    • czym jest sortowanie?

    • na czym polega algorytm sortowania przez wybieranie?

    • jaką nazwę nosi algorytm sortowania, w którym elementy o tej samej wartości klucza nie zmieniają kolejności względem siebie?

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

  3. Wybrany uczeń podsumowuje zajęcia z programowania w Javie, zwracając uwagę na nabyte umiejętności.

Praca domowa:

  1. Uczniowie realizują program opisany w sekcji „Przeczytaj” dla danych z pliku identyfikatory.txt

  2. Uczniowie wykonują polecenie 3 z sekcji „Film samouczek”.

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:

  • Treści w sekcji „Przeczytaj” można wykorzystać jako podsumowanie i utrwalenie wiedzy uczniów.