You are currently browsing Olli's articles.
Neljäntoista opintopisteen suuruisena Studio1 on todella merkittävä kurssi kenelle tahansa, ohjelmointia jo hiukan taitaville että myös niille jotka tutustuvat siihen ensimmäistä kertaa fuksisyksynään. Niinpä kurssista on varmaankin hyvin vaikea saada yksinkertainen toimiva paketti, joten parantamisen varaa varmasti löytyy.
Kokonaisuutena kurssi on järjestelyineen yltänyt kiitettävälle tasolle ja näin jälkeenpäin ajateltuna opetusmenetelmät tuntuvat suorastaan nerokkailta vietettyäni kaksi viikkoa firman palveluksessa tutustuen kohtalaisen alkukantaiseen opetus- ja koulutusjärjestelmään..
Mielestäni eniten parantamisen (tai vähintäänkin uuden arvoinnin tekemisen) varaa on kurssin aloituksessa. Oppimiskynnys oli mielestäni hyvin jyrkkä. Pari luentoa eivät avanneet kovinkaan paljon ovea Java-ohjelmoinnin mystiseen maailmaan. Toisaalta olen huomannut syksyn aikana, että Java-ohjelmointi vaati mielettömän määrä “alkutietoa” ennen kuin voi edes pienen oman ohjelman toteutusta. Jo pelkästään Javan main-metodin ( public static void main(String args[]) )
ymmärtäminen määreineen vaati itseltäni useamman ohjelmointikierroksen verran työtä. Niinpä mielestäni kurssin alussa tulisi olla joko hieman enemmän luentoja aivan Javan perusteista, tai sitten yksi tai kaksi lapio-harkkoihin verrattavaa tietokoneharjoitusta, jossa jokainen opiskelija yksinkertaisesti tekee saman kuin harjoituksen vetäjä (tämän näyttö näkyy projektorista).
Toinen asia, joka minua myös hiukan ihmetyttää on kurssin arvosanan muodostuminen. Lähinnä blogin yllättävän suuri painoarvo ja esseiden suhteellisen pieni painoarvo tuntuvat nurinkuriselta. Myöskin blogin arvosanan muodostuminen tuntuu näin etukäteen myös hiukan epäselvältä, kun yhtään ennakkotapausta ei toistaiseksi ole olemassa.
Viimeinen pieni käytännön asia, jossa on parantamisen varaa, joka tulee näin nopeasti mieleen on ohjelmointiharjoitusten palautus. Etenkin kurssin alussa oli välillä erittäin vaikeaa metsästää omaa koodiaan kun ei tiennyt kenellä assarilla se oli. Onneksi tähän ongelmaan tuli helpotusta kurssin loppupuolella. Esimerkiksi yhden pakollisen “opetuskerran” lisääminen viikko-ohjelmaan, jossa assarit palauttavat koodin ja käyvät sen läpi saattaisi olla hyvä idea.
Kaiken kaikkiaan kurssi oli kuitenkin toteutettu vähintäänkin kiitettävästi. Toki kurssi oli työläs ja välillä tuskainenkin, niin apua ei ollut koskaan kaukana; pahimmillaan irssi-screenin päässä
Kylläpäs syksy vierähtikin nopeasti, ja niinpä on tullut loppuyhteenvedon aika iki-ihanasta Studio 1-kurssista. Sen voin jo sanoa näin heti alkuun, etten ikinä ennen ole kokenut mitään vastaavanlaista opetuskokonaisuutta. En tiedä lieneekö suurin syy tähän se, että kuluva syksy on ollut ensimmäisten korkeakouluopintojeni aikaa vai se, että kurssin aihe-alue oli niin kaukana siitä mitä olen ennen opiskellut.
Vaikka kurssin alueeseen ei kuulu muuta kuin Java-ohjelmointia, niin koen kurssin opettaneen minua moniulotteisella tasolla. Kuolementarkat ja -säännölliset deadline:t ovat opettaneet kantapään kautta hyvinkin paljon oman aikatauluni suunnittelua. Vääntäessäni myöhään/aikaisin lauantai aamuyönä ohjelmointitehtäviä, on sitä pakosta tullut ajatelleeksi, että olisiko tähän voinut jokin muu aikataulutus sopia paremmin.
Oman projektin teko taas opetti aikataulun suunnittelun lisäksi, ennen kaikkea isompien kokonaisuuksien hallintaa, suunnittelua ja kokoamista. En usko, että olen ennen tehnyt näin isoa kokonaisuutta, jonka aihe (ja siten myös toteutus) on ollut niin täysin itse päätettävissä.
OLO-sessioiden virka on kurssin aikana jäänyt hiukan epäselväksi, mutta eivät nekään täysin turhilta ole tuntuneet. On ollut mukavaa syksyn aikana käydä isomman ryhmän kanssa läpi Java-ohjelmoinnin lukuisa, suorastaan humoristisia piirteitä, ja todeta ettei ole ainut, joka on kuluneen viikon aikana hajoillut ohjelmointiin.
Kaikesta edellä mainitusta huolimatta, Studio 1:n tärkein anti on mielestäni ollut itseopiskelun oppiminen. Korkeakoulutasolla ei näköjään ole kukaan, joka pitäisi huolta omasta oppimisesta, vaan tämä vastuu on kannettava itse. Kirja on otettava kauniiseen käteen, ja pitää olla uskallusta nykäistä assaria hihasta ja kysyä hankaluuksia tuottaneista aiheista lisää.
Kokonaisuudessaan Studio 1 on ollut mielestäni yllättävänkin mielenkiintoinen ja sitäkin antoisampi kurssi. Ja kun kurssia vielä muistelee parin kuukauden tai vuoden kuluttua, ja lisää “aika kultaa muistot”-efektin, niin luulenpa, että tästä kurssista on epäilemättä tullut opiskeluaikojen yksi mieleenpainuvimmista.
Noustessani ylös sängystä aamulla oli mielenkiintoni ryhmämme irkkibottia kohden kääntäen verrannollinen kofeiinintarpeeseeni. Tästä huolimatta lähdin kouluun, Paniikkiin, jonne olimme sopineet koodaussession. Paikalle oli jo saapunut kourallinen muita ryhmämme jäseniä, mukanaan enemmän tai vähemmän toteutuskelpoisia ideoita botin toiminnasta.
Avattuani Eclipsen ja aloitettuani koodauksen, niin ei kestänyt kauaa, kun olin yhtäkkiä botin lumoissa. Suurin syy tähän lienee se, kun lopullisesti tajusin, ettei alkuunpääseminen ole vaikeaa kiitos valmiin PircBot-rajapinnan. Aloinkin siis saman tien tutkia bottimme toimintaa ja koodata omaa “osatehtävääni”. Pienen vaivan jälkeen sain tämän henkilö-status-listan toimimaan, jonka jälkeen pohdittavaksi jäi kuinka liitän oman luokkani botin toimintaan. Tämä ei tosin ollut suuri ongelma.
Ja kun Svante ja Suni saivat botin oikeasti “keskustelemaan”, oli selvää, että ryhmämme oli taas jälleen kerran saanut jotain lähes ainutlaatuista aikaan. Tosin työmaata on edessä, sillä kaikki toiminnot pitää vielä koota yhteen. Seurauksena deadlinen siirrttymisestä torstaille, ei ole täysin varmaa, milloin botti lyödään lopullisesti kokoon. Sitä odotellessa..
Kuten otsikko antaa jo hiukan ymmärtää, on tämän aiheluokan lisäys ja ensimmäisen artikkelin kirjoittaminen hiukan myöhässä toivotusta aikataulusta. Toinen javatehtävä ja matikan välikoe ovat syöneet allekirjottanutta viime päivinä niin paljon, että ryhmän OLO-blogi on melkeinpä päässyt unohtumaan (niin kuin tämän artikkelin kirjoittaminen). Mutta nyt itse aiheeseen.
Ollessani puheenjohtajana viime OLO-tapaamisessa, oli mielestäni hyvä idea lisätä blogiimme aihealue “Ohjelmointitavat”, missä jokainen meistä voisi kirjoitella omista rakkaista ohjelmointitavoistaan ja -oppimistavoistaan. Pienen keskustelun jälkeen tämä todettiin hyväksi ideaksi. Erittäin mielenkiintoisena pidettiin näkökulmaa, että palatessamme syksyn mittaan lukemaan vanhoja kirjoituksiamme, saattaisimme huomata muutosta tapahtuneen sen hetkiseen tilanteeseen verrattuna. Itse huomaan jo hiukan tällaista muutosta taphtuneen verratessani nykyisiä ohjelmointi- ja oppimistapojani kuukauden vanhoihin tapoihin.
Kuukausi sitten, Studio1:sen alkataipaleella, pääasiallinen “oppimislähde” olivat kurssin assarit. Heiltä sain numeroimattoman määrän muun muassa syntaksineuvoja, kuten “Toi isolla kirjaimella” ja “Sulut tohon, mut aaltosulut tohon”. Nyt osaan itse selvittää suhteellisen suuren osan näistä syntaksiasioista, esimerkiksi Sunin API-sivuilta, eikä minun tarvitse aivan pienimpien asioiden takia nykiä assareita hihasta.
Edellä oli vain pintaraapaisu varsinaisiin ohjelmointi- ja oppimistapoihini, mutta tämän artikkelin tarkoituksena onkin vain saada tämä aihe, “Ohjelmointitavat”, alulle ja innoittaa muita kirjoittamaan tänne omista tavoistaan. Lupaankin jatkaa/muokata kirjoitustani jonain toisena ajankohtana (mikä on toivottavasti parempi kuin tämä).
Kohta on jo puoli viikkoa ehtiny kulua ensimmäisen Java-tehtävän deadlinesta, ja jokainen meistä on (toivon mukaan) yhden Java-ohjelman verran rikkaampi. Nyt uskallankin jo sanoa, että olen raottanut aivan pikkuriikkisen tuota Java-ohjelmoinnin maailman suurta ja raskasta ovea, ja olenpa jopa vähän kurkistanut sinne sisäänkin.
Minulla, ja kuten useimmilla muilla ryhmäläisillämme, ei ollut juuri ollenkaan kokemusta ohjelmoinnista ennen tätä kurssia, niinpä oppimiskynnys tuntuikin alussa olevan varsin korkea. Kokonaisen Java-ohjelman kirjoittaminen tyhjään emacs:iin tuntui järkyttävän haastavalta vielä pari viikkoa sitten. Koulun tarjoama opetus tuntui liki mitättömältä, ja koin ettei minulla ollut mitään aavistusta miten kirjoittamani ohjelma toimii. Etenkin ensimmäinen osatehtävä tuntui “copy-paste” -harjoitukselta, minkä lähteenä oli kurssin kotisivu.
Suureksi onneksi tämä tunne kuihtui hyvin nopeasti. Pikku hiljaa alkoi Javan syntaksi aueta, ja käsitteet kuten attribuutti, metodi ja parametri eivät enää tuntuneet niin heprealta. Suurin syy tähän on ehdottomasti loistavat Studio-harkat, ja niitä vetäneet assarit. Assareiden mittaamattomalta tuntuva tietotaito Java-ohjelmoinnissa tuli nopeasti esille kun täysin mahdottomalta ja järjettömältä tuntuvat ongelmat ratkesivat pienessä hetkessä studioharkoissa. Toivottavasti assareiden tietotaito säilyy yhtä valtavan tuntuisena eikä lopu kesken jatkossakaan
Vaikka olemmekin oppineet paljon Java-ohjelmoinnista, niin itse ohjelmoinnin oppiminen ei ollut mielestäni ensimmäisen ohjelmointitehtävän ainoa ulosanti. Vähintäänki yhtä tärkeää kuin ohjelmoinnin opimminen, oli itse oppimisen opettelu. Java-ohjelmointia ei pysty opiskelemaan täysin samalla tavalla kun lukiossa olin tottunut oppimaan. Pelkkä luennoilla käynti, ja yhden kirjan lukeminen eivät johda kovin pitkälle. Sen sijaan itsenäinen tiedonhakeminen, assareiden hihan nykiminen, Java-kirjojen lueskelu ja keskusteleminen muiden “ohjelmoijien” kanssa tuottavat yhdessä huomattavasti parempaa tulosta. Itse opin muun muassa sen, että oppitunteja varten on syytä valmistauta, eikä vain mennä paikalle kahta kättä heiluttaen. Ei ole kovin järkevää mennä studioharkkoihin, ja käyttää sielä kaikki aikansa googlettamiseen ja kirjojen lukemiseen, kun saman pystyy tekemään jo ennakkovalmistautumisena kotona.
Ensimmäinen Java-tehtävä on varmasti tuottanut itse kullekin suuren määrä harmaita hiuksia, ja sitäkin varmemmin tuon ah-niin-ihanan hajoamisen-tunteen. Mutta juurikin tämä teki tehtävästä niin antoisan. Ei sitä voi kuin hymyssä suin muistella sitä hetkeä kun lähetti .jar paketin palautuskoneelle.
