Arkisto marraskuu, 2007:lle

Käsitekartta numero VIISI!

Nyt on kurssin yksi etappi saavutettu, kun VIIMEINEN teoriatehtävä on tehty ja palautettu!! Aihe oli jälleen kerran uusi ja outo, eikä kalakirjan ylimalkainen selailu saanut aikaan mitään valtavaa ahaa-elämystä. Säikeiden perusperiaate tuli kuitenkin selväksi, ja käytännössä asian oppinee seuraavassa (viimeisessä!!) ohjelmointitehtävässä. Vaikka aluksi ajattelin tekeväni esseitä mieluummin kuin käsitekarttoja, käännyin tässä tehtävässä (taas) kartan puoleen, onhan se kuitenkin nopeampi ja mukavampi tehdä. (vaikka kateeksi käykin Merin kartan suoria viivoja!!!!111) Viidestä tehtävästä tein kaksi essee-muodossa ja kolme karttoina. Tähän asti ainakin esseiden arvosanat ovat olleet parempia, tuo karttojen teko ei taida olla mun vahvimpia puolia.

 Yhdyn aikaisempiin tilityksiin; teoriatehtävien painoarvo on AIVAN liian pieni!! Tuntui kovin turhauttavalta panostaa täysillä esseisiin ja karttoihin kun tiesi ettei niillä käytännössä ole juurikaan merkitystä kurssiarvosanan kannalta. Tämä turhautuminen näkyi kyllä myös työn jäljessä. Voin rehellisesti myöntää että menin siitä mistä aita on matalin; yleensä vähän ennen deadlinea kyhäsin kokoon kartan/esseen jonka sisältö oli mitä oli. Etenkin tämä viimeinen tehtävä tuli tehtyä hutaisten.

Jotakin näistä teoriatehtävistä kuitenkin aina jäi mieleen, ja opittua asiaa tuli mukavasti (=väkisin)kertailtua ohjelmointitehtävien parissa. Varsinainen oppiminen siis tapahtui koodatessa, vaikka toki asian omaksumista helpotti se, että aiheeseen oli tutustunut jo aiemminkin. Mutta kuten sanottu: isompi painoarvo näille suht paljon vaivaa vaativille tehtäville ja motivaatio nousisi hurjasti!!!

-Ulla

Boten Hepalon

Olipa seminaari. Mahtava sorkkaeläinten kuningas Hepalon kävi vähän mittaamassa kollegojensa kisakuntoa aiemmin tänään T-talolla. Valmistautumisemme itse esitykseen ei välttämättä ollut mikään paras mahdollinen, jonkinlainen powerpoint-esitys olisi ehkä ollut poikaa, toisaalta bottimme ominaisuuksien selittäminen suullisesti sekä demonstroiminen irkin välityksellä oli varmastikin riittävän havainnollistava suoritus itse kullekin. Harmillista oli tosiaan se, että Hepalon sattui olemaan aika äksyllä tuulella, eikä näyttänyt parasta osaamistaan yleisölle.. liekö esiintymiskammoa vai mitä..

Muiden ryhmien botit olivat kieltämättä hiukan monipuolisempia, kuin meidän Hepalon. Mielestäni kuitenkin ryhmämme joidenkin henkilöiden passiivisen osallistumisen takia Hepalon oli aika samalla viivalla kilpakumppanien kanssa.. On helpompi tehdä bottiin kymmenen ominaisuutta jos tekemässä on kymmenen ihmistä, eikä alle viisi. En tiedä, oliko tiedotuksessa vikaa vai olivatko ihmiset vaan liian kiireisiä. No mennyt on mennyttä. ISO kiitos kuitenkin osallistuneille!! Hoidetaanpa botin koodin kommentointi vaan kunnialla loppuun ja muistetaan kirjotella dokumentaatio ajoissa blogiin ja muutenkin kirjoitella blogiin mitä vaan mielessä liikkuu!! niin eiköhän tästä vielä hyvä tule. :)

-Olli

VIIIMEINEN esseee

