Learning to learn Java

Miten toimin opiskellessani ohjelmointia? 

Tämän kurssin alkaessa osasin mielestäni oppia. Olinhan opiskellut koulussa muun muassa historiaa, kieliä ja matematiikkaa. Olin harrastuksessani oppinut oppimaan erilaisia liikesarjoja ja koreografioita. Ne oppii parhaiten toistamalla ja yhdistämällä liike musiikin rytmiin ja vivahteisiin. Kouluaineissa opettajan kuunteleminen, harjoitustehtävien tekeminen ja raaka lukeminen olivat useimmiten hyödyllisimpiä tapoja oppia. Ennen ylioppilaskirjoituksia huomasin, että oli hyödyllistä ymmärtää, millä tavalla yo-lautakunta haluaa tänä vuonna johtaa kokelaita harhaan.

Toisinaan huomasin, miten robottimaista ajatteluni oli. Koko ajan piti miettiä, mitä korkeampi taho haluaa minun osaavan tehdä. Yllättävän suuren osan ajasta oppiminen oli mekaanista mieleenpainamista ilman omaa ajattelua. Luulin elämäni jatkuvan samanlaisena yliopistossakin, kunnes eteeni tuli kurssi nimeltään Studio 1.

Yritin aluksi tehdä niinkuin ennenkin. Vaikka olenkin aina tiennyt, että kaikki koulussa opetettavat asiat sisältävät logiikkaa ja ovat ihan oikeasti totta, alitajuisesti pyrin vain etsimään lyhimmän reitin tyydyttävään oppimistulokseen ajattelematta asioita sen syvällisemmin. Kurssin teoriatehtävät hoituivatkin lähinnä kyseisellä periaatteella. Ohjelmointitehtävien kanssa taas oppiminen oli aluksi lähes toivotonta. Oletin, että tietokone toimii lähes täysin sattumanvaraisesti, eli kääntäjän XEmacsin bufferiin heittämät virheilmoitukset ja poikkeukset eivät voineet olla minun syytäni. Näin jälkeenpäin ajateltuna tiedän, että javan kielioppi oli ensimmäisessä ohjelmointitehtävässä minulta vielä täysin hukassa. Minua ei kiinnostanut virheiden syy, vaan se, miten saan ne pois häiritsemästä koodaustani. Tavoitteena ei siis ollut ymmärrys, vaan oikotie onneen.

Ohjelmointi on kuitenkin asia, mitä on vaikea oppia ilman todellista yritystä ymmärtää sen sisältämiä elementtejä ja toimintaa. Teoriatehtäviä tehdessä ei voinut välttyä oppimasta Javan perusasioita ja niihin liittyviä käsitteitä. Asioita pelkästään kirjasta ja internetistä lukemalla ja muutaman esseen tai käsitekartan tekemällä ohjelmointitaito jää kuitenkin hyvin pinnalliseksi. Kirjan lukeminen tuki oppimista, mutta todelliset ohjelmoinnin ahaa-elämykset voi kokea vain koodin ääressä.

Ohjelmoinnin oppimisessa ehdottomasti tärkeintä oli järjen käyttö. Kurssin aikana olenkin huomannut, että senkin käyttöä pitää ilmeisesti opetella. Koska tietokone oikeasti tekee juuri niin kuin sitä on käsketty tekemään, virheet johtuvat aina ohjelmoijasta itsestään. Javan logiikka selkiytyi minulle vasta kun olin tehnyt monen monta virhettä. Perusteiden oppiminen ja syvällinen ymmärtäminen ei olisi voinut onnistua muuten kuin yrittämisen ja erehtymisen kautta.

Sitten, kun opin ymmärtämään Javaa, oli minulla siitä vielä paljon opittavaa. Valmiiden luokkien, kokoelmien, poikkeusten ja Swingin käyttö piti opetella käytännön kautta. Useimmiten siinä vaiheessa, kun tiesin mitä minun piti ohjelmaan tehdä, etsin perustietoa asiasta oppikirjasta, internetistä ja Java-API:sta. Etsin järkevältä vaikuttavan koodinpätkän, muokkasin sitä omiin tarkoituksiini sopivaksi ja kokeilin. Jos tuli ongelmia, selvitin, mistä ne johtuvat ja katsoin tarvittaessa lisätietoa tietolähteistä. Paras työtapa oli siis lukemisen ja kokeilemisen yhdistäminen. Vaikka onnistunut ratkaisu voi löytyä suoraan netistä tai oppikirjasta, asian oppiminen tapahtuu vasta silloin, kun sen toimintaa joutuu oikeasti pohtimaan ja kokeilemaan eri ratkaisujen toimivuutta. Luonnollisesti virheiden tekeminen ja niistä vaarin ottaminen johtavat varmasti oppimiseen.

En mielelläni kuluta aikaa asian huolelliseen tutkimiseen etukäteen. Vaikka ohjelmointiongelma olisi suurempi, kokeilen ensin mahdollisimman yksinkertaisella tavalla esim. jonkin rakenteen toimintaa ja käyttöä ennen varsinaista päätöstä siitä, miten toteutan suuremman kokonaisuuden. Ohjelmoinnissahan pyritään aina jakamaan ongelmat pienempiin osiin, jotta niitä olisi helpompi lähestyä. Mielestäni sama pätee myös oppimiseen.

Olen päätynyt siihen lopputulokseen, että oikeanlainen oppimistapa auttaa ohjelmoinnin opiskelussa huomattavan paljon. Totta kai ihmiset ovat erilaisia oppijoita, mutta yksi asia, mitä kaikki tarvitsevat, on järjen käyttö. Niin yksinkertaiselta kuin se kuulostaakin. Nyt, lähes yhtä Studio 1:ä rikkaampana voin ylpeänä todeta, että olen oppinut käyttämään nimenomaan järkeäni. Kuten ”lähes” kaikissa ihmisen keksimissä asioissa, myös Javassa on logiikka.

– Asta

0 Responses to “Learning to learn Java”



  1. Jätä kommentti

Vastaa

Please log in using one of these methods to post your comment:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s





%d bloggers like this: