Zasady organizacji zawodów XXVII Olimpiady Informatycznej w roku szkolnym 2019/2020 *

* Zmiany zaznaczone w dokumencie wynikają z rozporządzenia Ministra Edukacji Narodowej z dnia 25 marca 2020 r. zmieniającego rozporządzenie w sprawie szczególnych rozwiązań w okresie czasowego ograniczenia funkcjonowania jednostek systemu oświaty w związku z zapobieganiem, przeciwdziałaniem i zwalczaniem COVID-19.

§ 1. Wstęp

Olimpiada Informatyczna, zwana dalej „Olimpiadą”, jest olimpiadą przedmiotową powołaną przez Instytut Informatyki Uniwersytetu Wrocławskiego 10 grudnia 1993 roku. Olimpiada działa zgodnie z rozporządzeniem Ministra Edukacji Narodowej i Sportu z dnia 29 stycznia 2002 roku w sprawie organizacji oraz sposobu przeprowadzania konkursów, turniejów i olimpiad (Dz. U. poz. 125, z późn. zm.). Organizatorem Olimpiady jest Fundacja Rozwoju Informatyki. W organizacji Olimpiady Fundacja Rozwoju Informatyki współdziała z Wydziałem Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego, Instytutem Informatyki Uniwersytetu Wrocławskiego, Katedrą Algorytmiki Uniwersytetu Jagiellońskiego, Wydziałem Matematyki i Informatyki Uniwersytetu im. Mikołaja Kopernika w Toruniu, Wydziałem Automatyki, Elektroniki i Informatyki Politechniki Śląskiej w Gliwicach, Wydziałem Informatyki Politechniki Poznańskiej, Wydziałem Informatyki Politechniki Białostockiej, Wydziałem Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej, Ośrodkiem Edukacji Informatycznej i Zastosowań Komputerów, a także z innymi środowiskami akademickimi, zawodowymi i oświatowymi działającymi w sprawach edukacji informatycznej.

§ 2. Organizacja Olimpiady

  1. Olimpiadę przeprowadza Komitet Główny Olimpiady Informatycznej, zwany dalej „Komitetem”.
  2. Zawody Olimpiady dzielą się na zawody I i II i III stopnia.
  3. W Olimpiadzie mogą brać indywidualnie udział uczniowie czteroletnich liceów ogólnokształcących, pięcioletnich techników, branżowej szkoły I stopnia i branżowej szkoły II stopnia oraz uczniowie klas dotychczasowych szkół ponadgimnazjalnych prowadzonych w szkołach ponadpodstawowych. W Olimpiadzie mogą również uczestniczyć uczniowie szkół podstawowych.
  4. Rozwiązaniem każdego z zadań zawodów I i II i III stopnia jest program (napisany w jednym z następujących języków programowania: C++ lub Python) lub plik z danymi.
  5. Zawody I stopnia mają charakter otwarty i polegają na samodzielnym rozwiązywaniu zadań i nadesłaniu rozwiązań w terminie i w miejscu wskazanym w § 4.
  6. Zawody II i III stopnia polegają na rozwiązywaniu zadań w warunkach kontrolowanej samodzielności. Zawody te odbywają się w ciągu dwóch sesji, przeprowadzanych w różnych dniach.
  7. Do zawodów II stopnia zostanie zakwalifikowanych 300 Uczestników, których rozwiązania zadań I stopnia zostaną ocenione najwyżej. Do zawodów III stopnia zostanie zakwalifikowanych 80 Uczestników, których rozwiązania zadań II stopnia zostaną ocenione najwyżej. 80 Uczestnikom, których rozwiązania zadań II stopnia zostaną ocenione najwyżej, zostanie przyznany tytuł finalisty Olimpiady.
  8. Komitet może zmienić podane liczby zakwalifikowanych Uczestników co najwyżej o 30%.
  9. Podjęte przez Komitet decyzje o zakwalifikowaniu Uczestników do zawodów kolejnego stopnia, przyznaniu tytułu finalisty, zajętych miejscach i przyznanych nagrodach oraz składzie polskiej reprezentacji na Międzynarodową Olimpiadę Informatyczną i inne międzynarodowe zawody informatyczne są ostateczne.
  10. Komitet zastrzega sobie prawo do opublikowania rozwiązań Uczestników, którzy zostali zakwalifikowani do zawodów kolejnego stopnia lub zostali wyróżnieni. lub otrzymali tytuł laureata
  11. Terminarz zawodów:
    1. zawody I stopnia – 21 października – 18 listopada 2019 roku;
    2. ogłoszenie wyników zawodów I stopnia w witrynie Olimpiady – 6 grudnia 2019 roku po godz. 20.00;
    3. zawody II stopnia – 11–13 lutego 2020 roku;
    4. ogłoszenie wyników zawodów II stopnia w witrynie Olimpiady – 22 lutego 2020 roku po godz. 20.00.
    5. zawody III stopnia – 31 marca – 3 kwietnia 2020 roku.

