torstai 26. maaliskuuta 2015

Koodausta

Neljännen ja osittain viidennen kierroksen aikana olemme tutustuneet koodaamisen ja ohjelmoinnin perusteisiin ja sanastoon. Neuvokaa minua, jos olen väärässä, mutta minusta nämä kaksi termiä menevät meillä suloisesti sekaisin. Eikö niin, että koodaaminen tarkoittaa viestin muuntamista toiseen, esim. tietokoneen ymmärtämään muotoon ja ohjelmointi näiden koodien järjestämistä ohjelmaksi, jota vaikkapa samainen tietokone sitten noudattaa.

Niin tai näin, puhuimme alkuun siitä, missä kaikkialla oppilaat arjessaan törmäävät koodiin ja ohjelmiin. Esiin nousi paljon erilaisia kodinkoneita ja lopulta jopa liikennemerkit, jotka ovat viestejä, jotka on ilmaistu geometrisinä kuvioina.

Aloitimme varsinaisen ohjelmoinnin pelaamalla Lightbot -peliä, joka on ladattavissa ilmaiseksi sekä Play-kaupasta että Appstoresta ja toimii myös internetselaimella. Pelissä ohjelmoidaan pientä robottia, jonka tehtävä on päästä siniseksi värjättyyn ruutuun ja sytyttää sinne lamppu. Tehtävät muuttuvat melko nopeasti haastaviksi ja vaativat paljon hahmottamista. Peli on hauska sellaisenaan, mutta tarjoaa myös paljon tilaisuuksia selventää ohjelmoinnin tavoitteita. On toisaalta se ja sama, miten tavoitteeseen päästään, mutta toisaalta mitä enemmän robotti tekee turhia toimintoja, esim. polkee paikallaan, sitä kauemmin siltä menee ohjelman suorittamiseen. Tämä pätee kaikkeen ohjelmointiin.



Varsinkin, kun ohjelmassa tulevat mukaan aliohjelmat (joita voi myös ohjelmoida toistensa sisälle ja muuta jännää!) pelissä päästään helposti käsiksi mm. ohjelmoinnin ekonomiaan. Kun tekee hyvän ja monipuolisen aliohjelman, sitä voi käyttää sellaisenaan monta kertaa eikä tarvitse aina kirjoittaa samaa litaniaa uudestaan. Innostuin pelistä niin, että latasin itselleni maksullisenkin version hintaan 3,99 € ja täytyy kyllä sanoa, että tehtävät muuttuvat niin pahoiksi, että minulla menee helposti ainakin juhannukseen saakka näiden kanssa. Mukaan tulevat konditionaalit ja ohjelmien keskeytykset.

Lightbotin jälkeen tutustuimme tunnin verran www.koodaustunti.fi -sivustoon. Siellä pääsee askeleen lähemmäs varsinaista koodikieltä, sillä ohjelmointi perustuu Scratch-tyyppiseen palikoista ohjelman rakentamiseen. Ideana on, että varsinaista koodikieltä on pätkitty valmiiksi sopiviin pätkiin, joita yhdistelemällä saadaan aikaan varsinainen ohjelma. Sivusto tarjoaa valtavasti tilaisuuksia kiinnittää huomiota mm. ohjeiden oikeaan loogiseen järjestykseen ja siihen, että tietokone suorittaa ohjeet aina täsmällisesti annetussa järjestyksessä.



Viimeiset pari tuntia käytimme animaatioiden ohjelmointiin Scratch Jr. -sovelluksessa, joka on valitettavasti tällä hetkellä tarjolla vain Applen Appstoressa. Idea on kuitenkin mahtava. Erilaisiin taustoihin voidaan lisätä erilaisia objekteja, jotka täytyy kaikki ohjelmoida tekemään jotain. Jos haluaa kissan siirtyvän neljä ruutua eteenpäin, on myös kerrottava milloin haluaa sen siirtyvän. Ohjelman herkkua ovat mielestäni ohjelman sisäiset viestit. Erivärisillä kirjekuorilla, lähtevillä ja saapuvilla, on mahdollisuus luoda toisistaan riippuvia toimintoja. Esim. lintu lähtee lentoon, KUN kissa on ensin kävellyt sen lähelle. Sama lähtevä viesti voidaan vastaanottaa useassa paikassa yhtäaikaa, joten on mahdollista, että tietystä toiminnasta seuraa monta eri toimintaa yhtäaikaisesti.



Hieman tämä meinaa mennä nyt jaarittelun puolelle, mutta www.scratchjr.org -osoitteesta löytyy ohjeita ja valmiita tehtäviä oppilaille. Koodauspäivä oli oppilaille ja opettajille todella motivoiva. Esim. Scratch Jr:ia voi hyvin käyttää muidenkin aineiden oppimateriaalien tuottamiseen. Oppilaat voivat itse animoida opetusvideoita käytännössä aiheesta kuin aiheesta. Ainoa haittapuoli on, että videoita ei saa mitenkään ohjelmasta ulos. Me löimme pädit suoraan dokumenttikameran alle ja katselimme sieltä.

Toivottavasti käyntini myös hälvensi hieman koodaukseen ja OPS:aan liittyviä pelkoja. Suunnitelmassahan mainitaan matematiikan alta löytyvän koodauksen tavoitteeksi ja arvioinnin kriteeriksi kuudennellakin luokalla, että oppilas osaa luoda ohjelman VISUAALISESSA ohjelmointiympäristössä. Varsinkin Scratchin varsinainen selaimessa ja tietokoneilla toimiva versio täyttää leikiten nämä vaatimukset. Tämä junioriversiokin on mielestäni jo vähintäänkin aika lähellä.

Koodaillaan!

Ei kommentteja:

Lähetä kommentti