Siinä se sitten oli

Studio1:n viimemetreillä olen Berliinissä luistelemassa, mutta silti mielessäni pyörii kaikki projektiin ja koko kurssiin liittyvät asiat. Näin kahdelta yöllä (paikallista aikaa), kilpailujen ollessa vihdoin ohi, selaan kurssin aikana täyttämääni vihkoa ja ylitsepursuavaa muovitaskua sisältäen lähinnä koodia, OLO-monisteita ja käsitekarttoja. Tunne on haikea nyt kaikkea kurssin hienoja ja vähemmän hienoja onnistumisen, epäonnistumisen tai muuten koskettaneita hetkiä läpikäydessäni. Hieman on myös paniikinomainen, sillä nettiyhteyttä ei täällä ole saatavilla ja huomenna Suomeen palatessani jännittää, olenko kotona ennen iltaa palauttamassa kaikki puutuvat 4-5 blogikirjoitustani.

Kurssista on jäljellä Eclipse-projekteja, itse suunniteltu peli, muovitaskullinen koodia paperilla, OLO-tapausohjeistuksia, esseitä, käsitekarttoja ja reilusti yli puolivälin täytetty A4-kokoinen vihko täynnä muistiinpanoja, ranskalaisia viivoja, paperikoodausyritystä, projektisuunnitelmaa, ihmeellisiä piirrustuksia ja nyt viimeisenä blogikirjoitussuunitelmia. Muistoja siis jäljellä

Selaan läpi muovitaskullisen papereita. Koodi näyttää ihanan helpolta ensimmäisissä tehtävissä. Luokat ovat lyhyitä, mutta täysin vailla minkäänlaista kommentointia. Tämän jalon taidon opin kunnolla vasta kolmannessa tehtävässä. Toisessa oli jo yritystä, mutta hyvä, jos siinä vaiheessa itsekään tiesin, mitä koodasin. On huvittavaa katsoa, miten en osannut this.:n käyttöä tai tiennyt mikä on parametri. Toisaalta myös helpottavaa huomata miten kurssin aikana koodi, sen tyyli ja siisteys, ja ylipäänsä koko tekeminen on parantunut.

Ensiaskeleet tuntuvat kaukaisilta. Jotenkin sitä ei silloin tajunnut, mitä tämä ohjelmointi oikein on, ja mihin minä sitä tarvitsen. Mielestäni oli aivan turhaa kirjoittaa kymmenenkertainen määrä tekstiä, jotta saisi tulostettua tekstin ”Hello World!” Miksei saman tien vain kirjoittaisi kyseistä lausetta? Mutta päästiin Sikobaniin ja päästiin projektiin ja nyt edessä enää loppuraportin palautus!

Neljännen tehtävän Nakyma-luokka johdatteli jo graafiseen maailmaan. Itse koodia en uskaltanut sen enempää selata tai etenkään siitä mitään ymmärtää; kauhulla vain katsoin ja mietin, että tuollaistako meillä on seuraavaksi edessä tehtävänä. Koko luokka oli minulle vain järjetön kasa oudosti nimettyjä attribuutteja ja metodeja ja importattuja luokkia. Sikoban kuitenkin valaisi asiaa, sillä graafinen toteutus aloitettiin aivan alusta luomalla peli-ikkuna(JFrame) ja siihen sisälle tyhjä harmaa paneeli(JPanel). Kohta kohdalta ohjetta seuratessa valaistuin yhä enemmän ja homma alkoikin pelittää. Projektin teko oli helppo aloittaa peli-ikkunasta ja sen sisällä olevista paneeleista, näihin JLabeleita ja niihin sisälle jotain tekstiä, ja tadaa, pohja pelille on valmiina.

 

Javasta olen purkanut tänne jo jonkin verran aiemminkin, joten nyt otan esille aiheen, mikä ei ehkä sittenkään kuulu loppupuheenvuoroon, mutta meni jo sinne, ja mitä en ole blogissa vielä hirveän paljon käsitellyt, eli esseet, ja siis mitä niistä oikein jäi käteen… Aloitan alusta.

Ensimmäinen essee Luokat ja Oliot ikään kuin johdatti Java-maailmaan. Kirjoittaminen oli lähinnä Kalakirjan tekstistä poimittujen tärkeiltä kuulostavien kohtien uudelleenmiettimistä ja tuottamista. Käsite olio oli minulle ainakin hyvin epäselvä ja kirjoittaminen vaikeaa. Luokka ja siihen liittyvät käsitteet olivat helpommin sisäistettävissä. Kurssitentissä oli ensimmäisenä tehtävänä selittää käsitteet luokka ja olio. Muistin yhä ainoan fiksun lauseen esseestäni: ”Luokka on olio-ohjelmoinnin peruskäsite ja olio on jonkin luokan ilmentymä.” Muu olikin soopaa, josta en vielä kirjoittaessani tajunnut puoliakaan siitä mitä koodatessani opin. Kalakirjan avaaminne oli jonkinasteinen kynnys koko kurssin aloittamiseen. Ensimmäisen deadlinen jälkeen oltiinkin sitten jo täysin jumissa Javassa.