§ 3. Rozwiązania zadań

  1. Rozwiązanie każdego zadania, które polega na napisaniu programu, składa się z tylko jednego pliku źródłowego. Zaleca się, aby imię i nazwisko Uczestnika były podane w komentarzu na początku każdego rozwiązania.
  2. Nazwy plików z programami w postaci źródłowej muszą mieć następujące rozszerzenia zależne od użytego języka programowania:
    1. C++: cpp;
    2. Python: py.
  3. Szczegółowe informacje dotyczące implementacji, kompilacji i uruchamiania rozwiązań znajdują się w dokumencie Ustalenia techniczne, który stanowi załącznik do niniejszego dokumentu.
  4. Za każde zadanie można zdobyć od 0 do 100 punktów. Rozwiązania oceniane są automatycznie. Jeśli rozwiązaniem zadania jest program, wówczas:
    1. nadesłany program jest kompilowany (poza programami w języku Python) i uruchamiany na pewnej liczbie grup danych testowych; każda grupa składa się z jednego lub kilku testów;
    2. w przypadku, gdy wykonanie programu na danym teście nie zakończy się błędem oraz zmieści się w wyznaczonym limicie czasowym i pamięciowym, zostaje sprawdzona poprawność otrzymanej odpowiedzi;
    3. w przypadku poprawnej odpowiedzi – test jest zaliczany;
    4. za każdą grupę, w której zostały zaliczone wszystkie testy, program otrzymuje liczbę punktów zależną od liczby punktów przypisanych do danej grupy, od czasu działania programu oraz od ewentualnych warunków częściowej punktacji ustalonych w treści zadania.
  5. Jeśli rozwiązaniem zadania jest plik z danymi, wówczas ocenia się poprawność danych.
  6. Należy przyjąć, że dane testowe są bezbłędne i zgodne z podaną w treści zadania specyfikacją wejścia. Dane wyjściowe rozwiązania muszą być zgodne z podaną w treści zadania specyfikacją wyjścia. Jedynymi dopuszczalnymi odstępstwami w danych wyjściowych rozwiązania są białe znaki (spacja, znak tabulacji) na końcu wiersza oraz białe znaki (spacja, znak tabulacji, znak końca linii) na końcu pliku.
  7. Dane testowe oraz ostateczne wyniki sprawdzania są ujawniane po zakończeniu zawodów danego stopnia.
  8. Limity czasowe są wspólne dla wszystkich dopuszczonych języków programowania i są dobierane względem rozwiązań napisanych w języku C++. To oznacza, że niektóre rozwiązania napisane w języku Python mogą okazać się zbyt wolne ze względu na specyfikę tego języka i wskutek tego otrzymywać niższą punktację niż ich odpowiedniki w języku C++.
  9. Podczas oceniania skompilowane programy będą wykonywane w wirtualnym środowisku uruchomieniowym modelującym zachowanie 32–bitowego procesora architektury x86, pod kontrolą systemu operacyjnego Linux. Ma to na celu uniezależnienie mierzonego czasu działania programu od modelu komputera, na którym odbywa się sprawdzanie. Daje także Uczestnikom możliwość wygodnego testowania efektywności działania programów w warunkach oceny. Przygotowane środowisko jest dostępne, wraz z opisem działania, w witrynie Olimpiady, na stronie Środowisko testowe w dziale „Dla uczestników” zarówno dla systemu Linux, jak i Windows.
  10. Każdy Uczestnik jest zobowiązany do zachowania w tajemnicy swoich rozwiązań w czasie trwania zawodów.
  11. Rozwiązania zespołowe, niesamodzielne, niezgodne z „Zasadami Organizacji Zawodów” lub takie, co do których nie można ustalić autorstwa, nie będą oceniane. W przypadku uznania przez Komitet pracy za niesamodzielną lub zespołową Uczestnicy mogą zostać zdyskwalifikowani.

