Peruskoulussa opetetaan ohjelmointia, ja yksi tärkeä tavoite on oivaltaa mihin kaikkeen ohjelmoinnilla käytännössä voi vaikuttaa. Ohjelmointiharjoituksiin voi ottaa esimerkkejä vaikka lähiympäristöstämme.
Mediakerholaiseni ovat 9-12 vuotiaita. He ovat opiskelleet jonkin verran koodauksen alkeita. Tänään kokeilin teettää heillä harjoituksen, jossa suunnitellaan millainen voisi olla liikennevalojen ohjelmakoodi. Koulumme lähellä kulkee rautatie, jossa on vartioitu tasoristeys (=liikennevalot, puomi, äänimerkki). Ohjelmakoodin tulee sytyttää punainen valo palamaan, laskea puomi alas ja päästä äänimerkkiä junan lähestyessä. Kun juna mennyt ohi, niin ohjelmakoodin tulee nostaa puomi ja sytyttää oranssi valo palamaan.
Kolmasluokkalainen Aleksi oli se, joka ensimmäisenä keksi, että tarvitaan kosketusanturi tunnistamaan junan saapuminen. Että arvaa kuinka vanhan koodarin sydäntä lämmitti, kun näki idealampun syttyvän usean kerholaisen silmissä koodia porukalla suunnitellessa !!
Tässä koodaustehtävä:
Junanradan ylitys, jossa on liikennevalo ja puomi. Kirjoita ohjelmakoodi, joka sytyttää punaisen valo palamaan junan saapuessa, sekä laskee puomin, ja päästää äänimerkkiä.Seuraavia kysymyksiä voidaan yhdessä pohtia:
- Mikä on liikennevalojen tehtävä tässä tapauksessa ?
- Miten tämä liikennevalo voisi toimia?
- Montako valoa tarvitaan?
- MItä muuta tietoa tarvitaan?
Tehtävän ratkaisussa piirretään paperille kuva junaradan ylittävästä tiestä, junaradasta, liikennevaloista yms. tarpeellisesta. Piirretään kosketusanturit ja saapuva juna/auto kuvaan. Ja kirjoitetaan yhdessä liikennevaloille koodi käyttäen koodauksen kolmea perusrakennetta: lause, silmukka ja ehtolause.
Tässä esimerkki tehtävän mukaisesta ohjelmakoodista:
Koodissa ei voi käyttää junan aikataulua apuna. Miksi ei?
Koska lapsikin sen tietää, ettei VR:n junat kulje aikataulujen mukaan 🙂
Käynnistä = 1;
Toista kunnes Käynnistä = 0
{
Näytä oranssi valo;
Jos juna koskee anturiin 1 tai 2, niin
{
Näytä punainen valo;
Laske puomi;
Anna äänimerkkiä;
Odota kunnes juna koskee anturiin 1 tai 2;
Nosta puomi;
Lopeta äänimerkin anto;
}
}
Code.org ympäristössä kerholaiset ovat oppineet käyttämään lausetta, ehtolausetta ja silmukkaa. Ja helposti ne saatiin ujutettua tähän ohjelmaan mukaan.
Testaamaanhan ei koodia käytännössä päästy, mutta uskotaan sen toimivan!