Viimeinen essee säikeistä valmistui noin klo. 04:15 maanantain ja tiistain välisenä yönä. Jälleen kerran tehtävän tekeminen jäi yöaikaan, mutta ilmeisestikin se on minulle parasta aikaa tehdä, koska sillon ne ovat valmistueet aina tavoiteaikaan mennessä. Säikeet oli etukäteen aivan hepreaa ja kalakirjalle tuli taas käyttöä. Noin viiden tunnin hajoilun jälkeen sain kasaan esseen, missä olin mielestäni käsitellyt suhteellisen kattavasti säikeiden perusominaisuudet. Saas nähdä tulenko ikinä tarvitsemaan säikeitä koodatessa, pelkän esseen perusteella en kyllä koe osaavani tarpeeksi säikeiden sujuvaan käyttöön koodissa.

Jepjep nyt on teoriatehtävät tämän kurssin puitteissa ohi. No jäikö niistä mitään käteen? Kyllä varmastikin, mutta minusta  olisi voinut jäädä enemmänkin (no olisi varmaankin kannattanut lukea aiheista syvällisemmin).  Osittain kyllä. Minusta ongelmana on teoriatehtävien painoarvo arvostelussa, 2% yhdellä tehtävällä o_0. Tämä vaikutti ainakin minun esseiden tekemiseen hajottavina hetkinä. Kun jokin asia ei selvinnyt muutamalla lukemisekerralla, niin mieleen tuli 2%:n sääntö ja hutaisin asian ympäripyöreästi paperille, ei välttämättä mikään tehokkain oppimismenetelmä. Ja uskon, että moni muukin on ajatellut samoin. Jatkoa ajatellen mielestäni voisi miettiä blogin ja teoriatehtävien painoarvoja uusiksi.. Tämä tosin on vain minun mielipide.

Satunnaisia hajoamisia lukuunottamatta teoriatehtävät olivat ihan hyödyllisia ja opettavaisia, joskus jopa oli mukava tehdä kun pääsi kunnolla vauhtiiin, mutta kritiikkiä voisi antaa edellä mainitusta painoarvosta. Motivaatio ainakin itselläni kohoaisi huomattavasti, jos suhteellisen isolla työmäärällä ansaittu hyvä numero vaikuttaisi hieman enemmän loppuarvosteluun.

Angstista valitusta + botin palautuksesta

Tänään oli bottiseminaari, jossa ryhmä esitteli Hepalon-irkkibottimme muille. Vaikka oikeastaan ei voida puhua ryhmästä, sillä puolet ei vaivautunut paikalle lainkaan. Miksi?!

Lähinnä se puolikas ryhmästä, joka tänään oli paikalla seminaarissa, myös suunnitteli ja koodasi botin. Se sama puolikas hoiti myös esittelyn, jolla on suurin painoarvo bottiseminaarin arvosanassa. Arvosanaksi tuli 3, jota voi korottaa tai laskea blogidokumentaatiolla. Meillä on viikko aikaa, joten nyt mahdollisimman paljon asiaa tänne blogiin!

Botin koodi pitää palauttaa huomiseen torstaihin klo 18 mennessä kommentoituna. Kommentointi pitää siis vielä lisätä koodiin, joten toivoisin että joku/jotkut, jotka eivät käyttäneet tuntikausia aikaansa bottiin, tekisivät sen. Tasapuolisuuden vuoksi.

Nähdään torstaina.

- Asta

Botista -sen luomisesta ja seminaarista

Bottiseminaari on sitten ohi.  Jäihän se vähän heikoksi, kun ajattelee et miten kivan keskustelun siinä ois voinu saada aikaan botin kanssa. Mut ei voi mitään, ainaki hepalonilla ois ollu mahdollisuudet vaikka kuinka hyvään suoritukseen. Harvoin liika testaus aiheuttaa harmia niinku nyt kävi.. Botin oraakkeli ominaisuus siis ei jaksanutkaan keskulla niin aktiivisesti enää seminaarissa.