§ 4. Zawody I stopnia

  1. Zawody I stopnia polegają na samodzielnym rozwiązywaniu podanych zadań (niekoniecznie wszystkich) i przesłaniu rozwiązań do Komitetu. Możliwe są tylko dwa sposoby przesyłania zadań:
    1. poprzez System Internetowy Olimpiady, zwany dalej SIO, o adresie http://sio2.mimuw.edu.pl, do 18 listopada 2019 roku do godz. 12.00 (południe). Komitet nie ponosi odpowiedzialności za brak możliwości przekazania rozwiązań przez Internet w sytuacji nadmiernego obciążenia lub awarii SIO. Odbiór przesyłki zostanie potwierdzony przez SIO zwrotnym listem elektronicznym, a Uczestnik przesyłający zadanie jest obowiązany do zachowania tego listu. Brak potwierdzenia może oznaczać, że rozwiązanie nie zostało poprawnie zarejestrowane. W tym przypadku Uczestnik powinien przesłać swoje rozwiązanie za pośrednictwem przesyłki pocztowej. Szczegóły dotyczące sposobu postępowania przy przekazywaniu rozwiązań i związanej z tym rejestracji będą dokładnie podane w SIO;
    2. jedną przesyłką pocztą poleconą, w sposób określony w ust. 2, na adres:
      Olimpiada Informatyczna
      Ośrodek Edukacji Informatycznej i Zastosowań Komputerów
      ul. Nowogrodzka 73,
      02–006 Warszawa,
      tel. 22 626 83 90,
      w nieprzekraczalnym terminie nadania do 18 listopada 2019 roku (decyduje data stempla pocztowego). Wysyłanie rozwiązań pocztą należy traktować jako opcję awaryjną, a ryzyko przekroczenia terminu nadania przesyłki ponosi Uczestnik. Uczestnik ma obowiązek zachować dowód nadania przesyłki do czasu otrzymania wyników oceny. Nawet w przypadku wysyłania rozwiązań przesyłką pocztową poleconą, każdy Uczestnik ma obowiązek założyć konto w SIO. Zarejestrowana nazwa użytkownika musi być zawarta w przesyłce.
  2. Uczestnik przesyłający zadanie przesyłką pocztową poleconą jest obowiązany do umieszczenia rozwiązania wybranych przez siebie zadań za pomocą specjalnego formularza w SIO. Następnie system SIO wygeneruje dokument, który należy wydrukować i wysłać na podany adres. Dopuszczalne jest także przesłanie rozwiązań w postaci plików źródłowych lub plików z danymi przesyłką pocztową poleconą na płycie CD/DVD lub pamięci USB. W przypadku braku możliwości odczytania nośnika z rozwiązaniami, nieodczytane rozwiązania nie będą brane pod uwagę.
  3. Rozwiązania dostarczane sposób inny niż określony w ust. 1 nie będą przyjmowane. W przypadku jednoczesnego zgłoszenia rozwiązania danego zadania przez SIO i przesyłką pocztową poleconą, ocenie podlega jedynie rozwiązanie wysłane przesyłką pocztową poleconą.
  4. W trakcie rozwiązywania zadań można korzystać z dowolnej literatury oraz ogólnodostępnych kodów źródłowych. Należy wówczas podać w rozwiązaniu, w komentarzu, odnośnik do wykorzystanej literatury lub kodu.
  5. Podczas korzystania z SIO Uczestnik postępuje zgodnie z instrukcjami umieszczonymi w tej witrynie. W szczególności, warunkiem koniecznym do kwalifikacji Uczestnika do dalszych etapów jest podanie lub aktualizacja w SIO wszystkich wymaganych danych osobowych.
  6. Każdy Uczestnik powinien założyć w SIO dokładnie jedno konto. Uczestnicy korzystający z więcej niż jednego konta mogą zostać zdyskwalifikowani.
  7. Rozwiązanie każdego zadania można zgłosić w SIO co najwyżej 25 razy. Spośród tych zgłoszeń oceniane jest jedynie najpóźniejsze poprawnie kompilujące się rozwiązanie. Po wyczerpaniu tego limitu kolejne rozwiązanie może zostać zgłoszone już tylko przesyłką pocztową poleconą. Rozwiązania, które nie skompilują się poprawnie, wliczają się do podanego limitu.
  8. Rozwiązania zgłoszone przez SIO zostaną skompilowane i sprawdzone na testach przykładowych opisanych w treści zadania, a wyniki tego sprawdzania zostaną udostępnione Uczestnikowi. Nie dotyczy to rozwiązań przesłanych za pomocą formularza do wysyłki przesyłką pocztową poleconą.
  9. Do 18 listopada 2019 do godz. 12.00 w SIO jest możliwość wykonania uruchomienia próbnego swojego rozwiązania na przesłanym przez siebie teście. W tym przypadku SIO nie sprawdza jednak poprawności wejścia ani wyjścia. Uruchomienia próbne nie wliczają się do limitu zgłoszeń.
  10. W SIO znajdują się odpowiedzi na pytania Uczestników dotyczące Olimpiady. Ponieważ odpowiedzi mogą zawierać ważne informacje dotyczące toczących się zawodów, wszyscy Uczestnicy są proszeni o regularne zapoznawanie się z ukazującymi się odpowiedziami. Dalsze pytania należy przysyłać poprzez SIO. Komitet może nie udzielić odpowiedzi na pytanie z ważnych przyczyn, w szczególności gdy jest ono niejednoznaczne lub dotyczy sposobu rozwiązania zadania.
  11. W SIO znajduje się także dział Forum umożliwiający prowadzenie dyskusji między Uczestnikami. W dziale tym niedozwolona jest dyskusja na temat metod rozwiązania zadań zawodów I stopnia i złożoności obliczeniowych rozwiązań, pod rygorem dyskwalifikacji.
  12. Udostępnianie i wymiana testów dla zadań zawodów I stopnia może mieć miejsce tylko w dziale Forum. Niedozwolone jest korzystanie z cudzych serwisów sprawdzających rozwiązania tych zadań.
  13. Od piątku 29 listopada 2019 roku poprzez SIO każdy Uczestnik będzie mógł zapoznać się ze wstępną oceną swojej pracy.
  14. Do środy 4 grudnia 2019 roku (włącznie) poprzez SIO każdy Uczestnik będzie mógł zgłaszać uwagi do wstępnej oceny swoich rozwiązań. Reklamacji nie podlega jednak dobór testów, limitów czasowych, kompilatorów i sposobu oceny.
  15. Reklamacje złożone po 4 grudnia 2019 roku nie będą rozpatrywane.

