12.05 Johdatus ohjelmointiin -kurssin ensimmäinen luento on starttaamassa, ja kaikki haluavat istumaan taakse ja reunapenkeille. Moni kaivaa laukustaan heti läppärin tai tabletin, vihkot ja kynät ovat harvemmassa.
Luennoitsija Ilkka Räsänen saapuu saliin opiskelijoiden vanavedessä. Hän virittelee mikrofonia paikalleen, mutta jokin menee karmealla tavalla pieleen: luento alkaa korvia pirstovan vihlovalla kiertoäänellä. Se toistuu kolmannen, neljännen ja vielä viidennenkin kerran.
Eikä tässä vielä kaikki. Myöskään salin videotykki ei toimi, joten opiskelijat saavat tuijotella luennon ensimmäiset minuutit PowerPoint-diojen sijaan sinistä heijastusta.
Räsänen ei ongelmista hermostu. Hän näkee tässä hetkessä mahdollisuuden opettavaiseen huomioon.
”Tässä on esimerkki siitä, että ohjelmistoa tehdessä ne eivät välttämättä toimi suunnitellusti. Ensimmäinen ohjehan on se, että käynnistä kone uudestaan, jos se vaikka toimisi. Sen tempun joudun nyt tekemään.”
Ei toimi vieläkään. Paikalle soitetaan asiantuntijaksi vahtimestari.
12.23 Teknisten ongelmien ratkettua Ilkka Räsänen aloittaa kurssin läpikäynnin kannustavasti.
”Ohjelmoimaan oppii parhaiten tekemällä, sillä pelkällä teorialla ei päästä vielä pitkälle.”
Räsänen korostaa, ettei 40 luentotunnilla kenestäkään tehdä vielä C-ohjelmointikielen taituria. Maallikkous ei kuulemma kuitenkaan haittaa, sillä ainoa Räsäsen vaatimuksista – kurssilla tehtävien pakollisten kotitehtävien lisäksi – on uudelle asialle avoin mieli.
”Älkää hokeko, että en tajua tätä. Se tekee lukon päähän.”
13.00 Diat vaihtuvat toisiin, kun käytännön järjestelyistä siirrytään kurssin varsinaiseen sisältöön: siihen, mitä ohjelmointi on.
Osa opiskelijoista tosin osoittaa jo tässä vaiheessa pieniä uupumisen merkkejä. Pientä supsutusta kuuluu muutamilta penkkiriveiltä. Vieressäni istuva opiskelija nojaa eteenpäin ja painaa päänsä hetkeksi käsien varaan. Sitten hän yhtäkkiä ryhdistäytyy ja alkaa näppäillä kännykkäänsä.
Mutta Räsänen jatkaa. Hän kertoo ohjelmoinnin olevan taiteenlaji, johon virheet kuuluvat oleellisesti. Siksipä onnistuneesta ohjelmasta ei kannata koskaan innostua liian aikaisin. Hän vinkkaa, että täysin kelvolliselta vaikuttava ohjelma kannattaa antaa kaverille kokeiltavaksi.
Räsänen innostuu virheistä entisestään. Opin, että virheettömyyden todistaminen ei ainakaan isoissa ohjelmissa onnistu. Lisäksi virheen korjaus saattaa aiheuttaa vain lisää ongelmia.
Kerrottuaan tämän Räsänen lohduttaa: virheiden tekemistä ei kannata murehtia, sillä niistä oppii eniten. Hän kertoo olevansa itse immuuni töpeksimiselle ja häpeän tunteelle.
”Virheet pitää ottaa huumorilla. Niihin ei kuole.”
13.20 Nyt olemme totisesti perustavien asioiden äärellä. Valkokankaalle heijastetaan tietokoneen kaavakuva.
Keskellä on CPU, keskusyksikkö. Siihen yhdistyvät nuolilla keskusmuisti, muistilaite, syöttölaite, tulostuslaite ja kommunikointilaite. Tämän ymmärrän. Muutaman dian päästä putoan kärryiltä. Jonossa tulevat oudot sanat: Assembly, Basic, Fortran, Cobol, Java, C ja C++, Pascal.
Mennään eteenpäin, kohti kielitieteen perusteita. Ohjelma on käännettävä konekieliseksiz ennen kuin sitä voidaan suorittaa. Myös ohjelmointikielellä on oma syntaksi, kielioppi, joka määrittelee, miten symboleja, sanoja ja tunnuksia yhdistelemällä muodostetaan ohjelma. Ohjelmointikielen semantiikka puolestaan määrittää sen, mitä ohjelma tekee.
Kuulostaa selkeältä, mutta lopputulos ei välttämättä sitä ole: Vaikka ohjelma tekee aina sitä mitä sen käsketään tehdä, tämä ei välttämättä ole sama kuin mitä koodari haluaa sen tekevän.
Jo puoli kahden aikoihin väki alkaa vähentyä, ja loppujenkin keskittyminen alkaa penkillä liikuskelun perusteella hapertua. Turhaan hötkyilevät, sillä tällä luennolla opiskellaan reippaasti viimeiseen minuuttiin asti. Räsänen napauttaa esiin uuden dian.
13.45 Kun kello tulee varttia vaille kahteen, yleisö kuulee maagiset sanat: Jatketaan tästä myöhemmin.
Mitä luennosta jäi mieleen?
Mikko Rantanen, 27
tietojenkäsittelytieteiden 1. vuoden opiskelija
Sinulla on jo yksi tutkinto informaatiotutkimuksesta. Miksi maisterismies opiskelee tietojenkäsittelyä?
Tulevaisuuden takia. Työtilanne näyttää niin kehnolta, että oli paras palata opiskelemaan jotain. Työtilanne ei ole huono pelkästään informaatikoilla, vaan aika lailla kaikilla.
Nyt käytiin läpi lähinnä perusteita. Mitä jäi käteen tältä ensimmäiseltä luennolta?
Ihan hyviä vinkkejä tuli. Moni nyt esille tullut ohjelmointiasia oli kyllä jo tuttua aikaisemmilta tietojenkäsittelytieteiden luennoilta.
Kuinka paljon ohjelmointiasia oli tuttua ennestään?
Olen suorittanut vapaaehtoisia ohjelmointikursseja yläasteella ja lukiossa sekä käynyt lisäksi aiempina vuosina joitakin kursseja tietojenkäsittelytieteissä. Eli paljon oli tuttua.
Miltä johdantokurssin suoritusohjeet kuulostivat?
Hyviltä. Suhteellisen vapaa suoritustahti on juuri hyvä. Kun vain saan harjoitustehtävillä tarpeeksi pisteitä suoritettua, niin se sopii minulle!