Informaatikaolümpiaadi korraldavad TÜ ja HM vastavalt 20.09.2001 sõlmitud koostöölepingule.
Informaatikaolümpiaadi eemärgid on:
Informaatikaolümpiaad toimub kolmes voorus: koolivoor , piirkonnavoor ja lõppvoor . Arvestust peetakse eraldi nooremas (kuni 10. klass) ja vanemas (11.-12. klass) vanuserühmas. TÜ juures moodustatud informaatikaolümpiaadi žüriil (edaspidi žürii) on õigus lisaks olümpiaadile korraldada õppeaasta jooksul ka teisi võistlusi (lahtisi võistlusi), ja arvestada ka nende tulemusi nii olümpiaadi lõppvooru kutsumisel kui ka Eesti võistkonna koostamisel rahvusvahelisteks informaatikavõistlusteks . Info lahtiste võistluste kohta avaldatakse Internetis ja Õpetajate Lehes.
Olümpiaadil tuleb lahendada algoritmilise iseloomuga ülesandeid. Võimalikke ülesandetüüpe kirjeldab Lisa 1 . Programmeerimisülesande lahenduseks on programm keeles Basic, Pascal, C/C++ või Java. Täpsemalt kirjeldab kasutatavaid programmeerimisvahendeid Lisa 2 . Ülesannete tekstid antakse igale võistlejale vastavalt tema soovile kas eesti või vene keeles. Informaatikaolümpiaadi materjalide aadress Internetis on http://www.ttkool.ut.ee/comp/olymp .
Koolivoor toimub 15. detsembril 2001 informaatika- ja matemaatikaõpetajate abiga koolides, kus on võimalus võistlus läbi viia ja selle korraldamiseks avaldatakse soovi.
Korraldamissoovist tuleb teatada TÜ täppisteaduste kooli (TTK) mitte hiljem kui 30. novembriks 2001. Võistlust korraldavate koolide nimekirja koos kontaktandmetega avaldab olümpiaadikomisjon TTK veebilehel, koolid-listis ja olympiaadid -listis hiljemalt 4. detsembril 2001.
Õpilased, kelle koolis võistlust ei korraldata, võivad osalemissoovi korral võistlusest osa võtta mõnes teises võistlust korraldavas koolis, leppides eelnevalt kokku kohapealse läbiviijaga. Koolivooru ülesanded koostab žürii ja need toimetatakse koolidesse vastavalt kokkuleppele kohapealsete korraldajatega.
Lahendused saadetakse võistluspäeval kontrollimiseks koolidest TTKsse ja tulemused avaldab žürii hiljemalt 6. jaanuaril 2002 TTK veebilehel, koolid- ja olympiaadid-listis.
Koolivoorus on võistlejatel ülesannete lahendamiseks aega 4 tundi.
Piirkonnavooru, mis toimub 2. veebruaril 2002 , kutsub žürii paremad lahendajad koolivooru tulemuste põhjal.
Piirkonnavooru toimumise täpsed kohad määratakse vastavalt sellest voorust osavõtjate elukohtadele. Täpsema informatsiooni ja kutsed piirkonnavoorus osalejatele saadab üleriigiline komisjon maakondade/linnade haridusosakondadesse. Erandina lubatakse piirkonnavoorule ka õpilased, kes mingil mõjuval objektiivsel põhjusel ei saanud koolivoorus osaleda.
Ülesannete koostamine, võistluse läbiviimine ja lahenduste kontrollimine toimub sarnaselt koolivoorule.
Piirkonnavoorus on võistlejatel ülesannete lahendamiseks aega 4 tundi.
Olümpiaadi lõppvoor toimub 9. -10. märtsil 2002 Tartus . Lõppvooru kutsub žürii õpilasi piirkonnavooru ja 20. oktoobril 2001 toimunud lahtise võistluse tulemuste põhjal. Informaatikaolümpiaadi lõppvoorule kutsutute nimed teatatakse piirkondadesse ning avalikustatakse Internetis hiljemalt 22. veebruaril 2002. a.
Lõppvoorus toimub võistlus 5-tunnise praktilise tööna IBM PC tüüpi arvutil. Võistleja poolt valitud programmeerimisvahendid on võistluse alguseks arvutile paigaldatud. Igale võistlejale antakse ketas oma programmide salvestamiseks. Igale ülesandele tuleb esitada ainult üks lahendus, mis tuleb salvestada ülesande tekstis määratud nimega faili. Kaasatoodud ketaste ja trükitud materjalide kasutamine ei ole lubatud. Töö ajal ei ole osavõtjal trükkimise võimalust. Olümpiaadi ajakavas on ette nähtud aeg programmide tööga tutvumiseks ja apellatsioonideks. Sellel ajal võib osavõtja kopeerida programmid ka oma kettale. Protestid lahendab žürii, kelle otsus on lõplik.
Kõik lõppvooru kutsutud õpilased kindlustatakse tasuta toidu ja vajadusel öömajaga. Sõidukulud ja õpilastega kaasas oleva saatja komandeerimiskulud katab lähetaja.
Olümpiaadi lõppvooru tulemuste põhjal valib žürii kandidaadid Eesti võistkonda Balti Informaatikaolümpiaadile Vilniuses (Leedu) ja Rahvusvahelisele Informaatikaolümpiaadile Yong-Inis (Korea). Rahvusvahelistest olümpiaadidest võivad osa võtta ka need, kes on selleks ajaks keskkooli lõpetanud. Võistkonna kandidaadid valitakse töö taseme põhjal nii noorema kui vanema vanuseklassi võistlejate hulgast (rahvusvahelised võistlused toimuvad ainult ühes vanuseklassis).
Kandidaatidele korraldatakse täiendavad õppused ja võistkond valitakse lõplikult rahvusvahelise olümpiaadi tasemele vastavate ülesannetega katsevõistlustel.
Rahvusvahelistel võistlustel on kasutusel ainult Pascal ja C/C++, seetõttu ei pääse rahvusvaheliste võistluste meeskonda õpilased, kes lõppvoorus ja valikvõistlustel kirjutavad oma tööd muudes programmeerimiskeeltes. Rahvusvahelistel võistlustel ei või Eestit esindada välisriikide kodanikud.
Seda tüüpi ülesandes tuleb leida algoritm ja realiseerida selle alusel programm antud andmetöötlusülesande lahendamiseks.
Ülesande püstitus kirjeldab, kust ja millises formaadis saab programm oma lähteandmed, millistele küsimustele on vaja nende põhjal vastata ning kuhu ja millises formaadis need vastused hindamiseks esitada. Tavaliselt on nii sisendiks kui ka väljundiks kettal olevad tekstifailid.
Seda tüüpi ülesande lahenduseks on mõnes võistlusel kasutada lubatud programmeerimiskeeles kirjutatud programm. Lahendust hinnatakse programmi arvutis testimise teel. Kuigi üldjuhul hinnatakse seda tüüpi ülesandes ainult programmi töö tulemusi, jätab žürii endale õiguse ebaausa võistluse kahtluse korral kontrollida ka programmi teksti.
Seda tüüpi ülesandes tuleb leida vastused antud andmetöötlusülesande fikseeritud sisendandmete komplektile.
Ülesande püsitus kirjeldab, millises formaadis on esitatud lähteandmed, millistele küsimustele on vaja nende põhjal vastata ning millises formaadis need vastused hindamiseks esitada. Ülesande püstitusse kuulub fikseeritud komplekt sisendandmeid.
Seda tüüpi ülesande lahenduseks on nõutud formaadis väljundandmed, mis vastavad antud sisendandmetele. Lahendusi hinnatakse väljundandmete kontrollimise teel. Programmi teksti hindamiseks ei esitata. Programmi koostamine pole üldse kohustuslik, kui võistleja suudab ülesande mingil muul moel lahendada.
Seda tüüpi ülesandes tuleb koostada testimisplaan andmetöötlusülesande lahenduse õigsuse kontrollimiseks.
Ülesande püsitus kirjeldab, millises formaadis on esitatud lähteandmed, millistele küsimustele on vaja nende põhjal vastata ning millises formaadis need vastused hindamiseks esitada. Ülesande püstitusse võib kuuluda või mitte kuuluda selle andmetöötlusülesande lahendamiseks koostatud programm.
Seda tüüpi ülesande lahenduseks on testandmete komplekt kirjeldatud andmetöötlusülesande lahenduse õigsuse kontrollimiseks. Hindamisel võetakse arvesse koostatud testandmete korrektsust ja täielikkust.
Seda tüüpi ülesandes tuleb analüüsida antud algoritmi.
Ülesande püstitus nõuab etteantud algoritmi ja selle omaduste mõistmist. Ülesande püsitusse kuulub kindlasti analüüsitava algoritmi inimloetav esitus, tavaliselt pseudokeelse programmina. Ülesande püstitusse võib kuuluda või mitte kuuluda selle algoritmi poolt lahendatava ülesande püstitus.
Seda tüüpi ülesande lahenduseks on põhjendatud vastused ülesande püsituses esitatud küsimustele analüüsitava algoritmi omaduste kohta. Hindamisel võetakse arvesse esitatud vastuste õigsust ja nende põhjendatust.
Seda tüüpi ülesandes tuleb analüüsida ülesande tekstis kirjeldatud süsteemi.
Ülesande püstitus nõuab etteantud süsteemi ja selle käitumise mõistmist. Ülesande püsitusse kuulub kindlasti analüüsitava süsteemi kirjeldus, tavaliselt süsteemi kuuluvate objektide, nende omaduste ja nendevaheliste seoste loeteluna.
Seda tüüpi ülesande lahenduseks on põhjendatud vastused ülesande püsituses esitatud küsimustele analüüsitava süsteemi omaduste ja selle käitumise kohta. Hindamisel võetakse arvesse esitatud vastuste õigsust ja nende põhjendatust.
Eesti informaatikaolümpiaadi kõigis kolmes voorus on võistlejatel võimalik kasutada programmeerimiskeeli Basic, Pascal, C/C++ ja Java. Lisaks sellele on lahtisel võistlusel lubatud kasutada ka programmeerimiskeeli Perl ja PHP.
Kõigis voorudes tuleb lahendus esitada lähtetekstina, mille žürii testimiseks ise kompileerib.
Kuna kõigis arvutiklassides pole kõigi programmeerimisvahendite kasutamise võimalust, peab iga võistleja registreerumisel teatama, milliseid programmeerimisvahendeid ta kasutada soovib ja lahendama kõik ülesanded valitud töökeskkonnas.
Võistluse ajal on võimalik kasutada valitud programmeerimissüsteemi standardset dokumentatsiooni elektronkujul. Trükitud manuaalide olemasolu ei saa korraldajad garanteerida.
Basicus programmeerimiseks on võimalik kasutada QBasicut. Ei ole võimalik kasutada ei QuickBasicut ega ka Visual Basicut. Kõigis voorudes kasutab žürii lahenduste testimiseks QBasicu versiooni 1.1.
QBasic on kaasas nii MS-DOSi kui ka MS Windowsi uuemate (alates ca 1990. aastast) versioonidega.
NB! Rahvusvahelistel võistlustel ei ole Basicu kasutamine lubatud, seetõttu ei pääse lõppvoorus ja valikvõistlustel Basicut kasutavad õpilased rahvusvaheliste võistluste meeskondadesse.
NB! Väga suure tõenäosusega ei ole järgmisest õppeaastast alates Basicu kasutamine lubatud ka Eesti informaatikaolümpiaadil.
Pascalis programmeerimiseks on võimalik kasutada FreePascalit või Turbo Pascalit. Ei ole võimalik kasutada Delphit. Kõigis voorudes kasutab žürii lahenduste testimiseks FreePascali versiooni 1.0.4 või uuemat.
FreePascal on vabavara, mida saab tasuta aadressilt http://www.freepascal.org/ . Turbo Pascal on kommertsprodukt, kuid selle vanemaid versioone saab tasuta aadressilt http://community.borland.com/museum/ . FreePascal (üsna vana versioon) on olemas ka Phare ISE koolitarkvara CD3 peal.
C's ja C++'s programmeerimiseks on võimalik kasutada DJGPP'd või Borland C++. Ei ole võimalik kasutada Visual C++'i. Kõigis voorudes kasutab žürii lahenduste testimiseks DJGPP versiooni 2.0.3 või uuemat.
DJGPP on GNU C/C++-kompilaatori versioon MS-DOSi ja MS Windowsi jaoks. See on vabavara, mida saab tasuta aadressilt http://www.delorie.com/djgpp/ . DJGPP kasutamiseks on olemas ka töökeskkond RHIDE. See on vabavara, mida saab tasuta aadresilt http://home.lanet.lv/~pavenis/rhide.html . Borland C++ on kommertsprodukt, kuid selle vanemaid versioone saab tasuta aadressilt http://community.borland.com/museum/ . DJGPP ja RHIDE (üsna vanad versioonid) on olemas ka Phare ISE koolitarkvara CD3 peal.
NB! Visual C++ kasutajatel tasub enne olümpiaadi pöörata tähelepanu sellele, et GNU kompilaator ei toeta paljusid Visual C++ mittestandardseid klasse (näiteks CFile) ja õppida kasutama nende standardseid analooge (näiteks fstream).
Javas programmeerimiseks on võimalik kasutada JDK'd või Borland JBuilderit. Ei ole võimalik kasutada Symantec Cafe'd ega Visual J++'i. Kõigis voorudes kasutab žürii lahenduste testimiseks JDK versiooni 1.3.0 või uuemat.
NB! Rahvusvahelistel võistlustel ei ole Java kasutamine lubatud, seetõttu ei pääse lõppvoorus ja valikvõistlustel Javat kasutavad õpilased rahvusvaheliste võistluste meeskondadesse.
Perlis programmeerimiseks on võimalik kasutada ActiveState Perli. Perli jaoks arenduskeskkonda ei ole. Programmi teksti kirjutamiseks saab kasutada Windowis standardseid tekstiredaktoreid. Lahenduste testimiseks kasutab žürii ActiveState Perli versiooni 5.6.0 või uuemat.
ActiveState Perl on vabavara, mida saab tasuta aadressilt http://www.activestate.com/Products/ActivePerl/ .
NB! Perli kasutamine on sel aastal lubatud eksperimendi korras ainult lahtisel võistlusel. Selle keele edasine saatus Eesti informaatikaolümpiaadil sõltub tänavuse katse tulemustest.
PHP's programmeerimiseks on võimalik kasutada PHP interpetaatorit. PHP jaoks arenduskeskkonda ei ole. Programmi teksti kirjutamiseks saab kasutada Windowis standardseid tekstiredaktoreid. Lahenduste testimiseks kasutab žürii PHP versiooni 4.0.3 või uuemat.
PHP on vabavara, mida saab tasuta aadressilt http://www.php.net/ .
NB! PHP kasutamine on sel aastal lubatud eksperimendi korras ainult lahtisel võistlusel. Selle keele edasine saatus Eesti informaatikaolümpiaadil sõltub tänavuse katse tulemustest.