Tämä on syksyn 2003 informaatioverkostojen studio 1 -kurssin aikana tekemistäni töistä sekä kurssin herättämistä mietteistä koottu näyteportfolioni.Sisällys
- OLO-sessiot
- Ohjelmointiharjoitukset
- Esseet ja käsitekartat
- Ohjelmointiprojekti
- Pohdintoja kurssista
- Oppimispäiväkirja
Ah, ongelmalähtöinen oppiminen, tuo informaatioverkostojen erikoisuus. Heti alkuun on pakko sanoa, että ainakaan toistaiseksi ei kyseinen opiskelutapa ole itseäni hirveästi sytyttänyt.
Minulla ei ole mitään ryhmätyöskentelyä vastaan, päinvastoin. Valitettavasti vain aikani on rajallinen, joten paneutumiseni tapausten setvimiseen on ollut luokkaa tunti per viikko. On selvää, että siinä ajassa ei kovin syvällisesti ehdi asioihin paneutua. Myönnän, että olen huono ihminen, mutta kun kurssiarviossa ei näy minkäänlaista merkintää siitä, kuinka paljon OLO-sessioihin on panostanut, menevät kaikki muut työt etusijalle. Muutaman viimeisen purun aikana näki selvästi, että kukaan ryhmästä ei ollut laittanut tikkua ristiin asian eteen.
Uskon, että OLO-sessioiden opiskelumalli on sinänsä parempi kuin perinteinen luennolla istuminen. Ainakaan ei pääse nukahtamaan, kun pitää itse osallistua ja ottaa selvää. Jotenkin minusta on kuitenkin vähän hölmöä, että avauksessa käytetään mielettömästi aikaa sen analysointiin, mitä pitäisi oppia. Eikö meille voitaisi vain suoraan antaa oppimistavoitteita, joita jokainen sitten pohtisi omalta näkökannaltaan ja esittäisi tulokset muulle ryhmälle? Toisaalta tietysti sessiot opastavat meitä tulevaan työelämään, jossa ei enää ole valmiiksi pureskeltuja oppimistavoitteita. Nyt ne kuitenkin yleensä määritellään virikkeissä, joten käytettyämme sessioissa kaksi tuntia sen analysointiin, mitä emme osaa, otamme lopulta oppimistavoitteiksi valmiiksi annetut lauseet. Onko tämä jollain tavalla tehokasta?
Tämä meni nyt vähän negatiiviseksi palautteeksi, mutta kyllä sessiot ovat kaikesta huolimatta olleet mielenkiintoinen poikkeus viikon luento- ja laskariohjelmaan. Monipuolinen työskentely pitää aivot virkeinä. Sitä paitsi sessioiden aiheet ja virikkeet ovat sinänsä olleet hyvinkin mielenkiintoisia. Menetelmä on ehdottoman mielenkiintoinen, mutta uskon, että kehittämisen varaa löytyy vielä.
Näin jälkeenpäin ajatellen omaa oppimistakin olisi varmasti edesauttanut, jos olisi oikeasti tehnyt jotain OLO-tapaamisten eteen. Siten ohjelmointiharjoituksissa, käsitekartoissa ja esseissä vastaantulleet asiat olisivat tuntuneet edes etäisesti tuntuilla. Ehkä panostan tulevassa kakkosstudiossa OLOihin enemmän. Ehkä.
Tapausraportit (oma ryhmäni on ryhmä 3)
Seuraavassa lyhyet kuvaukset tapauksista sekä kutakin tapausta vastaava linkki oppimispäiväkirjaani.
Tapaus 0: Todays Tech-Dependent Activists
Harjoittelutapaus, jonka avulla meidät perehdytettiin ongelmalähtöisen oppimisen ihmeelliseen maailmaan. Päiväkirjamerkintä
Tapaus 1: Html
Tähän tapaukseen ei ehditty perehtyä kuin yksi päivä, joten käytännössä kukaan ei tehnyt asian eteen mitään. Itse tunsin html-kieltä onneksi jo entuudestaan. Päiväkirjamerkintä
Tapaus 2: Ideaoppi
Filosofista, melko abstraktia pohdintaa Platonin ideaopin ja Java-kielen yhteneväisyyksistä. Päiväkirjamerkintä
Tapaus 3: Javan perusrakenteet
Saimme koodiesimerkin, jota tuli käytettyä hyväksi vielä pitkään (muun muassa ensimmäisen ohjelmointitehtävän ratkaisussa..) Päiväkirjamerkintä
Tapaus 4: Labyrintin ratkaiseminen
Mielenkiintoinen tapaus. Robotin liikkuminen labyrintissa kuulosti kiinnostavalta ja haasteelliselta aiheelta. Liittyi selkeästi ohjelmointiharjoitus kakkoseen. Päiväkirjamerkintä
Tapaus 5: Kollektiot
Käsittelyssä joukot ja listat. Saimme ryhmän kanssa mielestäni ainakin jotain järkeä verkkokirjakaupan toteutukseen. Päiväkirjamerkintä
Tapaus 6: Tiedostojärjestelmä
Tiedostojärjestelmän ohjelmallisen rakenteen hahmottuminen oli valaiseva kokemus. Päiväkirjamerkintä
Tapaus 7: Tiedostoon tallentaminen
Tämän kohdan asiat löytyivät suoraan kirjan eräästä luvusta muutaman sivun alueelta. Päiväkirjamerkintä
Tapaus 8: Käyttöliittymän rakentaminen
Vihdoin myös graafinen puoli tuli mukaan. Aiheena valokuva-albumi Javalla. Päiväkirjamerkintä
Tapaus 9: Laivanupotuspeli
Graafisen toteutuksen opettelua jälleen. Paljon oppimistavoitteita, vähän tuloksia. Mutta kivaa oli. Ja paljon huonoa huumoria. Päiväkirjamerkintä
Tapaus 10: Piirto-ohjelma
Huippumielenkiintoinen tapaus noin periaatteessa, mutta kukaan ei vaan jaksanut tehdä mitään sen eteen. Paljon hauskaa saatiin silti irti, ja purun loppuvaiheessa rupesivat jo assaritkin repeilemään. Päiväkirjamerkintä
Näissä sitä on ollut vääntämistä! Syksyn aikana ei ollut lainkaan harvinaista, että kokonainen päivä vierähti Paniikissa koodatessa. Silti juuri nämä harjoitukset olivat ehdottomasti kurssin parasta antia. Varsinkin kurssin loppupuolella, kun aloin jo oikeasti osata jotain, sain huomata kuinka huikeita onnistumisen elämyksiä ohjelmoinnista voi saada.
Mielestäni viisi suurta ohjelmointiharjoitusta on L1-kurssin sirpaleharjoituksiin verrattuna hyvä ratkaisu. Kokonaisuudet oppii hahmottamaan huomattavasti paremmin, mistä on hyötyä projektia ajatellen. Toisaalta kun on yksi harjoitus, se on myös aina pakko saada valmiiksi asti. Pienemmissä harjoituksissa saattaisi helposti iskeä "teen sen verran että pääsen läpi" -asenne. Kolmanneksi on mielekästä, että tehdyt asiat liittyvät selkeästi toisiinsa. Erityisen mukavaa oli, että ohjelmointia lähestyttiin nimenomaan pelien, itseäni eniten kiinnostavan osa-alueen kautta. Vaikka ohjelmointiharjoitusten tekoon kului tuhottomasti aikaa, oppi niitä tehdessä valtavasti. Tulevia kursseja ajatellen en muuttaisi mitään.
Seuraavassa ratkaisuni kuhunkin harjoitukseen kommentteineen ja päiväkirjamerkintöineen.
Harjoitus 1: Perusrakenteet
Ensimmäinen tehtävä vaikutti silloiseen osaamistasoon nähden laajalta. Alkuun päästyäni työ eteni kuitenkin melko hyvin aikataulussa. Yhteensä aikaa kului tuommoiset vajaa 20 tuntia. Sain ohjelman toimimaan, mutta erinäisiä pikkupuutteita löytyi. Arvosanaksi sain itseäni tyydyttäneen nelosen.
| Tehtävänanto || Mallivastaus || Oma ratkaisuni || Päiväkirjamerkintä |
Harjoitus 2: Liikkuminen maailmassa
Pelottava kakkostehtävä. Vanhemmat tieteenharjoittajat (2. vuosikurssin opiskelijat) olivat jo ehtineet säikyttelemään, kuinka kakkostehtävä olisi koko kurssin vaikein asia. Haastetta kieltämättä riittikin, ja alkuvaiheessa jouduin turvautumaan lähes koko ajan fiksumpien kavereideni apuun. Loppua kohti homma lähtikin luistamaan, ja erityisen ylpeä olen siitä, että sain pelätyn auton liikkumisalgoritmin toimimaan täysin omin neuvoin (vieläpä puoli tuntia ennen guru-Pekkaa:)) Tosin jälkeenpäin selvisi, ettei kyseisen algoritmin oikeastaan olisi koodin perusteella pitänyt toimia, mutta se toimi silti. Hämärää. Aikaa kului yhteensä suolaiset vajaat kolmisenkymmentä tuntia. Arvosanaksi tuli jälleen neljä.
| Tehtävänanto || Mallivastaus || Oma ratkaisuni || Päiväkirjamerkintä |
Harjoitus 3: Vuoropohjaisuus
Tässä harjoituksissa oli kaikista viidestä vähiten uutta asiaa. Lähinnä poikkeusten käsittely oli uutta, mutta koska vanhatkaan asiat eivät olleet vielä täysin painuneet mieleen, oli vaikeuksia jälleen melkoisesti. Palautin koodini lopulta muutamaa minuuttia ennen takarajaa. Aikaa kului jälleen arviolta vajaat kolmekymmentä tuntia, ja arvosana jatkoi tuttua neloslinjaa.
| Tehtävänanto || Mallivastaus || Oma ratkaisuni || Päiväkirjamerkintä |
Harjoitus 4: Tilanteen tallentaminen tiedostoon, käyttäjän toimintojen lukeminen
Huikean paljon uutta asiaa. Tiedostosta lukeminen, siihen kirjoittaminen, komentorivisyötteen käsittely...loppujen lopuksi uudet asiat eivät kuitenkaan olleet hirvittävän vaikeita ja työtä oli jälleen kerran juuri sopivasti. Alle 30 tunnissa selvisin tästäkin urakasta. Ensimmäistä kertaa tein jopa jotain ylimääräistä. Muutenkin sain koodistani todella siistiä ja toimivaa. Assarit olivat ilmeisesti samaa mieltä, koska minut palkittiin arvosanalla viisi.
| Tehtävänanto || Mallivastaus || Oma ratkaisuni || Päiväkirjamerkintä |
Harjoitus 5: Graafinen käyttöliittymä
Ensimmäinen harjoitus, jonka tein lähes kokonaan itsenäisesti, kysymättä juurikaan apua muilta. Samalla syntyi ensimmäistä kertaa tunne siitä, että oikeasti osaan koodata. Aloin jopa uskoa, että oikeasti saisin jonain päivänä projektini valmiiksi. Paljon hienoja onnistumisen elämyksiä. Pieniä puutteita koodiini jäi, mutta koska tein kuitenkin kaikki bonustehtävät, sain jälleen arvosanan viisi. Tyytyväisenä voin todeta kehitykseni olleen nousujohteista.
| Tehtävänanto || Mallivastaus || Oma ratkaisuni || Päiväkirjamerkintä |
Esseet ja käsitekartat olivat mielestäni ehdottomasti kurssin ikävin osuus. Niiden tekemiseen ei liittynyt minkäänlaista onnistumisen riemua tai palkitsevuutta, toisin kuin ohjelmointiharjoituksiin. Onneksi käsitekartan teko oli varsin helppoa. Vain pakolliseen esseeseen kului tuhottomasti aikaa. Seuraavassa tekemäni esseet ja käsitekartat kommentteineen sekä linkit vastaaviin päiväkirjamerkintöihin.
Käsitekartta 1
Tein tämän käsitekartan suoraan sanottuna vasemmalla kädellä. Aikaa kului tunti. Kartta oli omasta mielestänikin suppea, mutta toisaalta se kiteytti mielestäni tehtävän ydinasiat. Palautteessakin todettiin, että kartta oli suppeahko, ja olipa siellä joku epäselvä kohtakin. Mutta menipä ainakin läpi.
| Tehtävänanto || Oma ratkaisuni || Päiväkirjamerkintä |
Essee 2
Siinä missä käsitekartta sujui nopeasti, kesti esseen tekemisessä arviolta kuudesta kahdeksaan tuntia, josta tosin suuri osa oli kirjan ja netin selailua. Siltikään en mielestäni päässyt täysin tyydyttävään lopputulokseen. Tehtävänanto oli jollain tavalla vaikeasti lähestyttävä, ja minun oli vaikea päättää, mitkä asiat olivat sen kannalta relevantteja ja mitä osa-aluetta pitäisi painottaa. Menipä se sentään läpi. Joka tapauksessa tämän kokemuksen perusteella lähtisin tekemään jatkossa mieluummin käsitekarttoja, niiden rakenne on jollain tavalla helpompi hahmottaa..kieltämättä en myöskään haluaisi käyttää niihin näin paljon aikaa, vaikka tämä toisaalta olikin ensimmäinen kerta, kun luin kirjaa kunnolla.
| Tehtävänanto || Oma ratkaisuni || Päiväkirjamerkintä |
Käsitekartta 3
Kolmannen esseen/käsitekartan aiheena olivat poikkeukset. Saimme itse valita, teemmekö esseen vai käsitekartan, ja yllättäen päädyin jokaisella kerralla käsitekarttaan. Poikkeuksia oli käsitelty kolmannessa ohjelmointiharjoituksessa, joten minulla oli aiheesta jo kiitettävästi tietoa. Tein käsitekartan parissa kolmessa tunnissa. Perussuoritus, jonka tiesin menevän läpi.
| Tehtävänanto || Oma ratkaisuni || Päiväkirjamerkintä |
Käsitekartta 4
Neljäs käsitekartta käsitteli swing-käyttöliittymäkomponentteja, joita oltiin käsitelty aikaisemmin jo useammassa OLO-tapauksessa, muttei vielä yhdessäkään ohjelmointiharjoituksessa. Kiinnostava aihe, mutta melko laaja käsitekartan aiheeksi. Palautustakarajan mentyä umpeen huomasin, etten ollut käsitellyt palauttamassani kartassa lainkaan kuuntelijoita. Läpi se meni kaikesta huolimatta.
| Tehtävänanto || Oma ratkaisuni || Päiväkirjamerkintä |
Käsitekartta 5
Viimeisen käsitekartan aiheena olivat säikeet. Suurelle osalle kurssilaisista tämä jäi myös ainoaksi kosketukseksi kyseiseen aihealueeseen, koska säikeitä ei käsitelty lainkaan ohjelmointiharjoituksissa, mikä on mielestäni valitettavaa. Itse tarvitsin säikeitä ohjelmointiprojektissani, joten aihe oli siinä suhteessa mielenkiintoinen. Valitsin kuitenkin käsitekartan tekemiselle huonon ajankohdan enkä sitten jaksanut panostaa siihen juurikaan. Säikeistä olisi varmasti saanut paremman esseen, aihe ei oikein sopinut käsitekartaksi. Tulipa tehtyä silti.
| Tehtävänanto || Oma ratkaisuni || Päiväkirjamerkintä |
Tiesin jo kurssin alussa, että tulisin valitsemaan ohjelmointiprojektini aiheeksi jonkinlaisen pelin. Ihanteellinen ratkaisu olisi tietysti, että keksisin pelin aiheen itse enkä kopioisi mitään aiemmin tehtyä.
Kun projektin aihe sitten piti valita, mielessäni oli vain yksi idea, jonka päätin sitten toteuttaa. Muistin vanhan uskollisella neljäkasikutosellani pelaamani pikkupelin, jossa pitää ohjata tykkiä ja suojella alhaalla olevaa kaupunkia ylhäältä tippuvia pommeja vastaan. Kun en muutakaan keksinyt, päätin tehdä paremmin tehdyn, nykyaikaisen version kyseisestä pelistä.
Pelistä tulikin - vaikka itse sanonkin - varsin mainio. En kuitenkaan jaarittele siitä tässä tämän enempää, sillä kaikki projektiini liittyvä informaatio on löydettävissä loppuraporttisivultani.
Kun Studio 1 -kurssi on nyt osaltani tämän tekstinpätkän kirjoittamista vaille ohi, on hyvä pysähtyä hetkeksi miettimään, mitä on tullut opittua ja koettua tähän mennessä.
Hyvän yo- ja pääsykoemenestyksen turvin pääsin melko helposti sisään ykköstavoitteenani olleeseen informaatioverkostojen koulutusohjelmaan keväällä 2002. Siinä vaiheessa päällimmäisenä mielessä oli, että nyt on se raskain työ tehty. Opiskelun voi ottaa löysin rantein ja nauttia opiskelijaelämästä, kyllä niistä kursseista aina läpi pääsee.
Kuluneen syksyn aikana huomasin tekeväni lukioon verrattuna vähintään tuplasti, kenties jopa triplasti töitä koulun eteen. Kaksi mammuttikurssia, Studio 1 ja matematiikan C1, syövät ajastani suurimman osan. Näiden kahden osalta marssijärjestys on ollut selvä: ensin koodaus, sitten kalkulointi.
Tähän mennessä ylivoimaisesti eniten aikaani ovat vieneet nimenomaan ohjelmointiharjoitukset, joista tähän mennessä valmiina ovat 1 ja 2 ja kolmas hyvällä alulla. Ensimmäinen harjoitus taittui vielä alle 20 tunnissa, toiseen tunteja kuluikin sitten jo lähemmäs 30. Sen sijaan käsitekarttoihin/esseisiin ja etenkään OLO-sessioihin en ole kenties jaksanut paneutua niiden vaatimalla tavalla. Kaikkea ei ehdi, ja jokainen asettaa omat prioriteettinsa.
Kriittinen kysymys kuuluu, tarvitaanko esseitä ja käsitekarttoja todella. En koe oppineeni niitä tehdessäni paljoakaan. Käsitekartat tein lukemalla käsitteitä suoraan kirjasta ja läiskimällä niitä näytölle. Kaikissa oli puutteita, mutta ne menivät silti läpi. Vain essee pakotti tarkempaan kirjan ja webin lukemiseen ja sitä kautta myös pakottavasti jonkinasteiseen oppimiseen. Onko johtopäätös siis se, että kurssilla pitäisi jatkossa kirjottaa viisi esseetä? Mielestäni sekään ei olisi hyvä ratkaisu. Kurssi on tuhottoman työläs, ja käsitekarttojen muuttuminen esseiksi lisäisi työmäärää ainakin kymmenellä tunnilla. Seurauksena olisi opiskelijoiden turhautuminen. Toisaalta käsitekartat eivät mielestäni edistä oppimista. Mikä siis neuvoksi?
Kritiikki ilman parannusehdotuksia ei ole minkään arvoista, joten ehdotukseni on: käsitekartat ja esseet pois, tilalle panostaminen OLO-sessioihin. OLO-sessioita tulisi siis saada muokattua siten, että opiskelijat oikeasti panostaisivat niihin. Yksi tapa olisi laajentaa kunkin session aihetta huomattavasti. Ryhmät voisivat sitten jakaa oppimistavoitteet siten, että jokaista ryhmän jäsentä kohti tulisi yksi tavoite. Purussa jokainen ryhmän jäsen sitten esittelisi oman osa-alueensa muiden tehdessä muistiinpanoja. En usko, että yksikään opiskelija kehtaisi tällöin kertoa ryhmälleen, ettei ole viitsinyt tehdä aiheensa eteen mitään. Tässäkin tavassa on tietysti omat ongelmansa, mutta voisi sitä ainakin kokeilla.
Syksyn kiireistä huolimatta studio 1 oli ehdottomasti syksyn mielenkiintoisin ja antoisin kurssi. Opin kurssin aikana valtavasti ja uskoisin olevani nyt kykenevä käymään minkä tahansa Java-projektin kimppuun. Ennen kurssia minulla ei ollut lainkaan ohjelmointikokemusta (lukuunottamatta kahta lukion TurboPascal-kurssia..), mutta nyt kiinnostukseni heräsi, ja aion varmasti valita lisää ohjelmointia. Olio-ohjelmointi T:n valitsen mahdollisesti jo tänä keväänä, viimeistään seuraavana, ja myös C/C++ -kurssin olen mahduttanut opintosuunnitelmaani. Erityisesti minua kiinnostavat tietokonegrafiikka ja peliohjelmointi. Kuka tietää, ehkä olen jonain päivänä mukana Max Payne X:n tekijätiimissä.
| Sivun alkuun || Kotisivuilleni |
Copyright © Juho Makkonen
jomakko2 (@) cc.hut.fi
http://www.hut.fi/~jomakko2/