2. tietotekniikan junioriolympialaiset: Venäjä tarjosi hulppeat puitteet

Suomen joukkue oli ensimmäistä kertaa mukana Euroopan tietotekniikan junioriolympialaisissa. Ohjaajat ja kisaajat viettivät viikon omituisen modernissa tiedekaupunki Innopoliksessa. Kilpailuun osallistumisen lisäksi joukkue ihasteli Volgan kokoa ja tutustui kilpaohjelmoinnin harrastajiin muista maista.

Aloituskuvassa Suomen joukkue. Takarivissä vasemmalta oikealle ohjaajat Ada-Maaria Hyvärinen ja Pihla Toivanen, kisaajat Valtteri Aurela, Into Almiala ja Henri Ahola sekä vierailija Jarkko Ahola. Eturivissä paikallinen opas Joseph Mayowa.

EJOI-kilpailu eli Euroopan tietotekniikan junioriolympialaiset järjestettiin heinäkuussa Venäjän Innopoliksessa, Kazanin lähelle rakenteilla olevassa modernissa tiedekaupungissa. Suomesta mukana olivat kilpailijat Henri Ahola, Into Almiala ja Valtteri Aurela, ohjaajat Ada-Maaria Hyvärinen ja Pihla Toivanen sekä vierailija Jarkko Ahola.

Kilpailu on uusi tulokas kisakoodauksen alalla. Se pidettiin ensimmäisen kerran vuonna 2017 Bulgarian Sofiassa. Vuonna 2018 22 osallistujamaan joukossa oli myös Suomi, jolle Innopoliksen EJOI oli ensimmäinen laatuaan.

Roman Shaykhutdinov, Tatarstanin informaatio- ja kommunikaatioministeri piti kannustuspuheen kilpailun alkuseremoniassa.

Juniorikilpailu eroaa perinteisistä ohjelmointikilpailuista ikärajansa puolesta. Vuonna 2018 osallistua saivat vuonna 2003 tai sen jälkeen syntyneet. Kilpailun tarkoituksena on antaa nuoremmillekin mahdollisuus saada kokemusta kansainvälisestä kilpailusta, sillä yläkouluikäisen voi olla vaikea päästä mukaan kisajoukkueeseen, kun valinnassa on mukana myös lukiolaisia. Monen maan on kuitenkin ollut vaikea löytää tarpeeksi osaavia kisaajia. Joukkueiden maksimikoko on neljä, mutta Suomen vuoden 2018 joukkueessa oli vain kolme kisaajaa, sillä mukaan päästäkseen on harjoiteltava ahkerasti. Harjoitustehtävien tekeminen vaatii paitsi C++-ohjelmointikielen taitoa, myös pitkäjänteistä omistautumista.

Suomen joukkue ennen kisajärjestelmään tutustuttavan harjoituskilpailun alkua. Kisaajille on mukana omat näppäimistöt, englannin sanakirja ja maskottina Tux-pingviini.

EJOI on osallistujien nuoresta iästä huolimatta täysverinen ohjelmointikilpailu, jossa ratkotaan samantyylisiä algoritmisia pulmatehtäviä kuin isompien kilpailuissa. Kisapäiviä on kaksi. Kumpanakin kisaajat saavat eteensä kolme tehtävää, joiden ratkomiseen on aikaa yhteensä neljä tuntia. Ratkaisun täytyy olla paitsi toimiva, myös tehokas. Kilpailussa käytössä oleva laskenta-aika on rajattu. Helposti koodattavalla mutta hitaasti laskevalla brute force -ratkaisulla ei siis saa pisteitä.

Raa’asta voimasta on kuitenkin hyötyä, kun Suomen joukkue juuttuu saapumispäivänä yliopiston hissiin. Ovi aukeaa työntämällä.

Innopoliksen kaupunki kuin Lego-maailmasta

Venäjä oli erinomainen kohde nuorten ensimmäiselle kilpailumatkalle, sillä se on Itä-Euroopan ohella ollut perinteisesti algoritmisen osaamisen kärkialueita. Taustalla on paitsi slaavilaisen kulttuurin arvostus koulutusta ja matematiikkaa kohtaan, myös Venäjän tekniikan historia. Venäjä on kilpaillut Yhdysvaltojen kanssa avaruuden teknisistä edistysaskeleista kuten avaruuden valloittamisesta, mutta käytössä olevat resurssit ovat usein olleet huonommat. Mitä tehottomampi kone, sitä tärkeämpää on koodin huolellinen optimointi. Usein Venäjän menestys on siksi riippunut algoritmien osaamisesta.

Vaikka Venäjä tuo suomalaisille helposti mieleen ränsistyneet rakennukset ja vanhentuneet koneet, ei Innopoliksessa näy sellaisesta jälkeäkään. Vuonna 2012 päätettiin rakentaa Venäjän kolmanneksi suurimman kaupungin Kazanin lähelle teknologiapuisto ja sen ympärille asuinrakennuksia. Keskelle peltoja nousseesta Innopoliksesta tehtiin kaupunki vuonna 2014. Sen keskus on teknillinen yliopisto, jossa EJOI:kin järjestetään. Lisäksi kaupungissa on peruskoulu, lukio, muutama kauppa ja ravintola sekä korkeita kerrostaloja. Vuonna 2016 kaupungin asukasluku oli Wikipedian mukaan 96 ihmistä, mutta opas kertoo nykyään kaupungissa asukkaita olevan jo noin 3000. Lisää kerrostaloja rakennetaan jatkuvasti.

