Przygotowanie do Olimpiady Informatycznej

Przygotowanie do Olimpiady Informatycznej

Zapraszamy Was do lektury artykułu, który w całości poświęcony temu, co zrobić by rozpocząć skuteczne przygotowanie do Olimpiady Informatycznej! Poznacie rady, które płyną z doświadczenia zespołu Indeksu w Kieszeni w zakresie właśnie nauki do OIa. Po zakończonej lekturze gorąco Was zachęcamy do zajrzenia na podstronę, na której dowiecie się szczegółów dotyczących wspólnego przygotowania wraz z laureatami najwyższych miejsc poprzednich edycji!

Skuteczne przygotowanie do Olimpiady Informatycznej

Olimpiada Informatyczna i wymagania, które stawia uczestnikom są dość specyficzne. Z jednej strony nie wymaga udowadniania przedstawianych rozwiązań, często można wręcz zgadnąć rozwiązanie i dostać w ten sposób maksymalną liczbę punktów. Z drugiej jednak strony wymaga bardzo dokładnego implementowania i testowania własnych programów. Błąd polegający na napisaniu kilku znaków źle może często zbić liczbę otrzymanych za zadanie punktów ze 100 do 0. Rozbieżność powyższych wymagań sprawia problemy większości uczestników.

Co tak naprawdę czeka nas na Olimpiadzie Informatycznej?

Olimpiada Informatyczna składa się z 3 etapów. Pierwszy z nich jest internetowy i trwa około 4 tygodnie. Dalej przechodzi około 350 osób. Drugi etap odbywa się w wybranych okręgach. Zawody trwają 2 dni – po 5h i 2 zadania każdego dnia. Do trzeciego etapu kwalifikuje się około 100 osób. Dwudniowy finał odbywa się w jednym miejscu – po 5h i 3 zadania każdego dnia.

Zadania zawsze są podobnego typu – algorytmiczne problemy wymagające zaimplementowania programu. Większość uczestników wybiera język C++, chociaż jest jeszcze kilka innych do wyboru. Na drugim i trzecim etapie każdy uczestnik ma do dyspozycji własny komputer na którym zainstalowany jest system linux.

Zadania na Olimpiadzie Informatycznej są trudne. Często żeby dostać się do finału wystarczy na II etapie zdobyć mniej niż 50% punktów. Rozbieżność między czołówką finalistów, a końcem stawki jest bardzo duża.

Co jest potrzebne na Olimpiadzie Informatycznej?

Ogólnie rzecz biorąc potrzebne są 3 rzeczy:

– Wiedza – na wiedzę składa się znajomość algorytmów, struktur danych, trików algorytmicznych oraz liczba rozwiązanych zadań z których można czerpać wiedzę podczas rozwiązywania innych. Nawet nie mając wysokich umiejętności analitycznego myślenia, jeśli poznało się rozwiązania kilku tysięcy zadań, istnieje duża szansa, że na Olimpiadzie trafi się jakieś podobne.

– Programowanie – chodzi po prostu o umiejętność zaimplementowania własnych pomysłów w sposób szybki, poprawny, ewentualnie łatwy do debugowania.

– Analityczne myślenie – pisząc o analitycznym myśleniu mam na myśli umiejętność analizowania problemów oraz wykorzystywania posiadanej wiedzy do ich rozwiązywania. Osoba z będąca mistrzem analitycznego myślenia nie potrzebowałaby za dużo wiedzy, ponieważ byłaby w stanie wszystkie algorytmy i struktury danych wymyślić samodzielnie.

Zarówno wiedza jak i programowanie są umiejętnościami, które można nabyć w prosty sposób, rozwijanie umiejętności analitycznego myślenia jest jednak znacznie trudniejsze. A to właśnie ona jest kluczowa na OI. Autorzy olimpiady najczęściej starają się przygotować zadania oryginalne i nietrywialne. Wiele osób zapomina o doskonaleniu tej ostatniej umiejętności i podchodzi do przygotowań do Olimpiady Informatycznej w sposób „szkolny“.

Jak uczynić przygotowanie do Olimpiady Informatycznej skutecznym?

Wszystko zależy od tego jaki obraliśmy sobie cel, ile wysiłku chcemy w niego włożyć oraz co chcemy z całych przygotowań wynieść. Dużo też zależy od umiejętności jakie już posiadamy.