Mutta botin toteutus onnistui suhteellisen hyvin, vietettiin koodaus- ja suunnitteluhetkiä ihan kivasti ja usein paikalla oli melkein koko ryhmä. Ongelmia ei erityisemmin tullut ainakaan botin koodauksessa, ehkä ongelmat liittyi enemmänkin omien aikataulujen kiireyteen. Ehkäpä olis voinu enemmän miettiä niitä rakenne juttuja, rajapintaa tai sellasta.. En tiiä, ihan hienohan se koodi on. Ominaisuusideoita syntyi hyvin ja niinpä botin ominaisuuksista tulikin aika monipuoliset, hyötyä (esim, alkometri) ja huvia (tärkeimpänä keskustelu eli oraakkeli). Eli ainakin toteutus on ihan eri luokkaa kuin esim, robotin kohdalla.. Nyt vielä dokumentaatio kuntoon niin voidaan olla tyytyväisiä.

Anu

Botti – jälkitunnelmia

Jei, nyt on bottiseminaari takana päin ja arvosanatkin julkistettu; pääsimme sentään parempaan tulokseen kuin robotin kanssa!! Hyvä niin, vaikka varmasti parantamisen varaa olisi ollut!! Ja tosiaan homma ei ole vielä kasassa, vielä puuttuu ainakin mahtava blogi-dokumentaatio sekä koodin kommentoiminen. Voitaisiin yrittää panostaa ainakin blogiin, jos vaikka saataisiin hilattua arvosanamme yhtä pykälää ylemmäksi!!

Seminaarista jäi hieman nihkeät tunnelmat – en tiedä oliko syynä melko monen ryhmäläisen puuttuminen vai se, että Hepalon oli suorituspaineiden takia aika ärtsyllä päällä eikä oikein suostunut yhteistyöhön. Ongelmaksi siis koitui kai liiallinen testaaminen :)

Jep mutta, nyt vaan jonkinnäköistä dokumentaatiota kehiin, lisäilin jo tuohon Astan artikkeliin nuita Hepalonin toimintoja, jos jotakin jäi poies niin lisäilkää lisää!! :)

-Ulla

jotain näkyvää ja ehkä kuuluvaakin

Neljäs ohjelmointitehtävä toi mukanaan taas ison kasan uusia haasteita. Kuinka niistä sitten selvitä? Uutta ja jännää tehtävässä olivat rajapinnat ja ihan konkreettinen pelimoottori, joka pisti pyörät pyörimään, eli tässä tapauksessa kutsui vuorotellen kaikkien rajapinnan toteuttavien olioiden teesiirto-metodia. Mutta kaikkein jännintä oli kuitenkin ihan “oikean” eli ohjailtavissa olevan pelaajan luominen ja pelimaailmaan itegroiminen! Tämä toteutettiin luomalla luokka Avatar ja metodi teesiirto, joka luki käyttäjän antamia komentoja ja, kun koodin sai toimimaan, myös toteutti niitä! :) Aivan mahtava fiilis, kun kirjoitti komentoriville “katso” ja “mene p”, ja sai aikaiseksi ihan oikean tulostuksen ja kun sitten näki pienen punaisen pisteen siirtyvän sektorista toiseen sai näkyvän lisäksi aikaan jotain kuuluvaakin. Näppäimistöllä annettuja komentojen lukemiseen käytettiin BufferedReaderia, joka sekin tuli uutena tässä tehtävässä.

Ohjelmointitehtävä4, kaikista mahdollisista poikkeuksista ja paniikkikoodaamisista huolimatta on tähän mennessä ollut ehdottomasti syksyn mukavin! Koodin tuotto sujui alkukankeuksien jälkeen, ja kun testaamaan päästiin, niin sittenhän sitä testattiin. Lopulta pelin suorittaminen tyssäsi nullPointeriin tai ArrayIndexBoundsOfExceptioniin tai johonkin muuhun yhtä mukavaan komentorivin tulostukseen. Ja ei kun virhettä etsimään ja uusi peli käyntiin! Vaikeinta tehtävässä, ehdottomasti, oli pelin idean keksiminen ja sen toteuttaminen. Omia metodeja syntyi aika runsaasti, ja kohta niiden kanssa oltiinkin aivan solmussa! Olisi kyllä ehdottomasti kaivattu taas hieman järjestelmällisyyttä ajatuksiin sekä niiden toteuttamiseen.. Kuitenkin, omia metodeja aika runsaasti koodiin lisänneenä, voin jopa väittää oppineeni jotain. Yrityksen ja erheen kautta olen jo ehkä oppinut niitä sopiviin käyttötarkoituksiin tekemään. Aluksi oli vaikeinta juuri se pohtiminen; mitä metodin halutaan tekevän, tarkistavan jotain vaiko kenties palauttavan, ja minkä tyyppisenä…