§ 5. Zawody II i III stopnia

  1. Zawody II i III stopnia polegają na samodzielnym rozwiązywaniu zadań w ciągu dwóch pięciogodzinnych sesji odbywających się w różnych dniach.
  2. Rozwiązywanie zadań konkursowych poprzedzone jest trzygodzinną sesją próbną umożliwiającą Uczestnikom zapoznanie się z warunkami organizacyjnymi i technicznymi Olimpiady. Wyniki sesji próbnej nie są liczone do klasyfikacji.
  3. W czasie rozwiązywania zadań konkursowych każdy Uczestnik ma do swojej dyspozycji komputer z systemem Linux. Uczestnikom wolno korzystać wyłącznie ze sprzętu i oprogramowania dostarczonego przez organizatora.
  4. Zawody II i III stopnia są przeprowadzane za pomocą SIO.
  5. W czasie trwania zawodów Uczestnicy nie mogą korzystać z żadnych książek ani innych pomocy, w szczególności książek, dysków, kalkulatorów, notatek, telefonów komórkowych ani innych własnych urządzeń elektronicznych.
  6. Tryb przeprowadzenia zawodów II i III stopnia jest opisany szczegółowo w Zasadach organizacji zawodów II i III stopnia, które stanowią załącznik do niniejszego dokumentu.

