Algorytm – co to jest i gdzie się go wykorzystuje

Czym jest algorytm? Poznaj definicję, cechy, rodzaje i zastosowania algorytmów w informatyce, szkole i życiu codziennym. Przewodnik z przykładami.

Spis treści

Co to jest algorytm? Definicja dla ucznia i nie tylko

Algorytm to skończony, uporządkowany ciąg jednoznacznych kroków prowadzących do rozwiązania problemu; tak rozumie go informatyka od prac Donalda E. Knutha z 1968 roku, a formalne podstawy obliczalności wiążą się z Alanem Turingiem i jego modelem z 1936 roku. Nazwa pochodzi od Muhammada ibn Musy al-Chwarizmiego.

Z mojej praktyki pracy z uczniami wynika, że największy błąd pojawia się już na starcie: uczeń słyszy „algorytm” i od razu myśli „program”. Tymczasem program to dopiero zapis algorytmu w konkretnym języku, na przykład Pythonie, Javie albo C++. Sam algorytm może być opisem słownym, schematem blokowym, pseudokodem albo instrukcją wykonania czynności.

„Parafraza: algorytm ma być skończony, jednoznaczny, skuteczny i opisywać wejście oraz wyjście procedury” – Donald E. Knuth, The Art of Computer Programming, Vol. 1, 1968

Skąd pochodzi słowo algorytm?

Słowo algorytm pochodzi od zlatynizowanego imienia Muhammada ibn Musy al-Chwarizmiego, matematyka działającego w Bagdadzie około 780-850 roku n.e. W łacińskich przekładach jego nazwisko zapisywano jako Algoritmi, a z czasem zaczęto nim określać metody obliczeń krok po kroku.

  • Muhammad ibn Musa al-Chwarizmi – uczony związany z Bagdadem, którego prace nad rachunkiem i algebrą wpłynęły na europejską matematykę.
  • Alan Turing – matematyk z Cambridge, który w 1936 roku opisał model obliczeń znany jako maszyna Turinga.
  • Donald E. Knuth – informatyk ze Stanfordu, autor kanonicznego opracowania o algorytmach i analizie ich efektywności.
  • Heurystyka – metoda przybliżona, która może działać dobrze w praktyce, ale nie zawsze daje gwarancję poprawnego wyniku.
  • Program komputerowy – wykonany w języku programowania zapis algorytmu, zależny od składni i środowiska uruchomieniowego.

Czym różni się algorytm od programu komputerowego?

Algorytm to plan rozwiązania problemu, a program komputerowy to jego konkretna implementacja w języku programowania. Jeden algorytm wyszukiwania binarnego można zapisać w Pythonie, C++, JavaScript albo Scratchu, ale jego logika pozostaje ta sama.

Dobry test brzmi prosto: jeśli da się wytłumaczyć rozwiązanie bez komputera, prawdopodobnie mówimy o algorytmie. Przykład? „Sprawdź środkowy element posortowanej listy, odrzuć połowę, powtarzaj do znalezienia wyniku” – to algorytm wyszukiwania binarnego, nie jeszcze program.

Jakie cechy musi mieć dobry algorytm?

Dobry algorytm musi być skończony, jednoznaczny, poprawny, efektywny i ogólny; te cechy porządkują klasyczną analizę algorytmów opisywaną przez Knutha w 1968 roku. W szkole pomagają odróżnić prawdziwą procedurę od luźnej instrukcji typu „zrób to jakoś szybciej”.

W zadaniach uczniowskich najczęściej widzę dwa problemy: pętlę bez warunku zakończenia albo instrukcję, którą każdy zrozumie inaczej. Obie sytuacje psują algorytm, nawet jeśli pomysł wydaje się sensowny.

Co oznacza, że algorytm jest skończony i jednoznaczny?

Algorytm jest skończony wtedy, gdy kończy działanie po określonej liczbie kroków, a jednoznaczny wtedy, gdy każdy krok można wykonać bez domyślania się intencji autora. „Mieszaj do uzyskania dobrej konsystencji” jest słabe; „mieszaj przez 3 minuty” jest precyzyjne.

  • Skończoność – algorytm musi mieć warunek stopu, bo nieskończona pętla nie rozwiązuje problemu.
  • Jednoznaczność – instrukcja „posortuj liczby rosnąco” jest jasna, ale „uporządkuj ładnie” nie spełnia tego warunku.
  • Poprawność – algorytm dla każdego poprawnego wejścia powinien dawać oczekiwane wyjście.
  • Efektywność – algorytm powinien zużywać rozsądną liczbę operacji i pamięci, opisywaną często notacją Big O.
  • Ogólność – algorytm powinien działać dla całej klasy przypadków, na przykład dla dowolnej listy liczb, nie tylko dla pięciu liczb z ćwiczenia.