Osoby po Olimpiadzie Matematycznej często postanawiają spróbować swoich sił w Olimpiadzie Informatycznej. Dysponują one umiejętnościami analitycznego myślenia i po zdobyciu odrobiny wiedzy są już w stanie wymyślać rozwiązania do nawet trudniejszych zadań. Takie osoby jednak bardzo często odpadają na II etapie, ponieważ nie są w stanie w danym czasie zaimplementować i przetestować własnych pomysłów.

Z kolei inni często podchodzą do przygotowań we wspomniany już wyżej sposób „szkolny“. Ten sposób polega najczęściej na szybkim ignorowaniu problemów, których nie jesteśmy w stanie rozwiązać i albo całkowitym ich porzucaniu, albo szukaniu pomocy w omówieniach. Ucząc się w ten sposób trudno jest rozwinąć umiejętność analitycznego myślenia. Takie osoby mogą spędzić setki godzin na nauce, rozwiązać tysiące zadań i nadal nie być w stanie dostać się do finału OI.

Jak się zatem uczyć?

Najlepszym sposobem jest rozwijanie wszystkich trzech umiejętności w sposób równoległy. Oczywiście jest to kwestia dość elastyczna, ponieważ jeśli ktoś jest w stanie łatwo rozwinąć się w jednej z tych umiejętności lepiej i szybciej to nie ma po co się hamować, jednak nie powinno się tego robić kosztem innych. Przygotowanie do Olimpiady Informatycznej powinno docelowo odbywać się właśnie na tych trzech płaszczyznach.

Jak można rozwijać konkretne umiejętności?

Wiedza – rozwijanie wiedzy jest proste i raczej dość oczywiste pod warunkiem, że jest ona łatwo dostępna. Oferowane przez IWK przygotowanie do Olimpiady Informatycznej zawiera całą niezbędną wiedzę dostępną w łatwy sposób przez dedykowaną stronę internetową.

Programowanie – umiejętność programowania najlepiej rozwinąć poprzez ćwiczenia praktyczne. Można to robić na kilka sposobów:

1. Rozwiązywać dużo prostych zadań w bardzo szybki sposób, najlepiej za pierwszym podejściem.

2. Rozwiązywać zadania bardzo trudne w implementacji, próbować je zaimplementować w ładny i bezbłędny sposób nawet jeśli miałoby się na przemyślenie implementacji poświęcić więcej czasu.

3. Przed implementowaniem na komputerze, implementować je bardzo dokładnie w głowie. Po zaimplementowaniu ich w głowie spróbować niemal natychmiastowo przepisać rozwiązanie na komputer.

Z pewnością można wymyślić jeszcze wiele sposobów, nawet samo implementowanie dowolnych zadań bez żadnych określonych celów pomaga rozwinąć umiejętność programowania. Sam często lubiłem oderwać się od trudnych zadań i hurtowo zrobić w kilkadziesiąt minut kilkadziesiąt dość prostych zadań.

Analityczne myślenie – umiejętność analitycznego myślenia jest trudna do rozwinięcia i wielu osobom sprawia trudność. Najlepszym sposobem na doskonalenie tej umiejętności jest rozwiązywanie zadań trochę lub znacznie trudniejszych niż jesteśmy w stanie. Spędzanie nad takimi zadaniami nie tylko kilku godzin ale często zastanawianie się nad nimi przez kilka dni.

Kluczową rolę w rozwijaniu analitycznego myślenia odgrywa podejście do rozwiązywania problemów. Warto przestrzegać pewnych zasad:

1. Nie dopuszczać do myśli możliwości, że nie jestem w stanie tego rozwiązać bo brakuje mi wiedzy. Większość wiedzy można odkryć samodzielnie.

2. Myśleć i badać problemy nawet jeśli przez dłuższy czas na nic nie udało się wpaść. Często chwila natchnienia może przyjść dopiero po kilku dniach i wtedy uda się rozwiązać zadanie oraz zrozumieć więcej.

3. Zawsze gdy nie uda Ci się rozwiązać zadania i postanowisz zajrzeć do podpowiedzi / omówień, wykonaj analizę, czego dokładnie brakowało Ci, żeby rozwiązać to zadanie.

Gdy sam prowadziłem przygotowanie do Olimpiady Informatycznej, prawie zawsze miałem jakieś nierozwiązane zadanie z tyłu głowy i często zdarzało się, że nagle w środku dnia udawało mi się znikąd wpaść na rozwiązanie, czasem nawet budziłem się rano z rozwiązanym zadaniem, które niemal mi się przyśniło!

5/5 - (na podstawie 16 ocen)
IwK - logo - miniturka - kursy maturalne i olimpijskie
Indeks w Kieszeni
kontakt@indekswkieszeni.pl