Dla nauczyciela
Autor: Maurycy Gast
Przedmiot: Informatyka
Temat: Sortowanie przez scalanie 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):
Przeanalizujesz, czym jest rekurencja oraz metoda „dziel i zwyciężaj”.
Scharakteryzujesz działanie algorytmu sortowania przez scalanie.
Napiszesz program wykorzystujący ten algorytm.
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ą:
Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Sortowanie przez scalanie w języku C++”. Uczniowie mają zapoznać się z treściami w sekcji „Film samouczek” i wykonać obliczenia na podstawie dołączonych danych.
Faza wstępna:
Przedstawienie tematu i celów zajęć.
Rozpoznanie wiedzy uczniów. Nauczyciel prosi wybranego ucznia lub uczniów o przedstawienie sytuacji problemowej związanej z tematem lekcji.
Faza realizacyjna:
Uczniowie analizują film z sekcji „Film samouczek” wyświetlony na tablicy. Wybrany uczeń czyta treść polecenia nr 1: „Napisz program sortujący wyniki ankiety dotyczącej równości w życiu społecznym, zrealizowanej przez CBOS w 2000 roku. Wykorzystaj w tym celu sortowanie przez scalanie (merge sort)” i omawia przykładowe rozwiązanie postawionego problemu.
Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Prezentacja multimedialna”. Uczniowie wspólnie zapoznają się z jego treścią. 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 ćwiczenie nr 1: „Napisz program, w którym utworzysz kopię tablicy
zbior
bez pierwszych oraz ostatnich trzech elementów. Nazwij jąkopiaZbioru
. Następnie wypisz jej elementy, oddzielając je znakiem spacji”, a następnie porównują swoje odpowiedzi z kolegą lub koleżanką.Liga zadaniowa – uczniowie pracując w parach, wykonują ćwiczenie nr 2: „Napisz program, w którym scalisz dwie posortowane tablice w jedną (również posortowaną). Wypisz utworzoną tablicę oddzielając jej elementy znakiem spacji” 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 prosi uczniów o podsumowanie zgromadzonej wiedzy w zakresie programowania w języku C++.
Praca domowa:
Uczniowie wykonują ćwiczenie nr 3: „Napisz program, w którym posortujesz malejąco daną tablicę
tablica
, używając algorytmu sortowania przez scalanie. Wypisz jej elementy, oddzielając je znakiem spacji” z sekcji „Sprawdź się”.
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:
Treści w sekcji „Film samouczek” można wykorzystać jako podsumowanie i utrwalenie wiedzy uczniów.