Loppusanat

Kuten vanha sanonta kertoo, kaikki hyvä päättyy aikanaan. Tiran loppuminen jättää varmasti monen elämään – tai ainakin aikataulutukseen – aukon, jonka täyttäminen voi olla hankalaa. Kurssin loppumisen ei kuitenkaan tarvitse olla algoritmien harrastamisen loppu: laitoksellamme on monia algoritmeihin liittyviä kursseja, ja internet on pullollaan materiaalia algoritmeista kiinnostuneelle!

Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit, tai lyhyemmin 'tiralabra', on tämän kurssin asioihin liittyvä harjoitustyökurssi. Sen laajuus on 3-5 opintopistettä, ja siinä on tarkoituksena toteuttaa normaalia TMC-tehtävää laajempi algoritminen projekti. Huomaathan, että kurssin voi suorittaa jo kesällä, joten algoritmien maailmaan palaamista ei tarvitse välttämättä odottaa kauan! Normaaleista aineopintotason kursseista Laskennan mallit on tiraa lähimpänä, joskin kyseessä on huomattavasti teoreettisempi kurssi.

Syksyisin on yleensä järjestetty nimellä 'Ohjelmointihaasteita II' tai 'Kilpaohjelmointi' kurssi, jonka aikana tehdään ohjelmointikilpailuita 1-3 hengen joukkueissa. Kilpailujen tehtävät ovat TMC-tehtävien kaltaisia algoritmisia ongelmia. Kurssi on perinteisesti huipenunut pohjoismaiden yliopistojen väliseen ohjelmointikilpailu NCPC:hen, joka on ensimmäinen karsintavaihe kansainvälisessä ICPC-kilpailussa. Toinen erikoiskurssi, jolla pääsee koodaamaan TMC-tehtävien kaltaisia tehtäviä, on Algoritmit ongelmanratkaisussa, joka saatetaan järjestää taas ensi keväänä. Viimeisimmällä iteraatiolla kurssi koostui ainoastaan ohjelmointitehtävistä, jotka ovat vielä näkyvissä täällä.

Muut yliopiston algoritmikurssit ovat pääasiassa syventäviä kursseja, joiden aiheet ovat yleensä huomattavasti rajatumpia kuin tirassa. Näistä kursseista tiran jatkokurssina voidaan pitää kurssia Design and Analysis of Algorthms, joka on yleensä järjestetty syksyisin. Syventävillä algoritmikursseilla ei yleensä ole varsinaisia ohjelmointitehtäviä, mutta moneen niistä liittyy projektikurssi.

Jos algoritminen koodaus kiinnostaa, niin Datatähden valmennustehtäviin kannattaa tutustua. Niissä käytetään materiaalina monille jo tuttua Kisakoodarin käsikirjaa: tarkoituksena olisi se, että jokaiseen kkkk:n lukuun liittyisi harjoitustehtäviä. Ensimmäiset kaksi osaa neljästä löytyvät jo sivulta, loput osat ilmestyvät lähitulevaisuudessa. Myös kilpaohjelmointiin kannattaa tutustua. Tällä hetkellä suosituin kisakoodaussivusto on luultavasti CodeForces, jossa järjestetään kisoja yleensä noin kerran viikossa. Kisat ovat hyvä tapa laajentaa ja syventää algoritmista osaamista, ja huhujen mukaan kisakoodarit ovat kuumaa kamaa muun muassa Googlella.

Aurinkoista kesää kaikille!

-Toni Annala (OOliOO)