§ 6. Uprawnienia i nagrody

  1. Każdy Uczestnik, który został zakwalifikowany do zawodów III stopnia, zostaje finalistą Olimpiady. Laureatem Olimpiady zostaje uczestnik zawodów III stopnia sklasyfikowany w pierwszej połowie uczestników tych zawodów, którego dokonania Komitet uzna za zdecydowanie wyróżniające się wśród wyników finalistów. Laureaci dzielą się na laureatów I, II i III miejsca. W przypadku bardzo wysokiego poziomu zawodów III stopnia Komitet może dodatkowo wyróżnić uczestników niebędących laureatami.
  2. Zgodnie z art. 44j ustawy z dnia 7 września 1991 r. o systemie oświaty (Dz.U. z 2018 r. poz. 2245, z późn. zm.), laureaci i finaliści Olimpiady otrzymują z danych zajęć edukacyjnych najwyższą roczną ocenę klasyfikacyjną. Uczeń, który tytuł laureata lub finalisty Olimpiady uzyskał po ustaleniu rocznej oceny klasyfikacyjnej z zajęć edukacyjnych, otrzymuje z tych zajęć edukacyjnych najwyższą końcową ocenę klasyfikacyjną.
  3. Zgodnie z art. 44zzh ustawy z dnia 7 września 1991 r. o systemie oświaty (Dz.U. z 2019 r. poz. 1481, z późn. zm.) oraz „Komunikatem Ministra Edukacji Narodowej z 23 lipca 2019 w sprawie wykazu olimpiad przedmiotowych przeprowadzanych z przedmiotu lub przedmiotów objętych egzaminem ósmoklasisty lub egzaminem maturalnym w roku szkolnym 2019/2020 oraz uprawniających do przyjmowania laureatów i finalistów tych olimpiad w pierwszej kolejności do szkół wymienionych w art. 132 ustawy – Prawo oświatowe”, laureaci i finaliści Olimpiady są zwolnieni z egzaminu maturalnego z informatyki. Uprawnienie to przysługuje także wtedy, gdy przedmiot nie jest objęty szkolnym planem nauczania danej szkoły.
  4. Laureaci i Finaliści Olimpiady mają ułatwiony lub wolny wstęp do tych szkół wyższych, których senaty podjęły uchwały w tej sprawie, zgodnie z przepisami ustawy z dnia 20 lipca 2018 r. - Prawo o szkolnictwie wyższym i nauce (Dz. U. poz. 1668, z późn. zm.), na zasadach zawartych w tych uchwałach.
  5. Zaświadczenia o uzyskanych uprawnieniach wydaje Uczestnikom Komitet.
  6. Komitet ustala skład reprezentacji Polski na XXXII Międzynarodową Olimpiadę Informatyczną, XXVII Olimpiadę Informatyczną Krajów Europy Środkowej, XXVI Bałtycką Olimpiadę Informatyczną w 2020 roku oraz inne zawody międzynarodowe na podstawie wyników Olimpiady oraz regulaminów tych zawodów.
  7. Komitet może nagrodzić opiekunów, których praca przy przygotowaniu Uczestnika Olimpiady zostanie oceniona przez ten Komitet jako wyróżniająca.
  8. Wyznaczeni przez Komitet reprezentanci Polski na olimpiady międzynarodowe zostaną zaproszeni do nieodpłatnego udziału w XXI Obozie Naukowo–Treningowym im. Antoniego Kreczmara, zwanym dalej „Obozem”, który odbędzie się w czasie wakacji 2020 roku. Do nieodpłatnego udziału w Obozie Komitet może zaprosić także innych finalistów, którzy nie są w ostatniej programowo klasie swojej szkoły, w zależności od uzyskanych wyników.
  9. Komitet może przyznawać finalistom i laureatom nagrody, a także stypendia ufundowane z funduszy Olimpiady lub przez osoby prawne lub fizyczne.