Tällä kierroksella toteutetaan graafinen peli Sikoban. Ja kuinka hyvin toteutetaakaan… Lauantaihin asti taas aikaa, paniikkikoodaus siis lauantaina 16-17.50.

-Meri

Voi oloilujen oloilu! Viimeinen OLO (8. vai 9.?)

Nyt loppui tuo kaikki syksyn maanantaipäivät riemukkaasti tai vähemmän riemukkaasti käynnistänyt kaksituntinen. Ensimmäinen OLO-sessiomme oli syyskuun ensimmäisillä viikoilla. Ovesta sisään astuessamme ei meillä ollut tietoakaan siitä, mitä tämä tällainen OLO-sessio tarkoittaa, miksi näitä on, ja mitä kaikkea viikottaisiin tapaamisiin saadaankaan mahtumaan! Assarit näyttivät pelottavan kaikkitietäviltä, “mitä minä nyt uskaltaisin kysyä, kun en yhtikäs mitään javasta tiedä”. Saimme A-neloset käteemme, kasan Post-It -lappuja viereen, ja siitä sitten vain lukemaan ja ajatuksia lapuille kirjoittamaan. “Mmitä ihmettä, filosofiaa, you must be kidding..! “

Jälkeenpäin ajateltuna Javaan tutustuttaminen Platonin ideaopin kautta on hauska ja rento tapa, mutta kun vielä java-arkuutta siinä vaiheessa potiessani luin kyseistä tekstiä, oli pääni aivan sekaisin ja Post-It -lappujen kirjoittaminen tuntui aivan mahdottomalta tehtävältä, “Mitä jos laitan tähän jotain, mikä on väärin tai entä jos se ei liitykään aiheeseen?” Sillä hetkellä toivoin, että olisin ollut sihteerinä; olisin kuin huomaamatta voinut jättää ajatustyön muille ja keskittyä lappujen kiinnittelemiseen seinälle. Onneksi joku muu sai idean ja ensimmäinen lappu oli syntynyt. Sen jälkeen oli helpompaa lähteä mukaan. Ensimmäiset “ajatukseni” syntyivät suoraan lähdetekstin käsitteistä. Omia aivoja piti oikein työstää löytämään uusia ideoita. Tämä ei onnistunut kovinkaan hyvin ensimmäisessä OLO-sessiossa, mutta jo toisessa ja kolmannessa tuntui, että jotain tästä uudesta ja jännästä pystyy jo sisäistämäänkin.

Viimeinen avaus oli jo kaksi viikkoa sitten. Tapaus oli järjestyksessään yhdeksäs (nollatapaus laskettuna mukaan) ja saimme miettiä kokonaisen tietokoneohjelman rakennetta ja toteutusta. Mitä kaikkea siihen tarvitaankaan. Ohjelmointitehtävissä vastaan jo tulleet graafinen käyttöliittymä ja säikeet ainakin! Tapauksen aihe ja vaativuustaso olivat hieman muuttuneet ensimmäisestä, mutta Javaan jo hieman perehtyneenä ja edellistä tapauksista kokemusta pohtimiseen saaneena, oli ajatuksetkin helpompi pitää aiheessa. Ryhmämme kokoontui viimeisen kerran yläkerran neukkarissa projektin suunnittelun merkeissä. Kyseessä oli pitchaus, ja jokainen esitteli kohta alkavan urakkansa aihetta ja sai palautetta siitä. Tunnelma oli jouluinen Vesan tarjoaman glögin ansiosta, mikä muistutti samalla tulevasta joulun vietosta Javaisissa merkeissä.

Tässä vaiheessa tuntuu vielä epätodelliselta lähteä luomaan omaa ohjelmaa tyhjästä ilman tarkoin määriteltyjä ohjeita tai assarointia. Luulenpa kuitenkin, että koodaamaan päästyäni, ei koodauksesta tule loppua, ja ongelmiinkin oppii löytämään itse ratkaisun!

-Meri

Botti viimeistelyä vaille valmis

