Jouduin vuonna 1999 työpaikkani kautta pitämään Progress-ohjelmointikurssia ammattikorkeakouluun. Minä valikoiduin opettajaksi sen takia, koska olin pitänyt samantapaisia alkeisluentoja firmassakin juuri siellä aloittaneille koodareille silloin tällöin. Kurssi kesti kevään aikana nelisen kuukautta noin päivän viikossa. Vaikka työpaikkani kautta paikan sainkin, niin pidin kurssia yksityishenkilönä – toisin sanoen korkeakoulu maksoi minulle palkkion suoraan, eikä kierrättänyt firman kautta. Olin siis aivan luvallisessa sivutyössä työnantajanani ammattikorkeakoulu.  Loppujen lopuksi luennoin samaa kurssia kuuden vuoden ajan – sitten aika ajoi Progress-ohjelmointikielestä ohitse – ei toisin meidän firmassa, jossa koodataan Progressilla täysiään vieläkin. Kieli on tietenkin jo parissa kymmenessä vuodessa kehittynyt paljonkin.

Kun kouluun menin ensimmäisiä kertoja, tuli mieleeni elävästi aika kolmekymmentä vuotta aikaisemmin, kun muutamaan otteeseen olin lyhytaikaisena viransijaisena opettamassa Tohmajärvellä ja Imatralla matematiikkaa ja fysiikkaa.

Pelkästään opettamismielessä ei minua kouluun laitettu, vaan pieni ketunhäntäkin oli kainalossa: oli tarkoitus nappaista tulevista insinööreistä lupaavimpia meidän firmaan töihin – työvoimasta ja varsinkin osaavasta työvoimasta oli juuri silloin pulaa. Tämän toisen tavoitteen osalta ei kurssini onnistunut kovin hyvin.

En arastellut lainkaan opettajan rooliani. Olin aika tottunut esiintymään vaativissakin paikoissa hermostumatta. Oppilaiden odotuksista en paljon tiennyt – suoritetusta kurssista sai muutaman pisteen avuksi tutkintoon. Yksi puute oli kuitenkin tiedossa jo ennen kurssin alkua: Progress-kielestä ei ollut suomenkielistä käsikirjaa. Englanninkielinen löytyi, mutta se oli niin tiivis käsikirja, ettei siitä ollut oppikirjaksi. Niinpä käytin melkoisen aikamäärän oppikirjan väsäykseen – onneksi sama materiaali kelpasi seuraavillekin vuosille pohja-aineistoksi. Oppimateriaaliin kuului tietenkin ohjelmointiesimerkit ym.  Helpotus oli, että käsikirjan voi kirjoittaa suomeksi – myöhemmin kirjoitin vastaavanlaisen englanniksi, kun oli mentävä Intiaan kurssia pitämään. Keksimäni ohjelmointitehtävät olivat kyllä minun mielestäni valaisevia ja ratkaisut kertoivat kielen mahdollisuuksista. Esimerkiksi piti tehdä ohjelmapätkä, joka laskee, milloin on seuraava 13 päivä ja perjantai.

Ensivaikutelma luokkaan astumisen jälkeen oli - Iltasanomien termiä lainatakseni – karu. Oppilaissa ei näyttänyt olevan mitään vikaa, eikä kovinkaan moni vaikuttanut rikollisuuteen taipuvaiselta, mutta luokkahuoneessa kaikki koneet ja laitteet oli pultattu rautakettingillä kiinni rakenteisiin. Arvelin tuon olevan vähän liioittelua, mutta en sitten arvellutkaan, kun paljastui, että monista tietokoneista oli nyysitty muistimoduuleja omaan käyttöön, joka aiheutti pientä hankaluutta, kun sovellukset olisivat pyöriäkseen vaatineet vähän enemmän tilaa.

Kuinka tosissaan opiskelijat yrittivät ohjelmointikieltä opiskella, paljastuikin hyvin pian. Yli puolet roikkui koko ajan netissä ja peliohjelmissa, eikä näyttänyt puolella korvallakaan kuuntelevan minun höpinöitä. Lisäksi oletin heillä olevan sellaista intelligenssiä, jota ehkä insinööriltä odotetaan, mutta ainakin tälle ensimmäiselle kurssille oli valikoitunut muutamia, joille tärkeintä ei ollut oppia aiheesta mitään, vaan saada ne muutamat pisteet valmistumista auttamaan.

