Međunarodni uspjesi sustava natjecanja u programiranju
Rezultati hrvatskih učenika na IOI
Najvažnije i najcijenjenije međunardno natjecanje srednjoškolaca u programiranju svakako je Međunarodna informatička olimpijada (International Olympiad in Informatics, IOI). Održava se jednom godišnje i okuplja 80ak zemalja sudionica, od kojih svaka sudjeluje sa po 4 natjecatelja koji se natječu individualno. Medalje na olimpijadi dodjeljuju se svim učenicima plasiranim iznad polovice od ukupnog broja sudionika i to tako da omjer zlatnih, srebrnih i brončanih medalja bude 1:2:3 (dakle zlatnu medalju dobija prva dvanaestina od ukupnog broja sudionika).
Osvojene medalje hrvatske reprezentacije na IOI od 2000. godine do danas prikazane su na Grafikonu 1. Osim jednog relativno slabijeg nastupa, može se zaključiti da su uspjesi kroz desatak godina kontinuirani i kao takvi teško da mogu biti rezultat slučajnosti i doprinosa nekolicine nadarenih pojedinaca, već su proizvod, pa i brend, uhodanog sustava i rada najboljih udruga u bazi, te trajnog doprinosa Hrvatskog saveza informatičara (HSIN) koji iz godine u godinu priprema najbolje natjecatelje za olimpijske nastupe.
Usporedba s olimpijadama iz drugih područja
Osim na Međunarodnoj informatičkoj olimpijadi, Hrvatska sudjeluje i na srodnim olimpijadama znanja: Međunarodnoj matematičkoj olimpijadi (IMO), Međunarodnoj olimpijadi iz fizike (IPhO) i Međunarodnoj olimpijadi iz kemije (IChO). Usporedimo li osvojene medalje u posljednjih desetak godina na informatičkoj olimpijadi i ostalim olimpijadama (Grafikon 2), razmjeri uspjeha postaju još evidentniji – dok je na ostalim olimpijadama srebrna medalja rijetkost, a zlatnih gotovo uopće nema (samo jedna na olimpijadi iz kemije 2002. Ivana Kassala, prva hrvatska zlatna medalja s olimpijada znanja uopće), na IOI zlatne medalje osvajaju se od Luke Kalinovčića i 2003. redovito, a srebrne samo što nisu postale prosjek.
Usporedba uspjeha hrvatskih informatičara i drugih područja na olimpijadama
U obzir treba uzeti i to da je princip dodjeljivanja medalja na svim olimpijadama isti, ali se olimpijade razlikuju po broju natjecatelja iz svake zemlje: ekipa na matematičkoj olimpijadi broji šest članova, na olimpijadi iz fizike pet, a na olimpijadama iz informatike i kemije po četiri člana. Više članova ekipe znači veći maksimalni broj medalja koje ekipa može osvojiti i veći ukupni broj podijeljenih medalja na toj olimpijadi.
HONI, COCI i IOI u Hrvatskoj
Dobar glas u svjetskim razmjerima nemaju samo naši natjecatelji nego i naša natjecanja te naši zadaci. Osim brojnih pohvala usmenim putem od natjecatelja i voditelja timova iz drugih zemalja (a to uključuje i zemlje iz samog svjetskog vrha, kao što su Bugarska, Rumunjska, Poljska), koji treniraju na zadacima s hrvatskih natjecanja, stigla su i formalna priznanja: Hrvatskoj je povjereno domaćinstvo IOI 2007. te je gotovo sav kreativni i tehnički posao oko natjecanja obavila domaća ekipa (http://ioi2007.hsin.hr/tasks/solutions.pdf) pod okriljem HSIN-a.
Zadnjih godina svjetski se afirmiralo Hrvatsko otvoreno natjecanje iz informatike (HONI), u engleskoj varijanti Croatian Open Competition in Informatics (COCI), također u organizaciji HSIN-a, na kojem u 7 kola godišnje na svakom sudjeluje po dvjestotinjak natjecatelja iz Hrvatske i petstotinjak natjecatelja iz cijelog svijeta. Kvalitetu tog natjecanja možda najbolje ilustrira podatak da američki pandan takvog natjecanja USACO u prošlogodišnjem kalendaru u svom newsletteru osim vlastitih događaja imao upisan samo IOI i COCI. Osim navedenog Zagrebački računalni savez već gotovo deset godina održava četverodjelno natjecanje u kojem u odvojenim ligama sudjeluju učenici razredne nastave, stariji osnovci i srednjoškolci, kao jedinstveni primjer u svijetu. Pomalo nevjerojatno, zar ne? Netko bi se mogao (možda i trebao) zapitati, kako i zašto je uopće došlo do ovakvih uspjeha?
Što je sve potrebno za dobar zadatak i zašto je to uopće važno
Natjecanje u programiranju specifično je utoliko što se od natjecatelja očekuje rješenje u obliku računalnog programa. Time je bitno određen proces organizacije natjecanja: automatizacijom je znatno olakšano ocijenjivanje učeničkih rješenja, ali je proces pripreme natjecanja zahtjevniji. Za kvalitetan zadatak potrebni su:
- Ideja – danas na internetu postoje baze sa velikim brojem zadataka koje nude automatsko ocijenjivanje rješenja te su one vrlo popularne među učeničkom populacijom, ali i među studentima i profesionalcima. Da bi zadatak bio izazovan, rješenje ne smije biti očito, po mogućnosti treba biti kreativno i ne smije biti već viđeno u istom obliku. Netko, tko nije vidio i riješio barem stotine i stotine takvih zadataka, teško može procijeniti koliko je neka ideja ili zadatak dobar, i ne može nikako znati je li zadatak već viđen.
- Tekst zadatka – kako bi se natjecanje učinilo zanimljivijim učenicima, tekst zadatka je obično uklopljen u neku neformalnu priču. Istovremeno tekst mora dati jasne i nedvosmislene specifikacije o tome što se u zadatku traži, kakvi su ulazni podaci i kakvi izlazni podaci se očekuju.
- Rješenja – osim što rješene mora biti koncepcijski točno, potrebno je napisati i točan program. Kako je u svakom programiranju mogućnost pogreške relativno velika, barem nekoliko ljudi treba napisati i usporediti rezultate svojih rješenja.
- Test podaci – to su podaci prema kojima se testiraju i boduju učenička rješenja, tj. programi. Osim točnog rješenja, potrebno je predvidjeti moguća učenička kriva ili neefikasna rješenja. Za svako od takvih predviđenih rješenja treba napisati program koji ga implementira, pronaći slučajeve kad takva rješenja ne daju dobre rezultate i odrediti koliko bodova neko netočno ili neefikasno rješenje zaslužuje i sukladno tome generirati test podatke.
Zadaci na županijskim i državnim natjecanjima, nekad i sad
Od 1991., kad je održano prvo državno natjecanje iz informatike, posao organizacije natjecanja i izrade zadataka obavljala je nacionalna udruga Hrvatski savez informatičara (HSIN). Ključna karakteristika sustava informatičkih natjecanja bila je što su se stručni poslovi sastavljanja zadataka i rada s nadarenim učenicima povjeravali onima koji su to mogli raditi najbolje: bivšim natjecateljima, i to najboljima među njima.
A oni su najbolji za taj posao iz više razloga: sami su prošli kroz natjecanja i pripreme i znaju sve zadatke koji su se pojavili proteklih godina na svim razinama u Hrvatskoj i inozemstvu, znaju koje su poteškoće u napretku i savladavanju teških algoritama i zadataka, i ono ključno, osjećaju entuzijazam. Oni su prošli kroz taj sustav, svjesni su koliko su profitirali od toga i najčešće se žele odužiti svojim doprinosom kako bi taj sustav bio još bolji.
I stvarno, sustav je iz godine u godinu bio sve bolji, zadaci sve teži, zanimljiviji, kreativniji i vrijedniji pažnje nadarenih učenika. Učenici su reagirali na to, baza se znatno prošrila, stvorila se pozitivna kompetitivna atmosfera i sve više učenika provodi svoje slobodno vrijeme entuzijastično učeći algoritme, vježbajući programiranje i rješavajući zadatke.
Pravo osvježenje u našem obrazovnom sustavu koji počesto favorizira repetitivno učenje i mediokritete.
Nekome se to ipak nije sviđalo. Navodno zbog spora s HSIN-om koji je rezultirao javnim pismom HSINa, Agencija za odgoj i obrazovanje (AZOO) 2010. godine odlučuje oduzeti županijska i državna natjecanja udruzi koja je ta natjecanja stvorila i dovela na svjetsku razinu i povjeriti natjecanja u programiranju tek osnovanoj udruzi (DUMP), čiji se najistaknutiji članovi mogu podičiti plasmanom na državno natjecanje u programiranju, ali bez zapaženijih uspjeha na njima (možda je još skandaloznija činjenica da su se istovremeno nacionalna natjecanja u izradi softvera povjerila stranoj tvrtci Microsoft, ali to nije tema ovog članka).
U međuvremenu se kvaliteta zadataka na županijskim i državnim natjecanjima drastično srozala:
apsolutno svi zadaci do ovogodišnjeg državnog natjecanja su bili već viđeni i neoriginalni, rješenja zadataka su očita i često samo direktna primjena poznatih algoritama koja ne zahtjevaju ni trunke kreativnosti i razmišljanja, broj zadataka na državnom natjecanju u programiranju za srednje škole smanjen je gotovo četverostruko (dva dana natjecanja su svedena na jedan, isti zadaci su zadani starijoj i mlađoj podskupini), tekstovi zadataka su nejasni, često i pogrešni, te nerijetko različito interpretirani od strane učenika i autora zadataka, česte su greške u test podacima, zabilježeni su slučajevi potpuno pogrešnog službenog rješenja zadatka, što je rezultiralo i pogrešnim test podacima, netočnim bodovanjem tog zadatka i sasvim neregularnim natjecanjem, prezentacija rješenja na državnom natjecanju za srednje škole svedena je na trajanje od svega 10 minuta, što nije ni približno dovoljno za detaljna objašnjenja iz kojih bi sudionici mogli nešto i naučiti, te ostavlja dojam da je cilj prezentacije da vas autor zadataka uvjeri kako on sam zna o čemu se tu radi.
Kako to utječe na entuzijazam učenika da se za takvo natjecanje pripremaju i koliko samim time uspjeh na takvom natjecanju manje vrijedi mislim da nije potrebno analizirati, a ako stvari ostanu kakve jesu, neminovno je da će i vrijeme to pokazati.
Budućnost natjecanja u programiranju u Hrvatskoj
Nažalost, u sudaru s birokracijom, pojmovi kao što su kvaliteta i rezultati relevantni su kao i lanjski snijeg.
U vremenu kad su korupcija, nepotizam i političke veze ključne za uspjeh pojedinca i njegov dolazak na poziciju na kojoj se odlučuje, bespredmetno je čuditi se ignoranciji ljudi iz AZOO, ako se uopće o ignoranciji radi. Natjecanja se, uz veće ili manje poteškoće, i dalje održavaju, forma je zadovoljena, psi laju, a karavane prolaze. Kako će pad kvalitete utjecati na budućnost ovih natjecanja? Hoće li se kroz nekoliko godina pozitivna atmosfera i interes mladih ljudi za ova natjecanja osipati, rezultati na međunarodnim natjecanjima vratiti u okvire prosjeka, a jedan izuzetan projekt izgrađen na entuzijazmu mnogih biti uništen?
Hoće li netko iz raznih agencija i ministarstava to ipak primjetiti?
Posljedice toga nećemo osjetiti odmah, ali za deset ili dvadeset godina kao društvo možda nećemo imati neke kvalitetne ljude i kadrove koje smo mogli stvoriti, jer ih sustav nije potaknuo da razvijaju svoj talent nego je taj talent ugušio. A ti ljudi bi svojim izvanserijskim sposobnostima mogli dati značajan doprinos našem gospodarstvu: zaposliti druge ljude, izvesti proizvode, zaraditi novac i platiti porez u našu zajedničku blagajnu. Ponekad se čuju i argumenti kao, “zašto bi mi ulagali u najbolje kad oni i tako odlaze u inozemstvo”. Istina je da se dio vrhunskih natjecatelja zaposlio u inozemstvu, i to u kompanijama kao što su Google, Facebook I slično, ali još uvijek većina ostaje raditi u Hrvatskoj. Osim toga, oni koji su otišli nikako za naše društvo nisu izgubljeni. Kroz neko vrijeme neki od njih će napraviti karijere, steći će znanje, novac, iskustvo i poznanstva. Dio njih će sasvim sigurno odlučiti to uložiti natrag u Hrvatsku.
Sama srednjoškolska natjecanja prosječnom građaninu ne znače mnogo, ali posljedice mnogih sličnih nebriga iz prošlosti na raznim poljima svi mi osjećamo svakodnevno – one su satkane u našu današnju realnost.
Pogledajmo priču u cijelosti (dvaput je dvaput):