Suomalaiseen silmään kaupunki näyttää absurdilta, kuin olisi simulaatiossa tai Lego-maailmassa. Kerrostalot loppuvat suoraan pellonreunaan, koska tarkoituksena on tehdä paikasta loppupeleissä suurkaupunki. Saa nähdä, tuleeko Innopoliksesta sellainen teknologian ja edistyksen kehto kuin suunnitelmat lupaavat. Järjestäjille vieraiden saama mielikuva kaupungista ja yliopistosta tuntuu olevan sydämen asia. Joukkueilta varmistellaan, viihtyvätkö he kaupungissa, ja kisaajia muistutetaan alueen työ- ja opiskelumahdollisuuksista.

Suomalaisista kukaan ei innostu suunnittelemaan Innopolikseen muuttoa. Kilpailun kannalta kaupunki on kuitenkin mainio paikka. Innopoliksessa on turvallista, kun ihmisiä ja liikennettä ei juuri ole. Yksikseen voi liikkua vaikka kauppaan tai urheiluhalliin. Rakennukset ovat uunituoreet ja siistit – ainakin siihen asti, kun maatuskanmaalaustyöpaja sotkee yhden luentosaleista akryyliväreihin.

Innopolis-yliopiston päärakennus on arkkitehtuuriltaan moderni ja tarjosi hyvät puitteet kilpailulle.
Kulttuuriohjelmaa kisaamisen ohessa

Kilpailun tarkoituksena ei ole vain selvittää, kuka nuorista on paras algoritmikoodari. Kisamatka on myös mahdollisuus tutustua samoista asioista kiinnostuneisiin ihmisiin ja uusiin kulttuureihin, ensisijaisesti tietysti järjestäjämaan kulttuuriin. Paineet mieleenpainuvan ohjelman järjestämisestä ovat kovat, ja EJOI:ssakin kisaajia kierrätetään niin sirkuksessa kuin kulttuurikohteissakin. Nuoriin tekee vaikutuksen Eiffel-ohjelmointikielen kehittäjän Bertran Meyerin yllätysluento, ohjaajiin taas Kazanin Kreml ja Volgan koko. Volgan suuruudesta kertoo, että bussin ikkunasta katsellessa kisaajat pohtivat, kumpi suunta on joen pituus ja kumpi leveys.

Kilpailun tehtävät osoittautuvat haastaviksi niin suomalaisille kuin muidenkin maiden osallistujille. Suomi ei vuonna 2018 yltänyt mitalisijoille. Kisaajat eivät kuitenkaan lannistuneet, vaan pohtivat kilpailun jälkeen yhdessä, millä aikataululla tehtävänantotarinan maailmanmatkaaja Glebin kannattaa anoa viisumeita kahteen passiinsa.

Suomella ei ollut tosimaailmassa ongelmia viisumien saannissa, mutta kaikki maat eivät olleet yhtä onnekkaita. Georgian tiimi jäi kilpailusta pois, samoin Ukrainan. Kansainväliset konfliktit varjostavat usein kilpailuja, jotka sijoittuvat poliittisiin kiistoihin osallistuviin maihin, eikä Venäjä ole siitä poikkeus.

EJOI-kilpailun jatkuminen on epävarmaa, sillä kilpailulla ei ole vielä järjestäjää. Kisojen järjestäminen on kallista, joten monikaan maa ei ole vapaaehtoinen tehtävään. Voi siis olla, että kilpailun nuoret päätyvät seuraavaksi pyrkimään perinteisempiin kilpailuihin, kuten Itämeren alueen maiden BOI-kilpailuun ja kansainväliseen IOI-kisaan.

EJOI toimikin kisaajille hyvänä harjoituksena tulevia kilpailuja varten. Se on myös tilaisuus viettää aikaa toisten algoritmisesta ratkaisemisesta kiinnostuneiden nuorten kanssa, ja vaikka kirjoittaa Oi kuusipuu -laululle uudistettu, hyödyllistä tietorakennetta ihaileva sanoitus Oi segmenttipuu.


Miten mukaan kisakoodaukseen?

Kilpaohjelmoinnista kiinnostuneen kannattaa ensiksi varmistaa, että koodaamisen peruspalikat ovat kunnossa. Silmukoiden ja muuttujien kanssa pelaamisen tulee olla tuttua, mutta sovelluskehitystä tai olio-ohjelmointia ei kisoissa tarvitse osata. Kansainvälisten kilpailujen yleisin kieli on C++, mutta kotimaisiin kisoihin voi osallistua useimmilla moderneilla ohjelmointikielillä.

Virtuaaliseen lokakuussa pidettävään Datatähti-alkukilpailuun saa osallistua kuka tahansa peruskoululainen tai toisen asteen opiskelija. Useimmat harrastajat löytävätkin lajin Datatähti-kilpailun kautta ja tutustuvat kisakoodausaiheisilla keskustelukanavilla toisiin harrastajiin. Myös Datatähti-valmennustehtävät ovat kenen tahansa saatavilla netissä. Ahkerasti tehtäviä tekemällä on mahdollista päästä kisakoodausvalmennuksen piiriin ja sitä kautta kilpailuihin. Moni kilpaohjelmoija harrastaa myös kisamatematiikkaa, sillä lajit tukevat toisiaan.


Lisätietoa

Yleistä kisakoodauksesta: http://kisakoodaus.fi/

Datatähti-kilpailu: datatahti.fi

Datatähti-valmennustehtävät: https://cses.fi/dt/

Ohjelmointia aloittelijoille: https://tie.koodariksi.fi/alkeet/

Ada-Maaria Hyvärinen

LuK, Helsingin yliopisto

Kuvat: Pihla Toivanen


Neljän tieteen kisoja ovat tukeneet Opetushallitus, Teknologiateollisuuden 100-vuotissäätiö, Otavan kirjasäätiö, Laskentaväline Oy, MFKA-Kustannus Oy ja Sähköturvallisuuden edistämiskeskus STEK ry.

Kirjoittaja