Javan tietotyypit johdatti käsitekarttojen salaiseen maailmaan. Ihastuin niiden tekemiseen siinä määrin, että loput kolme teoriatehtävää palautin käsitekartan muodossa. Itse aihe oli suhteellisen helposti sisäistettävissä, sillä siinä esiintyviä käsitteitä oli tullut vastaan jo ennen tehtävän julkistamista. Tietotyypeistä tuli käytettyä lähinnä ArrayListia ja ehkä jokunen Map saattoi esiintyä jossain tehtävässä. Käyttökokemukset vaikuttivat projektissa käytettäviin luokkiin, ainoa kokoelma siinä olikin juuri ArrayList.

Poikkeukset oli mielenkiintoinen aihe. Hauska oli nähdä, mitä kaikkea voi ilmestyä ja vähän opetellakin tulevaa varten, mistä niitä NullPointerexceptioneja ja StackoverFloadErroreita oikein syntyy, ja miten niitä voi välttää. Entä mitä tehdä kun vaarana on että koko ohjelma kaatuu, enkä löydä virhettä: opin luomaan ja heittämään oman poikkeuksenkin. Ja ihan huipennokseksi päädyin sitten viidennessä Java-tehtävässä ottamaan NullPointerin kiinni, ihan vain varmuuden vuoksi…

Swing oli aiheistä, no ei nyt tärkein, mutta hyvin tärkeä kuitenkin nyt kun miettii projektin toteuttamista ja sen graafisen käyttöliittymän pohjautumista täysin Swingiin. Aiheen tärkeyden huomaa vasta käytännössä, sillä ainakin minulle tämä älyttömän laaja kokonaisuus jäi tässä vaiheessa vielä yhteiskuvaltaan hajanaiseksi. Kokonaisuus ja kaikki sen sisältämät upeat hienoudet sain kuitenkin selville Sikobanin, ja viimeistään projektin, myötä.

Ja vielä viimeisestä eli säikeistä. Ehdin pitkästä aikaa perehtyä esseeaiheeseen kunnolla. Jäi itseasiassa harmittamaan, sillä en ehtinyt kokeilla säikeiden käyttöä ennen kuin vasta projektissa. Projektissanikin käytin ainoastaan yhtä säiettä äänitehosteiden soittamiseen ja siis yhtä säikeiden metodia(start()). Nyt siis olen perillä tästä hienosta ja varmasti erittäin monipuolisestakin aiheesta ainoastaan pintapuolisesti ja senkin lähinnä teoriatasolla. olin kuitenkin positiivisesti yllättynyt, kun osasin sellaisen tehdä jä vielä kaiken lisäksi käynnistääkin! Oli siis senkin aiheen opiskelusta hyötyä.

Yleisesti voin todeta, että vasta jälkikäteen huomaa asioiden opiskelun tuottaman hyödyn. Näin kävi lähes kakkien teoriatehtävien kohdalla. Jotenkin Java-tehtävien kanssa painiessa aivot syrjäyttivät täysin kaiken teoreettisen ja esseen/käsitekartan tekeminen jäi viimetippaan ihan joka kerta. Teoriatehtävät tukivat hyvin koodaustehtävissä onnistumista, ja viimeisiä tehtäessä pystyi jo päättelemään seuraavan uuden asian Java-tehtävässä. Ne aiheet, jotka olin opiskellut hyvin teoriatasolla toteutuivat paremmin myös koodissa.

Noniin, ja takaisin aiheeseen eli itse kurssiin. Fiilis on helpottunut, muuta ei voi sanoa! Omalta osaltani voin todeta, ettei tämä ollut minulle paras tapa opetella ohjelmointia. Olisin kaivannut jotain oppituntien tai miniluentojen tapaisia lisää. Omat aivoni eivät olleet aivan koko kurssin aikana käytettävissä, joten vaikka itseopiskelemalla ja kokeilemalla oppii paljon, ei se minun kohdallani tällä kertaa toiminut.

Hassua oli mielestäni se, että yhteistyö kurssin aikana oli kiellettyä ja ilmassa leijui uhkaus plagiointiyritysten paljastamisesta. Toki on äärettömän tärkeää, että jokainen kirjoittaa koodinsa itse ja oppii, mutta jo ensimmäinen tehtävä osoittautui monille sen verran haastavaksi, että pelkillä assariharkoilla ei siitä olisi yksin selvitty! Minä en ainakaan saanut aivojani vielä siinä vaiheessa yhtään Java-tasolle. Paljon helpompi oli miettiä ongelmia ja niihin ratkaisuja porukassa. Ja alkuvaiheessa tämä tarkoitti suhteellisen samankaltaista lopputulosta koodissa. Myöhemmin, taitojen ja opittujen asioiden karttuessa, toteutustapavaihtoehdot lisääntyivät ja yhdessä pohdituista algoritmeistä tuli kirjoitettuna todella erilaisia.

Vuodatusosiokin piti tähän mahduttaa, mutta nyt lopuksi haluan kiittää kaikkia assareita hyvästä assaroinnista ja kanssaopiskelijoita hyvästä hengestä! Hajoamissessiot Paniikissa ja Maarilla jäävät muistoihin hyvinä sessioina. Porukassa hajoaminen oli paljon helpompaa kun vertaistukea löytyi. Kurssin järjestäminen näin syksyllä kyllä yhdistää toisilleen vierasta phuksiporukkaa jollain tasolla ehkä ikävällä, mutta mielestäni kuitenkin mahtavalla tavalla. Ehkä joskus tulen jopa kaipaamaan paniikkikoodaussessioita Maarin luokassa, jossa samaan aikaa 20 phuksia repii hiuksiaan päästä Javan takia.

-Meri

0 Responses to “Siinä se sitten oli”



  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: