IOI-valmennus

Harjoittelu

Datatähden, BOI:n ja IOI:n tehtävissä kysymys on algoritmien suunnittelusta ja toteuttamisesta. Tehtävänannossa kuvataan, missä muodossa ohjelmalle annetaan syöte, mitä ohjelman täytyy laskea ja missä muodossa ohjelman täytyy tulostaa vastaus. Kilpailuissa sallitut ohjelmointikielet ovat C, C++ ja Pascal.

Monen tehtävän haaste piilee siinä, että ohjelman täytyy olla tehokas, vaikka syötteen määrä olisi suuri. Tyypillisesti ohjelman sallittu suoritusaika on vain 0,5–2 sekuntia. Arvostelu on ankara: vaikka ohjelma toimisi oikein, se ei saa pisteitä, jos se on liian hidas.

Kilpailuihin voi valmistautua kahdella tavalla: lukemalla tietoa algoritmien teoriasta ja ratkomalla käytännössä tehtäviä. Hyvä ohjelmointirutiini on välttämätöntä kilpailuissa, koska aikaa on vähän ja vain toimiva ohjelma tuottaa pisteitä. Tehtävät ovat myös yleensä soveltavia eivätkä perustu suoraan tunnettuun algoritmiin.

Materiaali

Kirjat

Valmennuksessa on käytetty viime vuosina seuraavia kirjoja:

Tehtäväpalvelimet

Internetissä toimii monia tehtäväpalvelimia, jotka sisältävät laajan kokoelman tehtäviä ja tarkastavat ratkaisun automaattisesti.

Muiden maiden valmennus

Datatähteä vastaavia kilpailuja järjestetään muissakin maissa IOI-joukkueen valitsemiseksi.