Koodarin ajatuksia ohjelmoinnin opettamiseen peruskoulussa

Olen seurannut peruskoulun ohjelmoinnin opetuksen kehittymistä Suomessa vuodesta 2014, ja samalla olen työskennellyt koodarina omassa Dataseppä- yrityksessäni. Harrastukseksena olen pitänyt koodikoulua, koodikerhoja ja leirejä peruskoululaisille.

Julkisesti näkyvillä netissä ja somessa on ollut toimijoiden Koodikerho.fi, Kodarien ja Suomen koodikoulun kehittyminen. Datasepän koodikoulu pääsee myös hyville sijoille, kun kysytään Googlelta: ”mitä on koodaus”. Nämä toimijat lähtevät liikkeelle siitä, että koodauksen opettelu on kivaa ja sitä voi oppia helposti kuka tahansa.

Mutta mitä tehdään peruskouluissa. OPS2016 määrittelee tavoitteet ohjelmoinnin opetukselle. Ohjelmointia opetetaan ainakin osana matematiikkaa. Sitä emme vielä oikein tiedä, miten nämä tavoitteet ovat toteutuneet ja toteutuvat. Keskustelua julkisuudessa on, että kaikissa kouluissa ei ohjelmointia vielä ole aloitettu. Koodarin näkökulmasta katsottuna Suomesta puuttuu yhteinen linja, miten tietotekniikan ja ohjelmoinnin opettamista pitäisi viedä eteenpäin peruskouluissa. Eivät opettajat yksin pysty hoitamaan tätä tietotekniikka-ohjelmointi casea, elleivät saa apuja yritysmaailmasta.

Hyvä koodari ei koodaa kaikkea alusta alkaen itse. Miksi emme siis ottaisi tässä tietotekniikka-ohjelmointi case:ssa mallit muualta maailmasta. Hyvä esimerkki on code.org yhteisö, jossa on mukana opetushenkilöstöä ja ohjelmistoalan asiantuntijoita. He ovatkin jo kehittäneet ja koekäyttäneet mm. Yhdysvalloissa omaa oppimisympäristöään. Tämä kyseinen ympäristö näyttää myös koodarin silmään siltä, että juuri näin minä haluaisin tietotekniikkaa ja ohjelmointia opetettavan myös Suomessa.

Ohjelmoinnin ja tietotekniikan perusteita alakoulussa (CS fundamentals):

Tietekniikan perusperiaatteita yläkoulussa (CS Principles) :

Tutkimusmatka tietotekniikkaan ja ohjelmointiin (CS Discoveries):

  1. ongelman ratkaisu (ilman tietokonetta)
  2. nettisovellusten kehitys
  3. animaatioiden ja pelien kehitys
  4. suunnittelu prosessi
  5. tiedon hallinta ja yhteisölllisyys
  6. laitteiden ohjelmointi

Nyt 2017, kun ohjelmointi OPS:n mukaan alkoi myös yläkoulussa, niin toivoisin siellä olevan mukana paljon elementtejä tästä CS discoveries- osiosta. Yllättäen ei ensimmäisenä listalla ole robotiikka, vaikka se kyllä mukana listassa onkin. Vaan liikkeelle lähdetään nettisovelluksista, animaatiosa ja peleistä. Tämä lienee hyvä järjestys, kun ajatellaan mitä nykynuoriso päivittäin tekee ja mikä heitä kiinnostaa!!

Tämän aiheen otin blogissani siksi esille, että itseäni on häirinnyt ajatus siitä, miten robotiikka tulee niin helposti esiin ohjelmoinnista puhuttaessa. Ohjelmointi ja tietotekniikka ei ole kuitenkaan pelkkää laitteiden ohjelmoimista. Ja samalla linjalla näyttävät olevan myös code.org yhteisön asiantuntijat.

Open ohjelmointi – Ilmaista koulutusta koodaukseen

Nyt näyttäisi olevan tarjolla ilmaista koulutusta koodaukseen opettajille, ja hyvä näin:
http://www.metropolia.fi/koulutukset/taydennyskoulutus/opetustoimi/open-ohjelmointi/

Tässä on valittu alakouluun Scratch- ohjelmointiympäristö ja yläkouluun Python. Ne ovat loistavia työkaluja sellaisille oppilaille ja opettajille, joita ohjelmointi todella kiinnostaa. Nämä molemmat ympäristöt kuitenkin edellyttävät, että opettaja myös itse perehtyy ohjelmointiin sillä tasolla, että osaa ym. ohjelmointiympäristöissä tehdä ohjelmia ja tehtäviä. Kurssin aikana tehdään paljon valmista materiaalia, mitä voi sitten tunneilla käyttää.  Loistavaa, että tällaisia kursseja järjestetään!!

Koodauksen opiskelu voi jollekulle kuitenkin olla haaste 🙂

Jos olet alakoulun ope, etkä ole innokas opiskelemaan koodausta, niin mielestäni voit silti pystyä opettamaan sitä. Ehkä et myöskään halua käyttää koodauksen oppituntien valmisteluun liikaa aikaa. Tällöin on vain otettava eri ympäristöt käyttöön, kuin Scratch tai Python.

Olen kokeillut alakoulussa code.org (=ilmainen) ja bomberbot- työkaluja (=lisenssi 1e/vuosi/oppilas):

  • Code.org on monipuolinen ja sisältää paljon myös tietokoneettomia tehtäviä. Tehtävät ovat itseohjautuvia, joten ohjelmointi ei tarvitse alussa olla opettajallekaan tuttua (sitä voi oppia samalla, kun oppilaatkin). Huono puoli on, ettei kaikkia mahdollisia tehtäviä ole välttämättä käännetty suomen kielelle.
  • Bomberbot on suomenkielinen ja sisältää myös tietokoneettomia tehtäviä. Hyvää on selkeät tuntisuunnitelmat ja arviot kunkin tehtävän kestolle. Opettajalle ja oppilaille on valmiit materiaalit kullekin oppitunnille ja ne ovat selkeitä.  Huonona puolena on maksullisuus, mutta sitä voi miettiä onko 1e/oppilas/vuosi paljon, jos itse säästää omaa aikaa tuntien valmistelusta.