Kansainväliset tietotekniikkaolympialaiset

Kansainväliset tietotekniikkaolympialaiset (, IOI) ovat alle 20-vuotiaille ei-korkeakouluopiskelijoille tarkoitetut tietotekniikkakilpailut. Ne järjestetään vuosittain yleensä elokuun puolivälissä, ja kustakin maasta niihin osallistuu nelihenkinen joukkue. Kullakin joukkueella on myös joukkueenjohtaja ja apulaisjohtaja, jotka kääntävät kilpailutehtävät joukkueen omalle kielelle. Kilpailun tehtävissä pitää yleensä ohjelmoida jonkinlainen algoritmi tiettyyn ongelmaan.

Historia
Kansainväliset tietotekniikkaolympialaiset saivat alkunsa vuonna 1987, kun Bulgarian delegaatti Blagovest Sendov laati ehdotuksen Unescon 24. yleiskonferenssia varten. Ensimmäinen IOI järjestettiin Bulgariassa vuonna 1989.

Tapahtuma
Koko tapahtuma on noin viikon mittainen ja sisältää paljon muutakin kuin pelkän kilpailun. Ensimmäisenä päivänä on lyhyt harjoituskilpailu, jota seuraa avajaisseremonia. Toinen ja neljäs päivä ovat varsinaisia kilpailupäiviä, kumpanakin on viisituntinen kisarupeama. Kolmantena ja viidentenä päivänä on yleensä järjestettyä ohjelmaa kuten kaupunkikierros tai paikallisiin nähtävyyksiin tutustumista. Kuudentena päivänä pidetään palkintojenjakotilaisuus ja julistetaan kilpailu päättyneeksi.

Kilpailu
Kumpanakin kilpailupäivänä on viisi tuntia aikaa ja kolme tehtävää. Yhteensä kolmen tai neljän tehtävän ratkaiseminen virheettömästi riittää hyvin todennäköisesti hopeamitalin saavuttamiseen. Kullakin kilpailijalla on käytössään kirjoitusvälineet sekä tietokone, jossa on rajallinen määrä perusohjelmia kuten muutama erilainen tekstieditori ja C-, C++- ja Pascal-kääntäjät sekä näiden kielten standardikirjastojen dokumentaatiot. Internetin ja omien tiedonsiirtovälineiden käyttö on sekä kielletty että estetty. Kilpailussa sallitut kielet ovat jo mainitut C, C++ ja Pascal.

Tehtävät
Normaalisti tehtävänä on kehittää algoritmi annetun ongelman ratkaisemiseksi, ja tällöin vastaukseksi lähetetään tehdyn ohjelman lähdekoodi. Toisessa tehtävätyypissä ohjelman pitää kommunikoida toisen ohjelman kanssa, esimerkiksi pelata jotakin peliä. Tehtävien arvostelussa ajetaan ohjelma usealla eri testitapauksella ja tarkistetaan, onko tuotettu vastaus oikea. Pisteitä saa siis myös ratkaisulla, joka toimii vain osittain. Kolmannessa tehtävätyypissä vastaukseksi lähetetään vain saatu lopputulos, ja nämä tehtävät on siis teoriassa mahdollista tehdä myös ohjelmoimatta, vaikkapa laskea paperilla. Näiden tehtävien arvostelu voi tapahtua useammalla tavalla. Jos tehtävänä on esimerkiksi pakata annettu data mahdollisimman tehokkaasti niin, että sen voi purkaa tietyllä algoritmilla, voidaan pisteitä jakaa tuotetun tiedoston koon mukaan tai vaikkapa suhteessa parhaaseen lähetettyyn ratkaisuun. Kukin tehtävä on 100 pisteen arvoinen, koko kilpailun maksimipistemäärä on 600.

Palkinnot
Paras 1/12 osa kilpailijoista saa kultamitalin, seuraava 2/12 osa saa hopeamitalin, ja seuraava 3/12 osa saa pronssimitalin. Usein mitalien yhteydessä jaetaan järjestäjästä riippuen muutakin palkintomateriaalia, esimerkiksi USB-tikkuja tai ohjelmistopaketteja. Lisäksi kokonaiskilpailun kolmelle parhaalle on yleensä luvassa vielä omat erikoispalkintonsa.

Suomi
Suomen joukkueen alkukarsintana toimii kansallinen Datatähti-kilpailu. Datatähden perusteella valitaan valmennusryhmä, ja keväällä pidettävän valmennusleirin lopussa valitaan kuuden hengen joukkue BOI-kisoihin. Näiden tulosten perusteella valitaan neljä edustajaa IOI:hin.IOI-valmennus

Suomalaiset IOI mitalistit
Suomalaiset ovat saavuttaneet yhteensä 59 mitalisijaa IOI:ssa. Oheinen taulukko listaa suomalaiset mitalistit (K = kultamitali, H = hopeamitali ja P = pronssimitali).

 Nimi Vuosi Tero Karras  2000 K  1997 H  1998 H  1999 H Samuli Laine  1997 K  1998 H  1995 P   Teemu Murtola  2001 K  1999 P  2000 P   Veli Peltola  2003 K  2002 P     Janne Kujala  1996 K       Kalle Luopajärvi  2014 H  2015 H  2016 H  2013 P Sami Kalliomäki  2014 H  2013 P  2015 P   Johannes Laire  2010 H  2011 P     Markus Ojala  2002 H  2003 P     Olli-Pentti Saira  2001 H  2002 P     Vesa Rantanen  1995 H  1996 P     Ville Mäkynen  2003 H  2004 P     Ville Pettersson  2005 H  2006 P     Arttu Rajantie  1992 H       Fredrik Jansson  2001 H       Janne Kokkala  2006 H       Juha Arpiainen  2003 H       Kari Visala  1995 H       Mika Pruikkonen  2001 H       Seppo Nyrkkö  1994 H       Thomas Eckerman  1999 H       Andrei Cramariuc  2011 P  2012 P     Henrik Lievonen  2014 P  2015 P     Lauri Kenttä  2006 P  2007 P     Aleksi Hartikainen  2008 P       Antti Laaksonen  2006 P       Antti Röyskö  2017 P       Esa Pulkkinen  1992 P       Hannes Ihalainen  2016 P       Jan Lönnberg  1998 P       Jasse Lahdenperä  2012 P       Johannes Lehtinen  1995 P       Juha Harviainen  2017 P       Juho Yli-Krekola  1994 P       Jussi Kokkala  2009 P       Mikko Sysikaski  2008 P       Nuutti Hölttä  2010 P       Olli-Pekka Kahilakoski  2002 P       Otto Ebeling  2007 P       Pietari Kaskela  2016 P       Siiri Kuoppala  2017 P       Timo Teräs  1998 P       Tuukka Korhonen  2015 P      

Lähteet

 Aiheesta muualla 
 IOI
 Yhdysvaltalainen harjoitussivusto 
 Suomen IOI-historia Ohjelmointiputkassa 

Luokka:Tietotekniikka-alan tapahtumat