Informatyka w liceum (podstawa programowa od 2019)

Nauczanie informatyki na poziomie licealnym reguluje podstawa programowa opublikowana w Dz.U. 2018 poz. 467, z którego cytuję zapis poniżej, wg stanu na dzień 21. kwietnia 2019 r.

Zapisy podstawy programowej będę sukcesywnie uzupełniał o związane z nimi materiały.

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.

III. Posługiwanie się komputerem, urządzeniami cyfrowymi i sieciami komputerowymi, w tym: znajomość zasad działania urządzeń cyfrowych i sieci komputerowych oraz wykonywania obliczeń i programów.

IV. Rozwijanie kompetencji społecznych, takich jak: komunikacja i współpraca w grupie, w tym w środowiskach wirtualnych, udział w projektach zespołowych oraz zarządzanie projektami.

V. Przestrzeganie prawa i zasad bezpieczeństwa. Respektowanie prywatności informacji i ochrony danych, praw własności intelektualnej, etykiety w komunikacji i norm współżycia społecznego, ocena zagrożeń związanych z technologią i ich uwzględnienie dla bezpieczeństwa swojego i innych.

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:
    1. na liczbach: badania pierwszości liczby, zamiany reprezentacji liczb między pozycyjnymi systemami liczbowymi, działań na ułamkach z wykorzystaniem NWD i NWW,
      1. Sito Eratostenesa (szukanie liczb pierwszych, film 26:38)
      2. Wyodrębnianie cyfr z liczby – opis algorytmu oraz implementacja w językach: Java, Python, C++
    2. na tekstach: porównywania tekstów, wyszukiwania wzorca w tekście metodą naiwną, szyfrowania tekstu metodą Cezara i przestawieniową,
    3. porządkowania ciągu liczb: przez wstawianie i metodą bąbelkową, wydawania reszty najmniejszą liczbą nominałów, obliczania wartości elementów ciągu metodą iteracyjną i rekurencyjną, w tym wartości elementów ciągu Fibonacciego.
      1. Sortowanie bąbelkowe (11:04) – filmowe objaśnienie algorytmu
  3. wyróżnia w problemie podproblemy i charakteryzuje: metodę połowienia, stosuje podejście zachłanne i rekurencję;
    1. Algorytmy: Obliczanie pierwiastka – metoda połowienia przedziału – film 17:46 min.
  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.

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ść;
  4. ilustruje i wyjaśnia rolę pojęć, obiektów i operacji matematycznych w projektowaniu rozwiązań problemów informatycznych i z innych dziedzin, posługuje się pojęciem logarytmu;
  5. przedstawia sposoby reprezentowania w komputerze znaków, liczb, wartości logicznych, obrazów, dźwięków, animacji;
  6. objaśnia sposoby wykonywania przez komputer działań arytmetycznych i operacji logicznych;
  7. wyjaśnia, jakie może być źródło błędów pojawiających się w obliczeniach komputerowych: błąd zaokrąglenia, błąd przybliżenia;
  8. dyskutuje na temat roli myślenia komputacyjnego i jego metod, takich jak: abstrakcja, reprezentacja danych, dekompozycja problemu, redukcja, myślenie rekurencyjne, podejście heurystyczne w rozwiązywaniu problemów z różnych dziedzin.

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);
    1. Filmy: for (5:20), if (5:14), while (3:42), zmienne (23:09)
    2. Film: Tablice – wprowadzenie (19:57)
    3. Film: Obsługa pamięci w C++ (14:47)
  2. do realizacji rozwiązań problemów prawidłowo dobiera środowiska informatyczne, aplikacje oraz zasoby, wykorzystuje również elementy robotyki;
  3. przygotowuje opracowania rozwiązań problemów, posługując się wybranymi aplikacjami:
    1. projektuje modele dwuwymiarowe i trójwymiarowe, tworzy i edytuje projekty w grafice rastrowej i wektorowej, wykorzystuje różne formaty obrazów, przekształca pliki graficzne, uwzględniając wielkość i jakość obrazów,
      1. Poznaj GIMP-a – artykuł z ćwiczeniami
      2. Inkscape – wprowadzenie – artykuł z ćwiczeniami
    2. opracowuje dokumenty o różnorodnej tematyce, w tym informatycznej, i o rozbudowanej strukturze, posługując się przy tym konspektem
      dokumentu, dzieli tekst na sekcje i kolumny, tworzy spisy treści, rysunków i tabel, stosuje własne style i szablony, pracuje nad dokumentem w trybie recenzji, definiuje korespondencję seryjną,
    3. gromadzi dane pochodzące z różnych źródeł w tabeli arkusza kalkulacyjnego, korzysta z różnorodnych funkcji arkusza w zależności od rodzaju danych, filtruje dane według kilku kryteriów, dobiera odpowiednie wykresy do zaprezentowania danych, analizuje dane, korzystając z dodatkowych narzędzi, w tym z tabel i wykresów przestawnych,
    4. wyszukuje informacje, korzystając z bazy danych opartej na co najmniej dwóch tabelach, definiuje relacje, stosuje filtrowanie, formułuje kwerendy, tworzy i modyfikuje formularze, drukuje raporty,
    5. tworzy rozbudowane prezentacje, w tym z wykorzystaniem technik multimedialnych, ustala parametry pokazu,
    6. tworzy stronę internetową zgodnie ze standardami, wzbogaconą tabelami, listami, elementami dynamicznymi, posługuje się arkuszem stylów, korzysta z oprogramowania i serwisów przeznaczonych do tworzenia stron; potrafi opublikować własną stronę w internecie;
      1. Minikurs HTML i CSS w wersji filmowej
  4. wyszukuje w sieci potrzebne informacje i zasoby, ocenia ich przydatność oraz wykorzystuje w rozwiązywanych problemach.

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;
  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;
  4. przygotowując opracowania rozwiązań złożonych problemów, posługuje się wybranymi aplikacjami w stopniu zaawansowanym:
    1. tworzy i edytuje dwuwymiarowe oraz trójwymiarowe wizualizacje i animacje, stosuje właściwe formaty plików graficznych,
    2. uczestniczy w opracowaniu dokumentacji projektu zespołowego, pracując przy tym w odpowiednim środowisku,
    3. stosuje zaawansowane funkcje arkusza kalkulacyjnego w zależności od rodzaju danych, definiuje makropolecenia, zna możliwości wbudowanego języka programowania,
      1. Kurs arkusza Google, wersja tekstowa z ćwiczeniami, ilustrowana filmami
    4. projektuje i tworzy relacyjną bazę złożoną z wielu tabel oraz sieciową aplikację bazodanową dla danych związanych z rozwiązywanym problemem, formułuje kwerendy, tworzy i modyfikuje formularze oraz raporty, stosuje język SQL do wyszukiwania informacji w bazie i do jej modyfikacji, uwzględnia kwestie integralności danych, bezpieczeństwa i ochrony danych w bazie,
      1. Zadania maturalne (i nie tylko) z wykorzystaniem Accessa – playlista wielu filmów
    5. programuje elementy strony internetowej współpracujące z sieciową bazą danych;
  5. współtworzy otwarte zasoby i aktywności oraz umieszcza je w sieci, m.in. na platformie do e-nauczania.

