Portfoliokysymyksenä oli kuvailla oppimiskokemuksia, ja mielipiteitä siitä miten ohjelmointia tulisi opettaa. Jaahas. Opettamisesta en osaa sanoa mitään, mutta oppimiskokemuksiani muistan ehkä hämärästi. Suoritin itse suppeampaa versiota kurssista, ja ensikosketuksesta Javaan on vierähtänyt jo joku tovi. Nyt Javan perusteet tuntuvat kummallisen yksinkertaisilta, verrattuna siihen, miten haastavaa ne oli oppia tutustuttaessa niihin ensi kertaa. Asioita tuli todellakin opeteltua uudestaan, sillä en ole itse ollut Javan kanssa tekemisissä kuin hyvin vähän. Geneerisistä tyypeistä en muista edes kuulleeni aikaisemmin, ja Eclipseä olin käyttänyt vain pari kertaa.
Ensimmäisen kerran opin Javan ohjelmoinnin L-peruskurssilla tai jollakin vastaavalla, jolla ei siis ollut mitään olo-sessioita tai minkäänlaista ryhmätyöskentelyä. Luonnoilla taisin käydä vain avausluennolla. Koodausta varten oli laskarit maarilla, mutta unixin ja emacsin opettelu yhtä kurssia varten ei tuntunut järkevältä, joten asensin silloin kalakirjan mukana tulleen kunnon kehitysympäristön, JBuilderin ja aloin opetella. Opin siis ohjelmoimaan pelkästään kalakirjaa lukemalla ja ohjelmoimalla ja debuggaamalla.
Kyseisellä kurssilla näin assarin ensimmäistä kertaa esitellessäni projektiani. Se oli tylsä ja työläs kurssi se, mutta ainakin huomasin että ohjelmoinnin perusteet eivät ole rakettitiedettä, ja ne oppii kuka vain opiskelemalla ja tekemällä ohjelmakoodia, halusi sitä tai ei.
Lukiessani kalakirjaa luulin usein ymmärtäneeni tekstin, mutta koodausvaiheessa olin sormi suussa. Ohjelmoiminen ja erityisesti debuggaus paljastivat olinko ymmärtänyt asiaa ollenkaan. Ymmärrys näyttää vaativan työläimmän tien, ohjelmoimalla itse. Koska itselläni ohjelmoinnin ajattelutapa oli vielä olematonta, toivoin tehtävien olevan helppoja ja rutiinin antavia. Aluksi jotkut tehtävät olivatkin, mutta lopulta suurin osa tehtävistä osoittautui naurettaviksi ongelmanratkaisutehtäviksi, joissa tarkoitus oli saada koodi tulostamaan merkilleen sama teksti kuin mitä malliohjelma teki. Koneellinen tarkastusautomaatti antoi sitten ansaitut valtavat virhepisteet ylimääräisestä välilyönnistä tai kirjoitusvirheestä tulosteessa.
Mielestäni tehtävien tulisi varsikin alussa olla tarpeeksi helppoja ja riittävän lyhyitä, jotta syntyy riittävä rutiini ja ohjelman pääsee kääntämään inhimillisen ajoissa. Vastaavasti nopeita ja lyhyitä rutiinia antavia tehtäviä voisi olla useampia. Ongelmanratkaisu ja debuggaustaitoja voi aina sitten kehittää myöhemmin kurssin edetessä.
Studio 1 kurssi ei ole mielestäni ollenkaan pateettinen
tehtävät ovat mielenkiintoisia, koodaamista tapahtuu ryhmätyönä, ja opetus on jopa henkilökohtaista. Ehdottomasti paras tapa oppia ohjelmoimaan tkk:lla.
EDIT: Ainakin Pontus mainitsi blogimerkinnässään olosession oppimistavoitteiden konkretiasta, tai oikeastaan sen puutteesta. Joskus tosiaan oppismistavoitteet muodostuivat epäselviksi, kun koko session teema oli vähän epäselvä. Tällaisissa tapauksissa olo-session vetäjän kannattaa aktiivisemmin ohjata oppimistavoitetta järkevämmäksi. On itse aika vaikea sanoa mistä aiheesta hakea lisää tietoa, kun itse aihe on on vielä tietämättä (esim. mikähän javan valmis luokka tähän nyt sopisi jne.) Koin jotkin oppimistavoitteet todellakin melko turhiksi. Tietenkään en enää muista mitä ne olivat, koska ne tosiaan olivat aika turhia…