§ 7. Reprezentacje Polski na zawody międzynarodowe

  1. Jeśli XXXII Międzynarodowa Olimpiada Informatyczna (IOI) odbędzie się przed zakończeniem zawodów III stopnia edycji 2020/2021 Olimpiady, Komitet zorganizuje eliminacje do IOI i ustali skład reprezentacji Polski na zawody IOI na podstawie wyników eliminacji do IOI i regulaminu zawodów IOI.
  2. W eliminacjach do IOI weźmie udział 20 Uczestników, których rozwiązania zadań II stopnia w edycji 2019/2020 zostaną ocenione najwyżej. Komitet może zmienić liczbę zakwalifikowanych co najwyżej o 30%.
  3. Jeśli sytuacja epidemiczna na to pozwoli, eliminacje do IOI zostaną przeprowadzone w warunkach kontrolowanej samodzielności, na warunkach takich jak zawody II stopnia, a jeśli nie, to zostaną przeprowadzone on-line, na warunkach takich, jak zawody I stopnia. Liczba dni eliminacji do IOI zostanie ustalona przez Komitet.
  4. Jeśli XXVII Olimpiada Informatyczna Krajów Europy Środkowej (CEOI) odbędzie się przed zakończeniem zawodów III stopnia edycji 2020/2021 Olimpiady, to:
    1. w przypadku, gdy eliminacje do IOI zakończą się co najmniej na miesiąc przed zawodami CEOI, Komitet ustali skład reprezentacji Polski na zawody CEOI na podstawie wyników eliminacji do IOI i regulaminu CEOI;
    2. w przeciwnym razie Komitet ustali skład reprezentacji Polski na zawody CEOI na podstawie wyników zawodów II stopnia i regulaminu CEOI.
  5. Jeśli XXVI Bałtycka Olimpiada Informatyczna (BOI) odbędzie się przed zakończeniem zawodów III stopnia edycji 2020/2021 Olimpiady, to:
    1. w przypadku, gdy eliminacje do IOI zakończą się co najmniej na miesiąc przed zawodami BOI, Komitet ustali skład reprezentacji Polski na BOI na podstawie wyników eliminacji do IOI i regulaminu BOI;
    2. w przeciwnym razie Komitet ustali skład reprezentacji Polski na zawody BOI na podstawie wyników zawodów II stopnia i regulaminu BOI.

§ 8. Przepisy końcowe

  1. Komitet zawiadamia wszystkich uczestników zawodów I i II stopnia o ich wynikach poprzez SIO. Wszyscy uczestnicy zawodów I stopnia będą mogli zapoznać się ze szczegółowym raportem ze sprawdzania ich rozwiązań.
  2. O zakwalifikowaniu ucznia do zawodów II i III stopnia Komitet zawiadamia ucznia oraz dyrektora szkoły, do której uczeń uczęszcza, podając jednocześnie miejsce i termin zawodów. Komitet zawiadamia ucznia oraz dyrektora szkoły o uzyskaniu tytułu finalisty. Finalista otrzymuje zaświadczenie wydane przez Komitet, którego wzór stanowi załącznik do rozporządzenia Ministra Edukacji Narodowej i Sportu z dnia 29 stycznia 2002 r. w sprawie organizacji oraz sposobu przeprowadzania konkursów, turniejów i olimpiad (Dz. U. poz. 125, z późn. zm.).
  3. Uczniowie zakwalifikowani do udziału w zawodach II i III stopnia są zwolnieni z zajęć szkolnych na czas niezbędny do udziału w zawodach; mają także zagwarantowane na czas tych zawodów bezpłatne zakwaterowanie, wyżywienie i zwrot kosztów przejazdu.

Witryna Olimpiady: https://oi.edu.pl