I + II. Zakres rozszerzony

Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:

  1. zapisuje za pomocą listy kroków, schematu blokowego lub pseudokodu, i implementuje w wybranym języku programowania, algorytmy poznane na wcześniejszych etapach oraz algorytmy:
    1. algorytm Euklidesa w wersji iteracyjnej i rekurencyjnej wraz z zastosowaniami,
    2. znajdowania określonego elementu w zbiorze: lidera, idola, elementu w zbiorze uporządkowanym metodą binarnego wyszukiwania,
    3. generowania liczb pierwszych metodą sita Eratostenesa,
    4. jednoczesnego wyszukiwania elementu najmniejszego i największego,
    5. sortowania ciągu liczb przez scalanie,
    6. wyznaczania miejsc zerowych funkcji metodą połowienia,
      1. Algorytmy: Obliczanie pierwiastka – metoda połowienia przedziału – film 17:46 min.
    7. obliczania przybliżonej wartości pierwiastka kwadratowego,
    8. obliczania wartości wielomianu za pomocą schematu Hornera,
    9. szybkiego potęgowania liczb w wersji iteracyjnej i rekurencyjnej,
    10. badania położenia punktu względem prostej i przynależności punktu do odcinka,
    11. rekurencyjnego tworzenia fraktali: zbiór Cantora, drzewo binarne, dywan Sierpińskiego, płatek Kocha;
  2. wykorzystuje znane sobie algorytmy przy rozwiązywaniu i programowaniu rozwiązań następujących problemów:
    1. rozkładania liczby na czynniki pierwsze,
    2. wykonywania działań na liczbach w systemach innych niż dziesiętny,
    3. znajdowania w ciągu podciągów o różnorodnych własnościach, np. najdłuższego spójnego podciągu niemalejącego, spójnego podciągu o największej sumie,
    4. zamiany wyrażenia na postać w odwrotnej notacji polskiej i obliczanie jego wartości na podstawie tej postaci,
    5. badania przecinania się odcinków, przynależności punktu do trójkąta,
    6. obliczanie przybliżonej wielkości pola obszarów zamkniętych;
  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:
    1. wyszukiwanie elementów liniowe i przez połowienie (do znajdowania elementów w zbiorze, sortowania przez wstawianie, przybliżonego rozwiązywania równań, sprawdzania przynależności punktu do wielokąta wypukłego),
      1. Algorytmy: Obliczanie pierwiastka – metoda połowienia przedziału – film 17:46 min.
    2. rekurencję (do generowania ciągów liczb, potęgowania, sortowania liczb, generowania fraktali),
      1. Omówienie rekurencyjnego zadania z matury 2017 (film YouTube): cz.1 (26:11), cz. 2 (14:05), cz. 3 (10:12), cz.4 (17:49)
    3. metodę dziel i zwyciężaj (jednoczesne znajdowanie minimum i maksimum, sortowanie przez scalanie i szybkie),
    4. podejście zachłanne (do wydawania reszty, pakowania plecaka, szukania najkrótszej drogi),
    5. programowanie dynamiczne (do pakowania plecaka, szukania najdłuższego wspólnego podciągu),
    6. metodę szyfrowania z kluczem publicznym i jej zastosowanie w podpisie elektronicznym,
    7. metodę haszowania (wyszukiwanie wzorca w tekście),
    8. metodę Monte Carlo (obliczanie przybliżonej wartości liczby π, symulacja ruchów Browna),
    9. struktury dynamiczne: stos, kolejka, lista (do realizacji algorytmu: ONP, symulacji problemu Flawiusza, sortowania leksykograficznego),
    10. grafy (do przedstawiania abstrakcyjnego modelu sytuacji problemowych).

