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

Przedmiot: Informatyka

Temat: Palindromy – zadania maturalne

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
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).
2) stosuje przy rozwiązywaniu problemów z różnych dziedzin algorytmy poznane w szkole podstawowej oraz algorytmy:
b) na tekstach: porównywania tekstów, wyszukiwania wzorca w tekście metodą naiwną, szyfrowania tekstu metodą Cezara i przestawieniową,
5) sprawdza poprawność działania algorytmów dla przykładowych danych.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:
1) w zależności od problemu rozwiązuje go, stosując metodę wstępującą lub zstępującą;
2) do realizacji rozwiązania problemu dobiera odpowiednią metodę lub technikę algorytmiczną i struktury danych;
3) objaśnia dobrany algorytm, uzasadnia poprawność rozwiązania na wybranych przykładach danych i ocenia jego efektywność;
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);
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:
1) projektuje i tworzy rozbudowane programy w procesie rozwiązywania problemów, wykorzystuje w programach dobrane do algorytmów struktury danych, w tym struktury dynamiczne i korzysta z dostępnych bibliotek dla tych struktur;
3) sprawnie posługuje się zintegrowanym środowiskiem programistycznym przy pisaniu, uruchamianiu i testowaniu programów;

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 przykładowe zadanie typu maturalnego wymagające zastosowania algorytmów tekstowych.

  • Prześledzisz propozycję rozwiązania zadania.

  • Rozwiążesz zadanie maturalne, używając algorytmu tekstowego.

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;

  • oprogramowanie dla języka Java SE 8 (lub nowszej wersji), w tym Eclipse 4.4 (lub nowszej wersji);

  • oprogramowanie dla języka Python 3 (lub nowszej wersji), w tym PyCharm lub IDLE.

Przebieg lekcji

Przed lekcją:

  1. Nauczyciel prosi uczniów o przygotowanie krótkiego podsumowania najważniejszych informacji dotyczących algorytmów tekstowych i palindromów.

  2. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‑materiał: „Palindromy – zadania maturalne”. Nauczyciel prosi uczniów o zapoznanie się z treściami w sekcji „Przeczytaj”.

Faza wstępna:

  1. Nauczyciel wyświetla temat oraz cele zajęć, omawiając lub ustalając razem z uczniami kryteria sukcesu.

  2. Rozpoznanie wiedzy uczniów. Nauczyciel zadaje uczniom pytanie dotyczące ich aktualnego stanu wiedzy w obszarze poruszanego tematu, opartego o programowanie.

Faza realizacyjna:

  1. Chętna lub wybrana osoba przypomina najważniejsze informacje dotyczące algorytmów tekstowych i palindromów. W razie potrzeby nauczyciel uzupełnia wypowiedź.

  2. Praca z tekstem. Nauczyciel wyświetla zawartość sekcji „Przeczytaj”. Na forum klasy uczniowie projektują rozwiązanie problemu. Nauczyciel w razie potrzeby wprowadza korekty do rozwiązania.

  3. Uczniowie w parach zapisują program, wykorzystując wybrany język programowania. Chętne lub wybrane osoby prezentują swoje propozycje.

  4. Praca z multimedium. Uczniowie w parach zapoznają się z treścią zadania w sekcji „Prezentacja multimedialna”. Następnie zapoznają się z prezentacją. W parach wykonują polecenia 2 oraz 3.

  5. Uczniowie indywidualnie wykonują zadanie zaprezentowane w sekcji „Sprawdź się”. Chętne lub wybrane osoby przedstawiają swoje programy na forum klasy.

Faza podsumowująca:

  1. Na koniec zajęć nauczyciel raz jeszcze wyświetla na tablicy temat lekcji i cele zawarte w sekcji „Wprowadzenie”. W odniesieniu do ich realizacji dokonuje szczegółowej oceny rozwiązania zastosowanego przez wybranego ucznia.

  2. Nauczyciel prosi uczniów o podsumowanie zgromadzonej wiedzy w zakresie programowania.

Praca domowa:

  1. Uczniowie piszą program, który rozwiąże problem postawiony w sekcji „Sprawdź się”, ale pobierają do niego dane z załączonego pliku, a nie korzystają ze zdefiniowanych tablic i list.

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.

  • Oficjalna dokumentacja techniczna dla języka Java SE 8 (lub nowszej wersji).

  • Oficjalna dokumentacja techniczna dla oprogramowania Eclipse 4.4 (lub nowszej wersji).

  • Oficjalna dokumentacja techniczna dla języka Python 3 (lub nowszej wersji).

  • Oficjalna dokumentacja techniczna dla oprogramowania PyCharm lub IDLE.

Wskazówki metodyczne:

  • Nauczyciel może zaproponować uczniom modyfikację programu z sekcji „Sprawdź się” – może ich poprosić, aby program wypisywał te numery kont, które nie są palindromiczne.