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