Avainsana: koodauksen alkeet

Miten koodari ajattelee?

Kerron yksinkertaisen esimerkin, miten oma ajatukseni kulkee. Minullehan käy usein niin, että jään pohtimaan miten mikäkin esine tai juttu on koodattu toimimaan.

Otetaanpa esimerkiksi lelurobotti, joka osaa tiettyjä toimintoja.

KUVA: Coolman robotti

Laitan robotin liikkeelle (=video).
Se käynnistyy on/off painikkeesta. Seuraan robotin toimintaa. Tunnistan toistuva liikkeet ja äänet:

  • kävely: liikkuminen eteenpäin askel kerrallaan
  • pyörähdys: kerran ympäri, kaksi kertaa ympäri
  • äänet: tulitus, luritus yms.

Mietin miten saisin yhdistettyä liikkeet ja äänet ohjelmaksi? 
Vaikka silmukalla se onnistuu (=ohjelmoinnin perusrakenne).
Mikä on ohjelman käynnistävä signaali?
On/Off nappula.

Siitä voi sitten kirjoittaa pseudokoodin halutessaan (=jos et tiedä mitä pseudo on, niin käy tsekkaamassa linkistä) 🙂

Esim.

tee kunnes on/off = off {
anna luritus ääni;
kävele 1 askel;
anna luritus ääni;
kävele 1 askel;
anna luritus ääni
kävele 1 askel;
pyörähdä 2 kertaa;
anna tulitus ääni;
kävele 1 askel;
anna tulitus ääni;
kävele 1 askel;
anna lur tulitus ääni;
kävele 1 askel;
pyörähdä 1 kertaa
;
}

Ja sitten jo tuntuukin – olisipa tämäkin helppo koodata !!!
Kaikkien ei tarvitse osata koodata, totta. Mutta ymmärtämällä yllä olevan esimerkin idean, ymmärtää jo paljon koodauksesta 😀

Kokemuksia koodauksen opettelusta Bomberbotilla

Kävimme 6. luokan kanssa Bomberbotin alkeiskurssin läpi. Lähtötaso oli, että oppilaat olivat aiempina vuosina tutustuneet koodaukseen jonkin verran mm. code.org tehtävillä. Osa oppilaista opiskeli koodausta ensimmäisen kerran peruskoulun aikana.

Bomberbotin Alkeet- osassa aloitettiin opettelemalla mitä ohjelmointi on. Sitten käytiin läpi ohjelmoinnin perusrakenteita: lause, ehtolause, silmukka, funktio ja muuttuja. Me kävimme Bomberbotin kaksi aihealuetta yhtenä päivänä läpi, ja tämä tuntui sopivalta tahdilta.

Kuva: tuntien sisällöt

Viimeisellä kerralla kerrattiin aiemmin opittujen rakenteiden käyttöä, ja paneuduttiin oma ohjelman suunnitteluun. Tämä tarkoitti Bomberbotissa oman tason suunnitelman tekemistä. Suunnitelmat eli omat tasot testattiin parin kanssa..

Ohjelman tekemiseen kuuluu koodauksen lisäksi suunnitelman laatiminen ja testaus. Nämä kaikki osa-alueet tuli käytyä läpi bomberbotin Alkeet- osassa.
Voin suositella Bomberbotia muillekin kuutosluokille. Tällaisella sisällöllä tulee opeteltua koodauksen perusteet (=perusrakenteet) ja jokainen tekee lopuksi myös oman graafisen ohjelman suunnitelman, jonka toimivuus testataan.
Eli OPS2016 tavoitteet 6. luokan osalta tulevat tässä minimissään täytettyä.

Innokkaimmat oppilaani tekivät myös Bomberbotin Jatko-osan tehtäviä omatoimisesti, joten nekin sopivat tasoltaan tämän ikäisille. Jatko-osaa voi mielestäni suositelle niille, jotka kiinnostuvat ohjelmoinnista Alkeet- osan jälkeen, koska jatkossa käsitellään edistyneempi koodauksen juttuja mm. debuggaus!

Annoin oppilaille arvosanat 2h x 5pv kurssin jälkeen. Arvostelu perustui ahkeruuteen eli tehtyjen tehtävien määrä kurssilla (sen näkee bomberbotista) ja lopputyöhön, joka oli oman tason suunnitelma ja ratkaisuehdotus. Keskiarvoksi tuli 7,5. Lisäämällä harjoittelua saisi keskiarvon helposti yli 8, koska monikaan ei tehtäviä tehnyt kotona.

Kokemuksena tästä jäi hyvä mieli!

Bomberbot oppimisympäristö kokeilussa koodaustunneilla alakoulussa