Jak złożoność obliczeniowa wpływa na jakość algorytmu?

Złożoność obliczeniowa mówi, jak szybko rośnie liczba operacji, gdy rośnie rozmiar danych wejściowych. Algorytm O(log n) dla miliona elementów może wymagać około 20 porównań, a algorytm O(n) nawet miliona porównań, jeśli trzeba sprawdzić wszystko.

To nie jest akademicki szczegół. Gdy aplikacja sprawdza tysiące rekordów, różnica między O(n), O(n log n) i O(n²) zaczyna być odczuwalna. Uczniom tłumaczę to na przykładzie szukania nazwiska w dzienniku: jeśli lista jest alfabetyczna, nie czytamy jej od początku do końca.

Jakie są rodzaje algorytmów i czym się różnią?

Rodzaje algorytmów można porządkować według sposobu działania: deterministyczne i losowe, iteracyjne i rekurencyjne, zachłanne, dynamiczne oraz heurystyczne. Ta klasyfikacja pomaga dobrać metodę do problemu, zamiast uczyć się nazw bez związku z praktyką.

Czym różni się algorytm deterministyczny od niedeterministycznego?

Algorytm deterministyczny dla tych samych danych zawsze daje ten sam wynik, a algorytm losowy może korzystać z elementu przypadku. Sortowanie bąbelkowe, algorytm Euklidesa i mergesort są deterministyczne; metody Monte Carlo wykorzystują losowanie.

Typ algorytmu Jak działa Przykład Typowe zastosowanie
Deterministyczny Dla tego samego wejścia daje ten sam wynik. Algorytm Euklidesa Obliczanie największego wspólnego dzielnika.
Iteracyjny Powtarza kroki w pętli. Sumowanie liczb od 1 do n Proste obliczenia szkolne i programistyczne.
Rekurencyjny Wywołuje sam siebie dla mniejszego problemu. Silnia, ciąg Fibonacciego Drzewa, podział problemu, matematyka.
Zachłanny Wybiera lokalnie najlepszą decyzję. Wydawanie reszty monetami Optymalizacja, harmonogramy, trasy.
Dynamiczny Zapamiętuje wyniki podproblemów. Programowanie dynamiczne dla Fibonacciego Problemy z powtarzającymi się obliczeniami.

Czym różni się algorytm rekurencyjny od iteracyjnego?

Algorytm rekurencyjny rozwiązuje problem przez odwołanie do mniejszej wersji tego samego problemu, a iteracyjny używa pętli. Rekurencja bywa elegancka, ale dla początkujących pętla jest zwykle łatwiejsza do prześledzenia krok po kroku.

  • Rekurencja – dobrze pasuje do struktur drzewiastych, na przykład folderów, grafów i wyrażeń matematycznych.
  • Iteracja – ułatwia debugowanie, bo uczeń widzi zmienną licznika i warunek zakończenia pętli.
  • Algorytm zachłanny – działa szybko, lecz nie zawsze daje globalnie najlepszy wynik, co trzeba sprawdzić dla danego problemu.
  • Algorytm dynamiczny – ogranicza powtórne liczenie tych samych wartości dzięki zapamiętywaniu wyników.
  • Heurystyka – przydaje się tam, gdzie pełne sprawdzenie wszystkich możliwości byłoby zbyt kosztowne.

Kiedy stosować algorytm zachłanny?

Algorytm zachłanny stosuje się wtedy, gdy lokalnie najlepszy wybór prowadzi do dobrego lub optymalnego wyniku dla całego problemu. Przykładem szkolnym jest wydawanie reszty największymi dostępnymi monetami, choć ta metoda zależy od systemu nominałów.

Jak zapisuje się algorytm? Formy reprezentacji

Algorytm zapisuje się najczęściej jako lista kroków, pseudokod, schemat blokowy albo kod programu; polska podstawa programowa MEN z 2017 roku wymaga pracy z takimi reprezentacjami na lekcjach informatyki. Najpierw ustala się logikę, dopiero potem wybiera język programowania.

Jak zapisać algorytm krok po kroku?

