Tapaus 6 – Rekursion fasilitointi fasilitoi rekursiota

Uuden tapauksen läpikäynti oli niin hauskaa, että sihteeri halusi palata aiheen ääreen näin kahden viikonkin päästä. Muistikuvat ovat silti melko kirkkaat, mikä lienee harvinaista näin opiskeluaikana.

Päivä sisälsi useita ennätyksiä; Vesa sai stormauksellaan useita viivoja virallisen tarkkailijan kirjaan, virike-paperissa oli 2 virikettä ja 4 erilaista esimerkkiä eli todella paljon asiaa ja kaiken kruunasi stormauksen lopputulema, taululla 63 erilaista post-it lappua! Keep on reading, tiedän et haluut nähä sen kuvan.
Aiheena oli siis rekursio, joka innoittikin meitä tähän kompleksiseen ja groundbreakkaavaan työotsakkeeseen. Ensimmäinen virike valaisi asiaa hyvin samalla tavoin kuin googlekin. Etsi siis ”recursion”-sanalla googlesta tietoa, jos et vieläkään ymmärtänyt rekursiota, tässä dummyproof artikkeli aiheesta:

http://googlesystem.blogspot.fi/2009/07/google-helps-you-understand-recursion.html

Stormauksessa ei tunnetusti ole huonoja ideoita ( tsiigaa Pasila S01E01, 7.25 ->), ja tällä kerralla saavutettiin se yhteinen odotettu synergia, jota kokenut – wait for it – fasilitaattori sai aikaan. Lappuja oli siis 63, uusi virallinen ennätys. Ja sisältökin pysyi asiallisena; oli pilveä, sydämiä, Erkkiä, Scalaa, habboteleportteja ja tietysti Spock ja teleporttauksen riskit. Oli siellä myös muuan StackOverFlow, looppi ja koukkukäsi. Eli loistavaa settiä!

Nyt se proofikin aiheesta:

Ja oli meillä jotain työjakoakin. Tässä niitä rooleja:

  • Pauli – Matemaattinen rekursio ja vaihtoehdot
  • Justus – Fibonacci eri tavoin
  • Annukka – Syvyyshaku
  • Emmi – Arkku esimerkki
  • Jaakko – Rekursiivinen huumori
  • Kaisa – Esimerkki 3, eli kertoma = !
  • Hanna – Rekursio yleisesti Javassa
  • Aarne – Rekursio mahdollisuutena
  • Vesa – Carcassonne esimerkki
  • Miikka – Rekursio uhkana

Over and out!

Tapaus 5 – Purku

Tapaus 5 – purku

Pienten teknisten ongelmien vallitessa tapaus vitosen purku aloitettiin paperiversioilla  ja teorian läpikäynnillä.

Heti alkuun todettiin, että Javan poikkeuksista on varsin kattavasti tutussa kalakirjassa, josta saakin mainiosti aineksia kolmannen teoriakierroksen tekemiseen.  Emmi oli kahlannut aiheesta ”poikkeukset Javassa” tärkeimmät tiedot meille jaettavaksi ja asiaa riitti.

Todettiin myös, että virikkeeksi annettu koodinpätkä suorastaan kuhisi virheitä, ja että niiden etsiminen muiden koodista on aivan tarpeeksi masentavaa, kun sama pitäisi tehdä omalle koodille. Onneksi on Javan virheilmoitukset.

Muistivuodoista todettiin sen verran, että Javan roskienkerääjä iloisesti auttaa ohjelmoijaa tämän ongelman kanssa, joten Javassa ei oikeastaan muistivuotoja pääse tapahtumaan. Esimerkiksi kuitenkin tuli vielä C++:n muistivuodot, koska ko. ohjelmointikielessä työt täytyy tehdä itse.

Javan testausmenetelmiä käytiin läpi lyhyehkösti, samaten sitä, mitä ominaisuuksia ei Javassa voida testata. Käytiin vielä läpi mitä konstruktoreissa, attribuuteissa ja metodeissa tulee olla, ettei virheilmoituksia ala sadella. Mitään uutta ei kuitenkaan hirveästi tullut, sen verran monta on kyseisiä palasia tullut tehtyä.

Hetken huvittunut hengähdystauko saatiin, kun päästiin kuuntelemaan tarinoita pieleen menneistä ohjelmistoprojekteista. VR:n lipunmyyntijärjestelmät ja muut mielenkiintoisiin lopputuloksiin päätyneet ohjelmistoprojektit herättivät huvittuneisuutta koodariryhmässä.

Kun tekniikka päätti vihdoin alkaa toimia, päästiin esittelemään Javan debuggeria tositoimissa. Hirveästi ei kyllä siihen käsiksi päästy, koska moni koki että virheiden hakeminen Javan virheilmoitusten avulla ja tulostuksia tutkailemalla on helpompaa.

Vielä päästiin tutkailemaan diaesitystä Javan yleisimmistä poikkeuksista, joihin jokainen oli jo varmasti törmännyt, ja tutkailemaan pientä testausohjelmistoa, joka valitti kun nollalla yritettiin jakaa. Koodi oli varsin hieno, ja siitä saattoi jotain oppiakin.

Purkua seurailemassa oli nurkassa istuva tutkijatäti, joka veteli viivoja paperiin.

Robotin koodaus

Robotin koodaus

Kokoonnuimme lomaviikkomme keskellä T-talolle koodaamaan robottiturnaukseen osallistuvaa robottia. Päivän ohjelma: aluksi palaveri, ruuan jälkeen koodausta Paniikissa.

Aloitimme palaverilla, jossa selvitimme robotilta vaadittavia ominaisuuksia, algolitmia, käytettäviä Javan ominaisuuksia (Point, HashMap) ja ohjelmoinnin jakamista eri henkilöille. Aluksi olimme aivan ulapalla mitä täytyisi tehdä, loppuun saimme yksinkertaistettua tilanteen siten että toteutamme Tremaux’n algoritmin. Robotti asettaa käyntikerrat itse luomaansa sijaintiin (Point-pisteeseen) ja valitsee reitin joka toteuttaa Tremauxia. Lisäksi toteutamme ohjelmoinnin yhdessä koodatessa samana päivänä.

Kun ulkona oli vielä valoisaa…

Lue loppuun

Tapaus 5: Koodi kusee – missä vika?

Tämänpäiväinen OLO-sessio oli monella tapaa mielenkiintoinen. Aluksi suurta jännitystä loi Vesan paikalle tuoma mystinen suuri uunipeltipaketti. Kaikkien riemuksi sieltä paljastui mokkapaloja, mutta ei kuitenkaan mitä vain mokkapaloja, vaan itse rakkaalla Athenen logolla koristeltuja mokkapaloja! Tähän ei kuitenkaan jännitys loppunut, vaan hämmennystä herätti myös paikalle ilmestynyt vieras ihminen. Tämä Aura Paloheimoksi itsensä esitellyt oli kertomassa meille siitä, kuinka meidät on valittu koekaniineiksi tutkimukseen, jossa tutkitaan ongelmalähtöistä oppimista. JAIKS, tästä kuullaan varmasti lisää myöhemmissä postauksissa!

Lue loppuun