III. Posługiwanie się komputerem, urządzeniami cyfrowymi i sieciami komputerowymi

Zakres podstawowy

Uczeń:

  1. zapoznaje się z możliwościami nowych urządzeń cyfrowych i towarzyszącego im oprogramowania;
  2. objaśnia funkcje innych niż komputer urządzeń cyfrowych i korzysta z ich możliwości;
  3. rozwiązuje problemy korzystając z różnych systemów operacyjnych;
  4. charakteryzuje sieć internet, jej ogólną budowę i usługi, opisuje podstawowe topologie sieci komputerowej, przedstawia i porównuje zasady działania i funkcjonowania sieci komputerowej typu klient-serwer, peer-to-peer, opisuje sposoby identyfikowania komputerów w sieci.

Zakres rozszerzony

Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:

  1. projektuje rozbudowę i zakup nowego zestawu komputerowego oraz oprogramowania;
  2. dokonuje kompresji informacji, objaśnia różnice między kompresją stratną i bezstratną tekstów, obrazów, dźwięków, filmów;
  3. opisuje warstwowy model sieci komputerowej oraz model sieci internet, opisuje podstawowe funkcje urządzeń i protokoły stosowane w przepływie informacji i w zarządzaniu siecią;
  4. konfiguruje przykładową lokalną sieć komputerową oraz bezprzewodowy dostęp do sieci internet;
  5. wyjaśnia, od czego zależy sprawne funkcjonowanie sieci komputerowej oraz szybki dostęp do jej usług i zasobów (parametry osprzętu sieciowego, szerokość pasma, zabezpieczenia typu ściana ogniowa i programy antywirusowe, możliwości serwera)