Najprościej zapisać algorytm jako ponumerowaną listę instrukcji: określ wejście, wykonaj działania w kolejności, sprawdź warunki i podaj wynik. Taki zapis sprawdza się u uczniów klas 4-6, zanim przejdą do pseudokodu i Scratcha.

  1. Określ wejście, czyli dane startowe, na przykład lista ocen ucznia albo trzy długości boków trójkąta.
  2. Określ wyjście, czyli oczekiwany wynik, na przykład średnia ocen albo informacja, czy trójkąt istnieje.
  3. Zapisz kroki w języku naturalnym, unikając słów typu „jakoś”, „odpowiednio” i „mniej więcej”.
  4. Dodaj warunki decyzyjne, na przykład „jeśli średnia jest co najmniej 4,75, wypisz wyróżnienie”.
  5. Sprawdź algorytm na danych prostych, granicznych i nietypowych, bo tam najczęściej ujawniają się błędy.

Co to jest schemat blokowy i jak go rysować?

Schemat blokowy to graficzny zapis algorytmu, w którym owal oznacza start lub koniec, prostokąt operację, romb decyzję TAK/NIE, a strzałki pokazują przepływ sterowania. W praktyce szkolnej odróżnia się go od mapy myśli i diagramu UML.

Przy nauczaniu zdalnym proszę uczniów, by najpierw narysowali schemat blokowy na kartce. Ten etap wychwytuje błędy szybciej niż kompilator: brak wyjścia z pętli, pomylone warunki albo wynik wypisywany przed obliczeniem.

Jak używać pseudokodu, Pythona i Scratcha?

Pseudokod pozwala opisać logikę bez pilnowania pełnej składni języka, Python uczy tekstowego programowania, a Scratch z MIT Media Lab pokazuje algorytm w blokach. Dla dzieci lepszy bywa Scratch, dla licealistów – Python.

  • Pseudokod algorytmu – dobry wybór na kartkówkę, maturę próbną i analizę przed pisaniem programu.
  • Scratch – środowisko blokowe, które pomaga zrozumieć pętle, warunki i zmienne bez błędów składni.
  • Python – czytelny język tekstowy, często wybierany do nauki algorytmów od podstaw.
  • Flowgorithm – narzędzie do rysowania schematów blokowych i obserwowania działania krok po kroku.
  • OEIiZK – instytucja edukacyjna, której materiały pomagają łączyć podstawę programową z praktyką szkolną.

Gdzie algorytmy są używane w informatyce i programowaniu?

Algorytmy są rdzeniem programowania: sortują dane, wyszukują rekordy, szyfrują komunikację, kompresują pliki i wyznaczają ścieżki w grafach. Wyszukiwanie binarne ma złożoność O(log n), więc dla 1 000 000 uporządkowanych elementów wystarcza około 20 porównań zamiast sprawdzania wszystkich pozycji.

Jakie algorytmy sortowania trzeba znać?

Uczeń powinien znać przynajmniej sortowanie bąbelkowe, quicksort Tony’ego Hoare’a z 1959 roku i mergesort, bo pokazują różnicę między prostotą a efektywnością. Sortowanie bąbelkowe ma O(n²), a quicksort i mergesort zwykle omawia się przy O(n log n).

  • Sortowanie bąbelkowe – proste do pokazania na tablicy, lecz wolne przy dużych danych, bo porównuje wiele sąsiednich par.
  • Quicksort – algorytm Tony’ego Hoare’a, szybki w praktyce, ale zależny od wyboru elementu dzielącego.
  • Mergesort – algorytm stabilny, który dzieli dane na części i scala je w uporządkowaną całość.
  • Wyszukiwanie liniowe – działa na dowolnej liście, ale w najgorszym przypadku sprawdza każdy element.
  • Wyszukiwanie binarne – wymaga posortowanej listy, za to redukuje obszar szukania o połowę w każdym kroku.

Kiedy stosować wyszukiwanie liniowe, a kiedy binarne?

Wyszukiwanie liniowe stosuje się dla małych lub nieposortowanych zbiorów, a binarne wtedy, gdy dane są uporządkowane. Jeśli lista ma 32 elementy, różnica bywa mała; przy milionie rekordów binarne wyszukiwanie pokazuje swoją przewagę.

Jak działają algorytmy szyfrowania i grafowe?