Ensimmäiseltä kurssilta en montaa voinut suositella jatkoon. Yksi tosin oli jo valmiiksi meillä töissä ja hänen osaltaan kurssi oli sinänsä tarpeeton. Yksi aloitteellinen (nais-)opiskelija kiinnitti huomiotani – hän osasi tehdä aiheeseen liittyviä kysymyksiäkin. Hänelle vaivihkaa yksityisesti vihjaisin, että kannattaisi, jos kiinnostaa, käydä meillä haastattelussa. Niin hän tekikin ja hänestä tuli moneksi vuodeksi taitava työntekijä meille. Valistin tietenkin haastattelijaa etukäteen, minkälaisesta persoonasta oli kyse.

Pidin kurssilla sellaisenkin osion kuin että miten kirjoitetaan käyttöohjeita ja miten ei pidä kirjoittaa käyttöohjeita. Ei pidä kirjoittaa -esimerkkejä löytyikin oman firman aineistosta aivan riittävästi. Ohjeiden kirjoittamista olin pohtinut aikaisemminkin ja kirjoittanut firmassa asiasta julkisestikin. Jotkut olivat silloin vähän tuohtuneita minun esimerkeistäni – varsinkin ne, jotka olivat ne kirjoittaneet. Edelleenkin olen kuitenkin sitä mieltä, että ohjeistus pitää aloittaa siitä asiasta, mitä jossakin toiminnossa useimmiten tehdään. Esimerkiksi ostotilaustoiminnon käyttöohjeessa ei kerrota ensinkään, miksi tällainen toiminto yleensä järjestelmässä on ja mitä siinä voidaan tehdä, saati että kerrottaisiin mihin kaikkeen ostotilaus linkittyy järjestelmässä. Sen sijaan tärkeimpänä asiana ko. käyttöohjeessa oli, kuinka tilausten automaattinen numerointi saadaan käyntiin – siis toiminto, joka tehdään yhden kerran ehkä viidessä vuodessa, on tärkein asia.  Jos koodari päästetään tekemään käyttöohjeita, hän ei suinkaan kirjoita käyttäjälle ohjeita, vaan kuvailee, miten hän tuon toiminnon on koodannut. Tätä vastaan minä protestoin, mutta firman innovatiivisuuden osoituksena purkaukseni ei aiheuttanut mitään toimenpiteitä miltään taholta – innostuin siis aivan suotta. Ohjeissa käytetystä kapulakielestä luin kurssilla katkelman omasta keksitystä käyttöohjeesta, kuinka ”saman aallonpituuden omaavat eksemplaarit pannaan samaan lokaatioon”  jne. tarkoittaen pyykin lajittelua pyykkäyksen jälkeen (esimerkki kokonaisuudessaan tässä blogissa). Kukaan ei osannut sanoa (tai ei ollut mielenkiintoa pohtia) mitä toimintoa kuvattiin. Samoin merkille pantavaa on, ettei kukaan nauranut esimerkilleni, vaan kaikki pelasivat jotain tietokonepeliä. Näistä tulevista insinööreistä tuli siis samanlaisia kirjoittajia kuin aikaisemmistakin.

Kurssiin kuului yksinkertainen harjoitustyö – piti tehdä tulostusohjelma – samanlaista oli kurssilla käyty läpi. Ensimmäisellä kurssilla vain yhden tekemällä esityksellä olisi ollut jatkoon pääsyn mahdollisuuksia – muut olivat roskakoritavaraa, ja lisäksi suurin osa kopioitu välkymmältä kaverilta. Näin jälkeen päin voi vain todeta, että jos tuo joukko joskus koodaa – koodasi sitten millä kielellä tahansa ja mitä sovellusta tahansa – niin jälki on kuin VR:n lipputilausjärjestelmässä. (VR:n järjestelmässä kellonajaksi ei kelpaa esimerkiksi ”8”, vaan pitää kirjoittaa 8:00.)