Bottimme Hepalon osaa jo monia asioita:

1. Se vastailee hienosti sille esitettyihin kysymyksiin ja kommentteihin

2. Kun joku sanoo kanavalla !tapahtuma, Hepalon kertoo seuraavan Athenen tapahtuman päivämäärän kera

3. Hepalon reagoi lempisanoihinsa vastaamalla “Hevonen on sorkkaeläin!”. Jos sana on jostain syystä jäänyt keskeneräiseksi (esim. hep), botti kysyy ensin: “Tarkoititko hevonen?” ja sitten vastausta turhia odottelematta huudahtaa: “Hevonen on sorkkaeläin!”

4. Hepalon osaa myös kertoa kanavalle pastetun youtube -linkin sisällön sekä katselukertojen määrän.

5. !matti -komennolla Hepalon arpoo jonkin rakkaan ex-mäkikotkamme kuolemattomista lausahduksista. Eli se on ihan fifty-sixty mikä sitaatti sieltä sattuu tulemaan…

6. Hepalon on myös taitava promillemäärien laskija. Oman promillemäärän sekä omaa tilaa vastaavan kuvauksen Hepalon kertoo komennolla !alkometri sukupuoli(m/n) paino(kg) annosmäärä, esim. “!alkometri n 55 4″.

7. Ja koska Hepalonilla on niiiiin monia uskomattomia kykyjä, ettei kaikki pysty millään muistamaan, voi niitä palautella mieleensä komennolla !help

Hepalon on luonteeltaan hyvä tyyppi. Varsinkin jos tykkää sorkkaeläimistä (Hepalon on sorkkaeläinten kuningas!). Hepalon ei halua kellekään pahaa, ellei sitä ärsytetä tahallaan, esim. kysymällä samoja kysymyksiä kerta toisensa jälkeen. Hepalon on avulias, sillä hän kertoo mielellään kysyjälle Athenen seuraavan tapahtuman. Aluksi Hepalon ajatteli kertoa vain excursioista, mutta pienen suostuttelun (lue: sorkkien kiillotuksen) jälkeen hän otti tavakseen kertoa kaikista tapahtumista, sillä athenelaisia kiinnostaa muukin toiminta kuin excut.

- Asta & Ulla

Viimeinen!!

Nyt koitti se päivä, jolloin viimeinen Studio1:en teoriatehtävä on laitettu pakettiin ja palautettu! Olo on sen mukainen. Alkukurssista tuntui siltä, että esseitä ja käsitekarttoja olisi voinut tehdä enemmänkin koodaamisen sijaan. Kuitenkin kurssin edetessä huomasin, kuinka paljon enemmän opin ohjelmointitehtävää tehdessä. Siinä tehdään sentään jotain konkreettisempaa, jotain sellaista joka palauttaa sieniä sekä generoi karttaruutuja ja merirosvoja!

Yritin päästä teoriatehtävien kanssa mahdollisimman vähällä, tai niin luulin. Tein suurimmaksi osaksi käsitekarttoja, joita en ilmeisesti viimeisten arvosanojen mukaan osannut tehdä.  Nyt, viimeisessä tehtävässä, palasin essee-muotoon. Ja huomasin olleeni väärässä. Esseessä pystyy samaa asiaa jauhamaan selkeästi helpommin, vaikka ei jotain täysin ymmärtäisikään. Ja silti vaikuttaa siltä että ymmärtäisi.

Viimeinen aihe, säikeet, ei mielestäni ollut kovin vaikea ymmärtää. Käsitteitä ei ollut liikaa ja tällä kertaa kalakirja onnistui havainnollistamaan asian lähestulkoon hyvin :) Keksin esimerkkejä helposti aivan itsekin ja aiheen rajaaminenkaan ei ollut ylivoimaista. Jään kuitenkin odottelemaan oikeaa oppimisvaihetta, eli ohjelmointitehtävää, jossa kyseisen alueen osaamista vaaditaan.

Jaiks, huomenna pitäisi sitten esitellä projektiaihetta. Tsemppiä kaikille, toivottavasti oma aihe on jo tässä vaiheessa löytynyt :) Nähdään OLO:ssa!

Asta

Seuraava sivu »