Algorytmy szyfrowania, takie jak AES-256 i RSA, chronią dane w bankowości oraz komunikacji HTTPS, a algorytmy grafowe, takie jak BFS, DFS i algorytm Dijkstry, analizują połączenia między obiektami. To ten sam sposób myślenia: obiekty, relacje, koszt przejścia.

„Parafraza: analiza algorytmu obejmuje nie tylko poprawność, lecz także czas i pamięć potrzebne do wykonania obliczeń” – Donald E. Knuth, The Art of Computer Programming, Vol. 1, 1968

Jak algorytmy działają w życiu codziennym?

Algorytmy działają w życiu codziennym wtedy, gdy wykonujemy uporządkowaną procedurę: gotujemy według przepisu, sortujemy dokumenty, wybieramy najkrótszą trasę lub filtrujemy wyniki wyszukiwania. Algorytm Dijkstry, opisany przez Edsgera W. Dijkstrę w 1956 roku, jest klasyczną metodą szukania najkrótszej ścieżki w grafie.

Czy przepis kulinarny może być algorytmem?

Tak, przepis kulinarny może być algorytmem, jeśli ma dane wejściowe, kroki, warunki i wynik końcowy. Składniki są wejściem, instrukcje są procedurą, a gotowe ciasto lub zupa są wyjściem.

  • Przepis na naleśniki – zawiera sekwencję czynności: odmierz mleko, dodaj jajka, wymieszaj ciasto i usmaż porcje.
  • Instrukcja prania – używa warunków: jeśli tkanina jest wełniana, wybierz niższą temperaturę i łagodny program.
  • Plan dnia ucznia – działa jak lista kroków z ograniczeniami czasowymi, na przykład lekcja, przerwa, zadanie domowe.
  • Sortowanie poczty – listonosz intuicyjnie minimalizuje trasę, grupując adresy według ulic i kolejności przejścia.
  • Procedura ewakuacji – wymaga jednoznacznych kroków, bo nie ma miejsca na dowolną interpretację wykonawcy.

Jak algorytmy wpływają na nawigację GPS i wyszukiwarki?

Nawigacja GPS używa algorytmów grafowych do porównywania tras, a wyszukiwarki porządkują strony według wielu sygnałów jakości i trafności. Pełne reguły rankingowe firm technologicznych nie są publiczne, dlatego trzeba mówić o zasadach ogólnych, nie o zamkniętych receptach.

Czy algorytmy mediów społecznościowych pokazują zawsze najlepsze treści?

Nie, algorytmy mediów społecznościowych pokazują treści przewidywane jako angażujące, a niekoniecznie najlepsze edukacyjnie lub najważniejsze. Firmy zmieniają te systemy regularnie i nie ujawniają wszystkich reguł, więc użytkownik powinien zachować krytyczny dystans.

Dobrym ćwiczeniem dla ucznia jest porównanie feedu po tygodniu oglądania filmów sportowych i po tygodniu oglądania materiałów z geografii. Zmiana rekomendacji zwykle pojawia się szybko, bo system uczy się sygnałów: kliknięć, czasu oglądania, polubień i pominięć.

Czy algorytmy są podstawą sztucznej inteligencji i uczenia maszynowego?

Tak, sztuczna inteligencja i uczenie maszynowe opierają się na algorytmach, ale nie każdy algorytm jest sztuczną inteligencją. Regresja liniowa, drzewa decyzyjne, sieci neuronowe i transformery uczą modele rozpoznawania wzorców z danych, zamiast ręcznego wpisywania każdej reguły.

Czym różni się algorytm od modelu AI?

Algorytm trenuje model lub opisuje sposób działania, a model AI jest wynikiem uczenia na danych. Używam analogii kulinarnej: algorytm to przepis i sposób gotowania, dane to składniki, a model to gotowa potrawa oceniana po smaku.

  • Regresja liniowa – przewiduje wartość liczbową, na przykład wynik testu na podstawie liczby godzin nauki.
  • Drzewo decyzyjne – klasyfikuje przypadki przez serię pytań, podobnie jak rozgałęziony schemat blokowy.
  • Sieć neuronowa – uczy się zależności w wielu warstwach, co pomaga w obrazie, mowie i tekście.
  • Transformer – architektura używana w dużych modelach językowych, takich jak GPT i Gemini.
  • Dane treningowe – materiał, z którego model uczy się wzorców, ale też potencjalnych błędów i uprzedzeń.

Czy AI może wzmacniać błędy z danych?