IV. Rozwijanie kompetencji społecznych

Zakres podstawowy

Uczeń:

  1. aktywnie uczestniczy w realizacji projektów informatycznych rozwiązujących problemy z różnych dziedzin, przyjmuje przy tym różne role w zespole realizującym projekt i prezentuje efekty wspólnej pracy;
  2. podaje przykłady wpływu informatyki i technologii komputerowej na najważniejsze sfery życia osobistego i zawodowego; korzysta z wybranych
    e-usług; przedstawia wpływ technologii na dobrobyt społeczeństw i komunikację społeczną;
  3. objaśnia konsekwencje wykluczenia i pozytywne aspekty włączenia cyfrowego; przedstawia korzyści, jakie przynosi informatyka i technologia
    komputerowa osobom o specjalnych potrzebach;
  4. bezpiecznie buduje swój wizerunek w przestrzeni medialnej;
  5. przedstawia trendy w historycznym rozwoju informatyki i technologii oraz ich wpływ na rozwój społeczeństw;
  6. poszerza i uzupełnia swoją wiedzę korzystając z zasobów udostępnionych na platformach do e-nauczania.

Zakres rozszerzony

Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:

  1. przy realizacji zespołowego projektu programistycznego posługuje się środowiskiem przeznaczonym do współpracy i realizacji projektów zespołowych, w tym środowiskiem w chmurze; współtworzy zasoby udostępniane na platformach do e-nauczania;
  2. analizuje i charakteryzuje wpływ trendów w historycznym rozwoju pojęć, metod informatyki oraz technologii na możliwości rozwiązywania problemów teoretycznych i praktycznych;
  3. przygotowuje się do świadomego wyboru kierunku i zakresu dalszego kształcenia, głównie informatycznego, z myślą o przyszłej karierze zawodowej.

V. Przestrzeganie prawa i zasad bezpieczeństwa.

Zakres podstawowy

Uczeń:

  1. postępuje zgodnie z zasadami netykiety oraz regulacjami prawnymi dotyczącymi: ochrony danych osobowych, ochrony informacji oraz prawa autorskiego i ochrony własności intelektualnej w dostępie do informacji; jest świadomy konsekwencji łamania tych zasad;
  2. respektuje obowiązujące prawo i normy etyczne dotyczące korzystania i rozpowszechniania oprogramowania komputerowego, aplikacji cudzych i własnych oraz dokumentów elektronicznych;
  3. stosuje dobre praktyki w zakresie ochrony informacji wrażliwych (np. hasła, pin), danych i bezpieczeństwa systemu operacyjnego, objaśnia rolę szyfrowania informacji;
  4. opisuje szkody, jakie mogą spowodować działania pirackie w sieci, w odniesieniu do indywidualnych osób, wybranych instytucji i całego społeczeństwa.

Zakres rozszerzony

Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:

  1. objaśnia rolę technik uwierzytelniania, kryptografii i podpisu elektronicznego w ochronie i dostępie do informacji;
    1. https://www.youtube.com/watch?v=ONcjKxMH80E
  2. omawia znaczenie algorytmów szyfrowania i składania podpisu elektronicznego.