Datasepän koodikoulu pääsi kokeilemaan Bomberbot- oppimisympäristöä Raudaskosken alakoulun 6. luokalaisten kassa. Tavoitteemme on nyt opiskella Bomberbotilla 5×2 oppituntia, ja tässä ajassa saavuttaa OPS2016 määrittelemät kriteerit 6-luokkalaisen ohjelmointiosaamiselle. Huomenna on jo kolmannet oppitunnit. Ensimmäiset kaksi kertaa ovat sujuneet ongelmitta – Bomberbot on toiminut hyvin. Ja koodiope voi tarkistaa tunnin jälkeen näppärästi mihin asti kukin on päässyt. Myös kotiläksyt on helppo tarkistaa.

Tästä linkistä löytyy tarkemmat suunnitelmat tuntien sisällöksi:
https://raudaskoskenkoodikerho.wordpress.com/rauskin-6-lk-valinnainen-koodaus/

Esimerkki bomberbot tehtävistä

Kurssin lapset ovat opiskelleet koodaukseen liittyviä asioita jonkin verran jo alemmilla luokilla: https://rauskinkoodikoulu.wordpress.com/tehtava/3-4-luokan-koodikoulu/

Kerron blogissani kurssin loputtua, että kuinka kävi ja mitä jäi kullekin käteen. Voit kernaasti hyödyntää sivustollani kerrotut kokemukset ja sisällöt, jos sinunkin luokkasi käytössä on Bomberbot- oppimisympäristö!

Kokemuksia koodileiriltä 2018 koodiopen silmin

Kokemuksia koodileiriltä 2018 koodiopen silmin

Nyt kesäloman aikana on kiva tunnelmoida juhannuksen jälkeisin viikon koodileiriä…
Loistava paikka koodileirille oli Raudaskylän Kristillinen Opisto taas tänä vuonna. Koodileirin aikana oli meneillään myös nuorten pop-rock musiikki leiri ja sirkuskurssit, joten nuorta porukkaa liikkui alueella paljon. Kokit tekivät erinomaista ruokaa ja vapaa-ajan tila oli loistavasti järjestetty.  Tänä vuonna Opisto oli järjestänyt vapaa-ajan tilan Kirjaastoonsa, ja se oli lasten suosikkipaikka. Tilasta löytyi mm. biljardi, piano, jalkispeli ja pleikka – unohtamatta loistavia löhösohvia! 

   

Leiriläiset olivat  iältään 10-13 vuotiaita. Leirillä koodattiin tietokoneella ja ilman. Lisäksi ulkoiltiin Parkour-alueella ja oleskeltiin Opiston pihapiirissä. Osa oli koodaillut aiemminkin jotain, mutta osa ei ollut koodannut mitään.  Intoa tehtäviin tuntui  riittävän. Leiri oli kaksipäiväinen (2x6h) – silti ryhmäytyminen tapahtui nopeasti jo ekan päivän aikana. Kavereita löytyi kaikillle!



Leirin ohjelma sisälsi ekana päivänä ohjelmoinnin alkeita ja visuaalista ohjelmointia. Toisena päivänä päästiin kokeilemaan Javascriptin kirjoittamista Codecombat- tehtävässä, ja koodaamaan omaa älypuhelinta MIT app inventorilla. Suosikki tehtävä oli juurikin Codecombat, josta yksi leiriläinen (jolla oli jo koodauskokemusta aiemmin) totesi: ”Nyt tajusin millaista tää koodaus oikeasti on!”
Codecombathan on hyvin pelillinen ympäristö, joka sisältää ilmaisversiossakin parikymmentä eri tasoa, joissa koodataan kirjoittamalla javascriptiä ja edetään vaikeustasolta toiselle. Käyttäjä oppii ohjelmoinnin perusrakenteita: lause, ehtolause, silmukka, muuttuja, funktio. Oli uskomatonta seurata, miten leiriläiset etenenivät tehtävissä ja oppivat kirjoittamaan koodilla aika vaativiakin tehtäviä. Ja se yhteistyö leiriläisten kesken – IHANAA – kaveria neuvottiin tehtävissä eteenpäin ihan oma-aloitteisesti!

  

Koodiopena tämä Opiston leiri on minulle vuoden kohokohtia (jo kolmas vuosi), koska joka vuosi saa oppia lasten koodamisesta jotain uutta ja nähdä lasten innon. Tänä vuonna parasta oli nähdä miten helposti lapset oppivat myös koodin kirjoittamisen, kun ympäristö on hyvä.  Aiemmin leireilläni oli pääasiassa koodattu visuaalisissa ympäristöissä. Tämän kesän kokemuksen mukaan Codecombat on innostava, ja tulen käyttämään sitä toistekin! Muistanhan omasta nuoruudestani 1990-luvulla, kun silmukan koodaamista opettelin… kyllä se oli paljon haastavampaa ymmärtää silloisilla ohjelmointityökaluilla, kuin mitä nykypäivän työkalut tarjoavat!

HYVÄÄ KESÄN JATKOA SINULLE LUKIJANI.
Nyt vähän huilataan, että jaksetaan koodata syksyllä 🙂