Avainsana: mitä koodaus on

Yritetäänkö ohjelmointia opettaa alakoulussa liian vaikeasti ?

Artikkelin kirjoittaja on opetellut ohjelmointia yli 20 vuotta, ja haasteet ohjelmoinnin parissa kiinnostavat edelleen.

Vastaani tuli netissä tämä sivusto MAOL-ohjelmointimateriaali, jota tuottaa Koodaus- ja ohjelmointi matematiikan opetuksessa- hanke 2016-2017 

Mietin yritetäänkö hankkeen määrittämissä tehtävissä lähteä liikkeelle liian vaikeista asioista? Opettamaan liian pienille erilaisten ohjelmointityökalujen käyttöä?
Koska eihän OPS2016 tavoite ole tehdä kaikista koodareita, jotka osaisivat ohjelmia kirjoittaa. Vaan lasten tulisi ymmärtää mihin koodausta tarvitaan ja mihin sillä voi vaikuttaa.

Taustalla kritiikissäni on osallistumiseni Rauskin koodikoulu- hankkeeseen 2015-2016, jossa opetettiin lapsille koodauksen alkeita ja kehitettiin materiaalia koodauksen opettamiseen.  Tässä hankkeessa  kokeiltiin, millä tavalla lapset saataisiin innostumaan ohjelmoinnista. Ei sitä, että miten koodaus liitettäisin matematiikan opetukseen.  Hankkeen jälkeen tehtiin kysely koodikouluun osallistuneille oppilaille (=130 oppilasta 1.-6. luokilta). Kyselyn tuloksista ilmeni, että yli 90% osallistuneista oli innokkaita jatkamaan ohjelmoinnin opiskelua samaan tyyliin.

On rajallinen määrä  minkä verran oppitunteja voi kuullakin vuosiluokalla ohjelmointiin käyttää. MAOL-ohjelmointimateriaali lähtee liikkeelle suoraan Sratch- ohjelmoinnista.  Onko se hyvä, mielestäni ei. Miksi?

Mielestäni ja omasta kokemuksesta lähtien ei eka-tokaluokkalainen vielä voi ymmärtää yhteyttä siihen, että oppimalla ”pelaamaan” scratchJr- ohjelmalla olisi jotain tekemistä tietokoneen käyttäytymisen kanssa, puhumattakaan siitä, että hän ymmärtäisi mihin ohjelmoinnin perusrakenteita tarvitaan ohjelmoitaessa (=näitähän scratch opettaa). Helpomminkin päästää alkuun ohjelmoinnin alkeiden opettelussa ja vieläpä ilman tietokoneita. Jos halutaan, että mielenkiinto koodaukseen säilyy yläkouluun asti, niin kannattaa muistaa OHJELMOINTI <> SCRATCH, ja käyttää alimmilla luokilla koodauksen tunteja muunlaiseenkin, kuin Scratch tekemiseen.

Seuraavassa on esimerkkejä miten päästäisiin ilman tietokoneita alkuun. Nämä perusasiat tulisi käydä kaikkien ohjelmointia aloittavien lasten läpi:

1.Oppitunti – Mitä ohjelmointi on?
Tietokone on tyhmä. Se tarvii ohjelmoimalla tehdyn ohjelman osatakseen toimia.
Kauko-ohjattavan lelun avulla havainnollistetaan mitä ohjelmointi on = Käskyjen antamista tietokoneella. Tunnilla ei tarvita tietokonetta.

2.Oppitunti – Opetellaan käskyjen antamista
Koska ohjelmointi on käskyjen antamista tietokoneelle, niin nyt ohjataan ihmisrobottia käskyillä. Opitaan muodostamaan ohjelmia eli tekemään käskyjonoja. Ei tarvita tietokoneita.

3.Oppitunti – Ongelman ratkaisu ja käskyjonot
Lautapelin esim. Robogem avulla muodostetaan käskyjonoja ja ratkotaan ongelmia. Opitaan ohjelmoinnin sanostoa. Ei tarvita tietokoneita.

4.Oppitunti – Mikä on algoritmi
Tutustutaan käsitteeseen algoritmi yksinkertaisten tietokoneettomien tehtävien avulla. Koodaus tarkoittaa algoritmien tekemistä. Ei tarvita tietokoneita.

5.Oppitunti – Robotit ohjelmoinnin opetuksessa
Robotteja voi käyttää apuna havainnollistamassa sitä, mitä ohjelmointi on.
Löytyy yksinkertaisia robotteja, joiden ohjelmointiin ei tarvita vielä tietokoneita.

OPS2016 tavoitteett 1.-6. luokille tästä, ja vinkkejä tehtäviin.

OPINAIKA- oppimisympäristöön on tulossa koodauksen opettamiseen materiaalia, jolla voi aloittaa alkeista ilman tietokonetta. Eli alkuun pääsee myös sellaiset koulut, joissa laitepula esteenä ohjelmoinnin opettelulle.