Tak, AI może wzmacniać błędy i uprzedzenia obecne w danych treningowych, dlatego wynik modelu trzeba oceniać krytycznie. W edukacji oznacza to prostą zasadę: model językowy pomaga w nauce, ale nie zastępuje podręcznika, nauczyciela ani oficjalnych wymagań.

Przy tekstach szkolnych polecam uczniom porównywać odpowiedzi AI z materiałami źródłowymi: MEN, CKE, podręcznikiem i zadaniami z lekcji. To uczy myślenia algorytmicznego oraz informacyjnej higieny. Przy okazji można zajrzeć do sztuczna inteligencja dla uczniów – co warto wiedzieć?.

Algorytm w podstawie programowej – co uczeń musi wiedzieć?

Zgodnie z podstawą programową MEN z 2017 roku uczeń szkoły podstawowej poznaje algorytmy, schematy blokowe, proste programy i środowiska blokowe od klasy 4, a na dalszych etapach dochodzą pseudokod, pętle, warunki, sortowanie i analiza poprawności. Aktualne wymagania maturalne trzeba sprawdzać w CKE.

Co uczeń szkoły podstawowej powinien umieć?

Uczeń szkoły podstawowej powinien rozumieć algorytm jako instrukcję krok po kroku, umieć zapisać prostą procedurę i przedstawić ją w środowisku blokowym, na przykład Scratchu. W klasach 7-8 dochodzą pętle, warunki, wyszukiwanie i proste sortowanie.

  • Klasy 4-6 – uczeń tworzy proste instrukcje, sekwencje i programy blokowe zgodne z podstawą MEN 2017.
  • Klasy 7-8 – uczeń poznaje schemat blokowy algorytmu, warunki, pętle i podstawowe operacje na danych.
  • Liceum – uczeń analizuje algorytmy, używa pseudokodu i poznaje rekurencję oraz złożoność obliczeniową.
  • Matura z informatyki – CKE wymaga pracy z algorytmem w pseudokodzie lub języku programowania, zależnie od aktualnego informatora.
  • PTI i OEIiZK – instytucje wspierające edukację informatyczną i materiały dla nauczycieli oraz uczniów.

Kiedy sprawdzać wymagania CKE?

Wymagania CKE najlepiej sprawdzać przed rozpoczęciem przygotowań do matury i ponownie na początku klasy maturalnej, bo informatory oraz komunikaty egzaminacyjne mogą się zmieniać. Dane dotyczące matury i podstawy programowej warto weryfikować co roku u źródła.

„Parafraza: uczeń rozwija rozumienie pojęć informatycznych oraz rozwiązuje problemy z użyciem algorytmów i programowania” – Ministerstwo Edukacji Narodowej, Podstawa programowa informatyki, 2017

Rodzicom uczniów w nauczaniu domowym doradzam prostą kolejność: najpierw Scratch, potem schemat blokowy, później pseudokod i dopiero Python. Taka ścieżka zmniejsza frustrację, bo uczeń najpierw widzi logikę, a dopiero później walczy ze składnią. Przyda się też materiał informatyka w szkole podstawowej – podstawa programowa 2017 oraz Scratch – nauka programowania blokowego dla dzieci krok po kroku.

Jak samodzielnie zaprojektować prosty algorytm?

Projektowanie algorytmu zaczyna się od precyzyjnego określenia wejścia i wyjścia, potem przechodzi przez dekompozycję, zapis kroków, schemat blokowy, test ręczny i ocenę efektywności. To procedura dobra dla ucznia, rodzica w edukacji domowej i początkującego programisty.

Jak zaprojektować algorytm krok po kroku?

Najpierw zapisz problem jednym zdaniem, potem określ dane wejściowe, oczekiwany wynik, warunki i przykłady testowe. Dopiero po tym twórz pseudokod albo program, bo kodowanie bez planu zwykle kończy się chaosem.

  1. Zdefiniuj problem, na przykład: „dla podanej kwoty wydaj resztę najmniejszą liczbą monet”.
  2. Określ wejście, czyli kwotę reszty oraz dostępne nominały monet, na przykład 5 zł, 2 zł, 1 zł, 50 gr.
  3. Określ wyjście, czyli listę monet, które razem dają wymaganą kwotę.
  4. Rozbij problem na podzadania: wybierz największy możliwy nominał, odejmij go i powtarzaj działanie.
  5. Zapisz pseudokod, używając pętli „dopóki reszta jest większa od zera”.
  6. Przetestuj algorytm dla wartości granicznych, na przykład 0 zł, 1 gr i kwoty niemożliwej do wydania danymi monetami.

