25 lat Olimpiady Informatycznej
3 stycznia 1994 roku rozpoczęły się zawody I stopnia I Olimpiady Informatycznej, w których wystartowało 528 uczniów z całej Polski. Uczniowie mieli trzy tygodnie na rozwiązanie trzech zadań. 64 uczniów z najlepszymi rozwiązaniami awansowało do zawodów II stopnia, które odbyły się 18-20 marca 1994 roku w Ośrodku Edukacji Informatycznej i Zastosowań Komputerów w Warszawie. Finały I Olimpiady Informatycznej miały miejsce w dniach 18-22 kwietnia 1994 roku, także w gościnnych murach Ośrodka Edukacji Informatycznej i Zastosowań Komputerów. W gronie finalistów znalazło się 33 uczniów. Pierwszym zwycięzcą Olimpiady Informatycznej został Michał Wala z I LO im. J. Kasprowicza z Raciborza.
Tak to w roku szkolnym 1993/1994 narodziła się najmłodsza olimpiada przedmiotowa w Polsce, dynamicznie rozwijająca się, której uczestnicy z sukcesami rywalizują na wiedzę i umiejętności informatyczne ze swoimi rówieśnikami z całego świata. Olimpiada Informatyczna to realizacja marzeń naukowców, edukatorów i popularyzatorów informatyki, którzy weszli w skład pierwszego Komitetu Głównego Olimpiady Informatycznej utworzonego "Aktem powołania Olimpiady Informatycznej" z dnia 10 grudnia 1993 roku, podpisanego przez ówczesnego dyrektora Instytutu Informatyki w Uniwersytecie Wrocławskim, profesora Macieja Sysłę. Siedzibą Olimpiady Informatycznej po dzień dzisiejszy jest Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie. Oto skład pierwszego Komitetu Głównego:
- prof. dr hab. Jacek Błażewicz, Politechnika Poznańska
- prof. dr hab. Jan Madey, Uniwersytet Warszawski
- prof. dr hab. Andrzej W. Mostowski, Uniwersytet Gdański
- prof. dr hab. Wojciech Rytter, Uniwersytet Warszawski
- prof. dr hab. Maciej M. Sysło, Uniwersytet Wrocławski
- prof. dr hab. inż. Stanisław Waligórski, Uniwersytet Warszawski
- dr Piotr Chrząstowski-Wachtel, Uniwersytet Warszawski
- dr Andrzej Walat, Ośrodek Edukacji Informatycznej i Zastosowań Komputerów
- dr Bolesław Wojdyło, Uniwersytet Mikołaja Kopernika w Toruniu
- mgr Jerzy Dałek, Ministerstwo Edukacji Narodowej
- mgr Krzysztof J. Święcicki, Ministerstwo Edukacji Narodowej
- Tadeusz Kuran, Ośrodek Edukacji Informatycznej i Zastosowań Komputerów
- mgr Krystyna Kominek, II LO im. St. Batorego, Warszawa
Pierwszym przewodniczącym Komitetu Głównego został prof. dr hab. inż. Stanisław Waligórski, sekretarzem naukowym - dr Andrzej Walat, kierownikiem organizacyjnym - Tadeusz Kuran, który pełni tę funkcję do dziś.
Twórcy Olimpiady Informatycznej opracowali standardy organizacji i przeprowadzania Olimpiady, które w swoich podstawach obowiązują do dziś. W przyjętym regulaminie określono następujące cele Olimpiady Informatycznej:
- Stworzenie motywacji dla zainteresowania nauczycieli i uczniów nowymi metodami informatyki.
- Rozszerzenie współdziałania nauczycieli akademickich z nauczycielami szkół w kształceniu młodzieży uzdolnionej.
- Stymulowanie aktywności poznawczej młodzieży informatycznie uzdolnionej.
- Kształtowanie umiejętności samodzielnego zdobywania i rozszerzania wiedzy informatycznej.
- Stwarzanie młodzieży możliwości szlachetnego współzawodnictwa w rozwijaniu swoich uzdolnień, a nauczycielom - warunków twórczej pracy z młodzieżą.
- Wyłanianie reprezentacji Rzeczypospolitej Polskiej na Międzynarodową Olimpiadę Informatyczną.
Jak już wspomnieliśmy, Olimpiada Informatyczna jest konkursem przedmiotowym dla uczniów szkół średnich, ale mogą w niej startować także młodsi uczniowie. Olimpiada składa się z trzech etapów. W każdym etapie uczniowie dostają pewną liczbę zadań do rozwiązania z użyciem komputera, z których każde składa się z krótkiej historyjki przedstawiającej sytuację problemową. Rozwiązaniem zadania jest zazwyczaj algorytm zapisany w postaci programu w wybranym przez zawodnika języku programowania. Poprawnie kompilujące się programy są następnie uruchamiane na nieznanych zawodnikom testach przygotowanych przez organizatorów. Testy są tak dobrane, żeby wykrywały programy niepoprawne i różnicowały rozwiązania o różnej złożoności obliczeniowej, przy czym głównie chodzi o złożoność czasową, a złożoność pamięciowa jest wymuszana przez podane explicite ograniczenia na wielkość wykorzystywanej przez program pamięci. W Olimpiadzie liczba punktów otrzymana za zadanie zależy od jakości zaproponowanego algorytmu i jego implementacji.
Pierwszy etap Olimpiady jest etapem szkolnym rozgrywanym na przełomie października i listopada i obecnie gromadzi około tysiąca uczestników. W pierwszym etapie uczniowie mają do rozwiązania zazwyczaj pięć zadań i pracują nad nimi w domu. Wyniki swojej pracy przesyłają przez Internet organizatorom do oceny. Do drugiego etapu awansuje około 350 najlepszych zawodników z etapu pierwszego. Drugi etap jest organizowany w kilku ośrodkach regionalnych współpracujących ściśle z najlepszymi uczelniami informatycznymi w kraju i trwa trzy dni. Pierwszy dzień jest poświęcony na zapoznanie się z warunkami rozgrywania zawodów. W każdym z następnych dwóch dni uczestnicy mają do samodzielnego rozwiązania zazwyczaj po dwa zadania w trakcie pięciogodzinnej, kontrolowanej sesji. Rozwiązania z całej Polski są zbierane centralnie i wszystkie oceniane w takim samym środowisku i na tych samych testach. Około 80 najlepszych uczestników drugiego etapu awansuje do finału Olimpiady. Finał jest rozgrywany w jednym miejscu i trwa pięć dni. Trzy dni są przeznaczone na same zawody, a dwa dni na rekreację i turystykę oraz zajęcia popularnonaukowe. Sposób rozgrywania finału jest podobny do tego z etapu drugiego (każdego dnia zawodów zawodnicy rozwiązują od dwóch do trzech zadań).
Najlepsi zawodnicy z finałów reprezentują Polskę na międzynarodowych zawodach informatycznych, w tym Międzynarodowej Olimpiadzie Informatycznej.
Międzynarodowa Olimpiada Informatyczna jest rozgrywana latem każdego roku i gromadzi najlepszych w świecie młodych informatyków - uczniów szkół średnich. Biorą w niej udział zwycięzcy (pierwsza czwórka) krajowych olimpiad informatycznych. Pierwsza Międzynarodowa Olimpiada Informatyczna miała miejsce w roku 1989. W latach 2006 i 2007 Polacy, odpowiednio, Filip Wolski i Tomek Kulczyński, zostali absolutnymi zwycięzcami Międzynarodowej Olimpiady Informatycznej. Do polskich multimedalistów Międzynarodowej Olimpiady Informatycznej należą: Filip Wolski (4 medale złote), Andrzej Gąsienica-Samek (3 medale złote, 1 medal srebrny), Marcin Andrychowicz i Jarosław Kwiecień (po 3 medale złote). Cała czwórka znajduje się w pierwszej dziesiątce multimedalistów Międzynarodowej Olimpiady Informatycznej. Osiągnięcia reprezentantów Polski w Międzynarodowej Olimpiadzie Informatycznej świadczą dobrze nie tylko o młodych polskich informatykach, ale także o jakości samej Olimpiady Informatycznej. Wyniki laureatów Olimpiady Informatycznej w rywalizacji z rówieśnikami z całego świata sytuują naszą Olimpiadę wśród najlepszych krajowych olimpiad przedmiotowych. Pod względem liczby wszystkich medali zdobytych w Międzynarodowej Olimpiadzie Informatycznej (stats.ioinformatics.org/countries/) Polska ze 105 medalami zajmuje drugie miejsce w świecie po Chinach (115 medali). Na 105 medali Polaków składa się 38 medali złotych, 38 medali srebrnych i 29 medali brązowych, co w klasyfikacji medalowej daje nam czwartą pozycję w świecie po Chinach (77 medali złotych, 26 medali srebrnych, 12 medali brązowych), Rosji (odpowiednio 56, 36, 12) i Stanach Zjednoczonych (46, 34, 15).
Sukces Olimpiady Informatycznej wynika przede wszystkim z niezwykle wysokiego poziomu organizacyjnego i merytorycznego samego konkursu, który pełni rolę nie do przecenienia w wyławianiu i kształceniu uczniów wyjątkowo uzdolnionych informatycznie. Uczestnictwo z sukcesami w Olimpiadzie wymaga od uczniów wiedzy i umiejętności wybiegających daleko poza to, co jest uczone w szkole. Olimpiada dotyka jądra informatyki - algorytmiki i programowania, a wiedza i umiejętności w niej zdobyte nie są ulotne i dają niezbędne podwaliny dalszego dziedzinowego rozwoju. Jeszcze ważniejsze jest to, że konkurs kształci w młodych ludziach umiejętności, które są niezbędne w ich późniejszej aktywności zawodowej: pracowitość, systematyczność, samodyscyplinę, dociekliwość, samodoskonalenie, pracę w zespole, uczciwość, ambicję, chęć konkurowania, dążenie do sukcesu. Startowanie w Olimpiadzie jest dla młodego człowieka wyzwaniem intelektualnym, a sukces nobilituje. Z drugiej strony organizatorzy Olimpiady dbają o to, żeby jej uczestnicy mieli okazję poznać się i nawiązać bliskie kontakty, które później mogą zaowocować w ich życiu zawodowym.
Na sukces Olimpiady ma także wpływ ścisła, systemowa współpraca Ministerstwa Edukacji Narodowej, najlepszych uczelni w kraju (Uniwersytet Warszawski, Uniwersytet Jagielloński, Uniwersytet Wrocławski, Uniwersytet im. Mikołaja Kopernika w Toruniu, Politechnika Białostocka, Politechnika Gdańska, Politechnika Poznańska, Akademia Górniczo-Hutnicza, Politechnika Śląska), nauczycieli i firm IT w wyławianiu uczniów utalentowanych informatycznie i rozwijaniu ich talentów. Cele te są realizowane poprzez umożliwienie uczniom szlachetnej rywalizacji w rozwiązywaniu ambitnych, a przy tym inspirujących zadań informatycznych. Zadania są przygotowywane zarówno przez naukowców-informatyków o światowej renomie, jak i byłych uczestników Olimpiady, osiągających sukcesy w konkursach studenckich. Co więcej, byli olimpijczycy aktywnie uczestniczą w pracach Olimpiady, przygotowując rozwiązania wzorcowe zadań olimpijskich, i są autorami wyrafinowanego oprogramowania olimpijskiego służącego do automatyzacji prac w Olimpiadzie, w szczególności automatycznego sprawdzania rozwiązań zawodników.
Olimpiada prowadzi intensywną działalność edukacyjną. Co roku wydawane są materiały poolimpijskie zawierające szczegółową dyskusję rozwiązań zadań olimpijskich oraz wzorcowe programy (dostępne on-line pod adresem oi.edu.pl/l/40/). Byli olimpijczycy prowadzą portal edukacyjny dla początkujących adeptów programowania i algorytmiki (szkopul.edu.pl), dzięki któremu nawet uczniowie z małych miejscowości spoza ośrodków akademickich mogą poznać tajniki "prawdziwej" informatyki. Finaliści Olimpiady mają co roku okazję uczestniczyć w wakacyjnych obozach naukowo-treningowych, na których wysłuchują wykładów przygotowywanych przez pracowników naukowych i starszych kolegów. Mogą też doskonalić swoje umiejętności algorytmiczno-programistyczne, biorąc udział w praktycznych warsztatach programistycznych.
Przez 25 lat Olimpiady Informatycznej łącznie w pierwszych etapach wystartowało 21989 uczniów (niektórzy wielokrotnie), do drugich etapów awansowało 7259 uczniów, a w finałach znalazło się 1590 uczniów (bez finalistów XXV Olimpiady Informatycznej, których w momencie pisania tego tekstu jeszcze nie znamy). Przez te wszystkie lata uczniowie zmagali się z 387 oryginalnymi zadaniami, których opisy rozwiązań wzorcowych są publicznie dostępne i są znakomitym materiałem dydaktycznym dla przyszłych olimpijczyków, a także każdego, kto chce podjąć intelektualne wyzwanie i spróbować rozwiązać zadania olimpijskie.
Bardzo wiele zadań olimpijskich dotyczy problemów, które powstają w wyimaginowanym królestwie Bajtocji. Kraj ten po raz pierwszy pojawił się w treści zadania "Gońcy" z III Olimpiady Informatycznej. Cztery lata później, w zadaniu "Labirynt studni", ujawnił się mieszkaniec Bajtocji - Bajtazar, który od tego czasu stał się główną postacią bardzo wielu zadań olimpijskich. Z okazji XXV-lecia Olimpiady Informatycznej przygotowaliśmy publikację Przygody Bajtazara, zawierającą subiektywny wybór 50 zadań olimpijskich wraz z rozwiązaniami wzorcowymi, która może posłużyć jako wprowadzenie do udziału w zawodach Olimpiady (patrz okładka). Niech Bajtocja i Bajtazar rozwijają się tak jak do tej pory dla dobra Olimpiady Informatycznej i jej uczestników.