Jak ćwiczyć algorytmy w domu?

Algorytmy najlepiej ćwiczyć na małych, konkretnych problemach: średnia ocen, największa liczba z listy, reszta w sklepie, sortowanie książek na półce. Po trzech lub czterech przykładach uczeń zaczyna widzieć wzór: wejście, warunek, pętla, wynik.

W przypadkach, które prowadzę w trybie nauczania indywidualnego, działa metoda „najpierw ręka, potem ekran”. Uczeń zapisuje kroki na kartce, przechodzi je na 3 zestawach danych, a dopiero potem uruchamia Scratcha lub Pythona. To powolniejsze przez pierwsze 10 minut. Potem oszczędza godzinę poprawiania błędów.

Jakie linki pomogą w dalszej nauce?

Do dalszej nauki najlepiej łączyć teorię z ćwiczeniem: myślenie komputacyjne, podstawy programowania i zadania szkolne. Dobrym kolejnym krokiem będzie myślenie komputacyjne – co to jest i jak je rozwijać oraz jak uczyć się programowania od podstaw – poradnik dla ucznia.

Najczęściej zadawane pytania

Co to jest algorytm – krótka definicja?

Algorytm to skończony i uporządkowany ciąg jednoznacznych kroków prowadzących do rozwiązania określonego problemu. Musi mieć koniec, jasne instrukcje oraz wynik dla poprawnych danych. Takie rozumienie jest zgodne z klasycznym opisem algorytmów u Knutha z 1968 roku.

Skąd pochodzi słowo algorytm?

Słowo algorytm pochodzi od zlatynizowanego imienia Muhammada ibn Musy al-Chwarizmiego, matematyka z Bagdadu żyjącego około 780-850 roku. W łacinie jego nazwisko zapisywano jako Algoritmi. Z czasem zaczęto tak nazywać uporządkowane procedury obliczeniowe.

Czym różni się algorytm od programu komputerowego?

Algorytm jest abstrakcyjnym planem rozwiązania problemu, a program komputerowy jest jego zapisem w konkretnym języku. Ten sam algorytm można wdrożyć w Pythonie, Javie albo Scratchu. Jeśli zmienia się język, ale logika pozostaje ta sama, algorytm się nie zmienił.

Jakie cechy musi mieć algorytm?

Algorytm powinien być skończony, jednoznaczny, poprawny, efektywny i ogólny. Skończoność oznacza zakończenie po określonej liczbie kroków, a jednoznaczność – brak miejsca na domysły wykonawcy. Efektywność opisuje się między innymi przez złożoność obliczeniową.

Co to jest schemat blokowy algorytmu?

Schemat blokowy to graficzna reprezentacja algorytmu z użyciem symboli: owalu dla startu i końca, prostokąta dla operacji, rombu dla decyzji oraz strzałek dla kierunku działania. Pomaga zobaczyć logikę przed pisaniem kodu. W szkole przydaje się zwłaszcza przy warunkach i pętlach.

Czy sztuczna inteligencja to też algorytm?

Tak, sztuczna inteligencja korzysta z algorytmów, ale nie każdy algorytm jest sztuczną inteligencją. Uczenie maszynowe wykorzystuje procedury, które uczą model wzorców z danych. Model AI jest efektem treningu, a algorytm opisuje sposób uczenia lub działania.

Czego o algorytmach wymaga polska szkoła?

Podstawa programowa MEN z 2017 roku obejmuje rozumienie algorytmu, schematy blokowe, pseudokod i proste programowanie od szkoły podstawowej. W liceum dochodzą trudniejsze zagadnienia, w tym rekurencja i analiza złożoności. Przed maturą trzeba sprawdzić aktualny informator CKE.

Źródła i literatura

  1. Ministerstwo Edukacji Narodowej – Podstawa programowa informatyki, 2017.
  2. Donald E. Knuth, The Art of Computer Programming, Vol. 1: Fundamental Algorithms, Addison-Wesley, 1968.
  3. Centralna Komisja Egzaminacyjna – informatory o egzaminie maturalnym, 2023 i aktualizacje bieżące.
  4. OEIiZK / Informatyka+ – materiały dydaktyczne do algorytmiki, 2023.
  5. Khan Academy – kurs algorytmów w informatyce, 2024.