Usein kysytyt kysymykset (UKK) sekä Usein toistetut väärinymmärrykset (UTV) aiheesta ohjelmointi peruskoulussa. Tänne on kerätty lyhyet selitykset koodauksesta koulussa: termit, syyt, taustat, toteutustavat, missä, miten, miksi?
UKK on päivitetty 14.10.2015.
Miksi koodaus tulee kouluun?
Ohjelmointi on mainittu vuonna 2016 voimaan astuvassa perusopetuksen opetussuunnitelman perusteissa (katso OPS2016). Koodaus eli ohjelmointi on OPSissa yksi osa TVT-osaamista, ei irrallinen tavoite tai tehtävä. Koodaus on osa käytännön taitoja ja omaa tuottamista. Oppimistavoitteena on ohjelmoinnin idean ymmärtäminen, kokemusten saaminen ohjelmoinnista sekä mahdollisuuden saaminen ohjelmoinnin konkreettiseen harjoitteluun ja sitä kautta oivaltavan ilon kokemiseen.
Mitä koodaus on?
Koodaus on puhekielinen termi ohjelmoinnille, eli tietokoneiden ohjaamiselle antamalla niille käskyjä. Koska maailmalla ohjelmoinnin tuominen nuorten pariin ja kouluhin kulkee nimillä ”code” ja ”coding”, on suomeksikin alettu puhua koodaamisesta.
Ammattilaisten käyttämät termit ohjelmointi, ohjelmistokehitys, vaatimusmäärittely, suunnittelu, arkkitehtuuri, testaaminen sekä muut tavallaan kuuluvat kaikki (hyvin pienessä mittakaavassa) siihen, mitä koulussa tehdään. Koulussa oppilaat itse suunnittelevat, mitä aikovat tehdä, toteuttavat sen yksin tai yhdessä muiden kanssa, ja katsovat, toimiiko lopputulos odotetulla tavalla. Kouluissa tapahtuva koodaaminen ei kuitenkaan ole ammattiohjelmointia, vaan sen esiaste – samaan tapaan kuin alakoulun ainekirjoitukset voi nähdä kirjallisuuden tuottamisen esiasteena.
Edellyttääkö OPS koodausta?
OPS käyttää termejä ”ohjelmointi” ja ”algoritminen ajattelu”. Olemme poimineet OPSista kaikki aiheen maininnat erilliseen tiivistelmään. Mutta kyllä nämä taidot ovat OPSissa selkeänä vaatimuksena. Esimerkiksi 6. luokan matematiikan hyvä arvosana edellyttää, että oppilas kykenee tekemään yksinkertaisen ohjelman vähintään visuaalisella ohjelmointivälineellä, ellei kehittyneemmällä.
Miksi koodataan? Eikö pitäisi oppia tietotekniikan toimintaperiaatteita?
OPS nimenomaan tavoittelee algoritmisen ajattelun taitojen kehittymistä (computational thinking). Tämä tarkoittaa taitoa ymmärtää, miten tietotekniikka toimii ja miten tietokoneita voi komentaa tekemään eri asioita. Termi on suomennettu monella tavalla: algoritminen ajattelu (OPSin termi), ohjelmoinnillinen ajattelu, tietojenkäsittelytiede, automatisointiajattelu… OPSin tavoitteiden mukaisesti minimivaatimus oppilaille on, että viimeistään yläkoulussa jokainen oppilas osaa soveltaa algoritmisen ajattelun periaatteita ja osaa ohjelmoida yksinkertaisia ohjelmia (OPS 2016, 379).
OPSissa ohjelmointi ei ole se päätavoite, vaan juurikin algoritminen ajattelu. Ohjelmointi on se väline saavuttaa uusia ajattelun tapoja. Aivan kuten kirjainten piirtäminen esikoulussa ei ole itsetavoite, vaan välivaihe lukemaan ja kirjoittamaan oppimisessa.
Miksi sitten pitää koodata? Eikö asian voisi vain kertoa teoriassa?
Voisihan nämä asiat periaatteessa luennoidakin ja tenttiä. Mutta selvää on, että tällöin oppimistulokset ovat heikompia kuin jos oppilaat ovat päässeet itse kokeilemaan ja kokemaan, mitä tietotekniikan käskyttämisellä saa aikaan.
Vaikka ohjelmointiin saa kulumaan aikaa, ei sitä aikaa pidä käyttää pelkästään ohjelmoinnin opiskeluun, vaan muiden opittavien asioiden opiskeluun. Ohjelmointia voidaan käyttää työvälineenä eri oppiaineissa asian havainnollistamiseen, kokeiluun, visualisointiin ja esittämiseen. Tällöin ohjelmointi on uusi opiskelutapa, jota voi hyödyntää kun se on järkevää.
Kuka opettaa ohjelmointia koulussa?
Lähtökohtaisesti ohjelmointia ei opeteta, vaan opetetaan eri oppiaineiden sisältöjä ja taitoja ja ohjelmointia käytetään työvälineenä muiden välineiden rinnalla. Koodausta tulisi voida käyttää kaikilla oppitunneilla alakoulusta lähtien, eli päävastuu alakoulussa on luokanopettajalla. Yläkoulussa on erillinen kurssi matematiikassa ohjelmoinnin erilliseen opiskeluun, mutta sitä voi käyttää työvälineenä kaikissa oppiaineissa. Ohjelmointia on tarkoitus siis käyttää millä tahansa tunnilla, jos se on tarkoituksenmukaista. Tätä ei voi sälyttää atk-opettajan niskaan.
Miksei kouluun tule erillistä pakollista tietotekniikkakurssia?
Lienee perinteisiä poliittisia syitä sille, että tuntijakoa on vaikea muuttaa. Erillisessä tietotekniikkakurssissa voisi kenties käsitellä toimisto-ohjelmistoja, netin toimintaperiaatteita, tietoturvaa ja muuta vastaavaa. Voi kuitenkin perustellusti kyseenalaistaa, kuinka tehokasta teineille on teoriassa puhua tietoturvasta tai tehdä todellisuudesta irrallisia tekstinkäsittelyharjoituksia. Todennäköisesti parempia tuloksia saadaan, kun tietotekniikkaa opitaan kaikkien oppiaineiden tunneilla sopivasti, mielekkäiden tehtävien parissa.
Tietotekniikka ei ole erillinen kokonaisuus, vaan kietoutuu kaikkeen yhteiskuntaamme. Tästä syystä sitä tulisikin ottaa mukaan kaikissa oppiaineissa. Teollistunut ihmiskunta on jo vuosikymmenet ollut symbioottisessa suhteessa teknologiaan. Jos tietokoneet sammutettaisiin, suurin osa kaupungeissa asuvasta väestöstä kuolisi janoon ja nälkään.
Mitä koodaamalla voi tehdä koulussa?
Koodaaminen on työkalu, jota voi käyttää ongelmanratkaisussa sekä luovassa ilmaisussa. Sen rooli rinnastuu kirjoittamisen ja laskemisen taitoihin, jotka opitaan alkuopetuksessa ja joita käytetään luontevina työvälineinä ylemmillä luokilla. Koodaustaito mahdollistaa tietokoneiden hyödyntämisen opiskelun tukena.
Tarvitseeko kaikkien oppilaiden oppia ohjelmoimaan?
Opetamme oppilaille musiikkia, kirjoittamista ja liikuntaa, vaikkei valtaosasta tule muusikoita, kirjailijoita tai ammattiurheilijoita. Ohjelmointiin on suhtauduttava samalla tavalla. Se on yksi taito ja osaamisalue monien muiden joukossa. Ohjelmointi on kuitenkin läsnä useammilla ammattitoiminnan alueilla kuin useimmat muut erityistaidot, mikä puolustaa sen mukaanottoa peruskoulun opetukseen.
Kaikkien oppilaiden ei tarvitsekaan innostua ohjelmoinnista, mutta jokaiselle on tarjottava mahdollisuus nähdä ja kokea, mitä se on. Osa innostuu ja alkaa harrastaa sitä ja heistä kehittyy tulevia ohjelmoinnin ja ohjelmistokehityksen ammattilaisia.
Onko kaikilla tunneilla koodattava?
Ei kaikilla tunneilla tarvitse kirjoittaakaa tai laskeakaan. Koodausta voidaan hyödyntää kaikkien oppiaineiden tunneilla ja joka luokka-asteella, jos se on järkevää. Tälle sivustolle kerätään syksyn 2015 aikana esimerkkejä ja ideoita jokaista oppiainetta varten.
Mitä opetussuunnitelma sanoo koodaamisesta?
Koodaustaidot on mainittu laaja-alaisten osaamisten puolella sekä lisäksi erikseen käsityön ja matematiikan oppiaineissa. Luokanopettajien on siis hyödynnettävä koodausta ensimmäisestä luokasta alkaen.
Yläkoulun puolella koodaus mainitaan laaja-alaisten lisäksi erikseen käsityön ja matematiikan oppiaineissa. Matematiikassa koodausta voidaan hyödyntää matemaattisen ajattelun ja ongelmanratkaisun välineenä. Koodauksen hyödyntäminen jatkuu kuitenkin kaikissa oppiaineissa yläkoulussakin, yhtenä työskentelyvälineenä muiden joukossa.
Miksi ohjelmointi lisättiin OPSiin?
OPSin laaja-alaisen osaamisen kuvauksien työstö alkoi jo syksyllä 2012. Lähtötilanteena oli TVT-osaamisen kehittäminen. Työtä tehtiin OPH:ssa laajan työryhmän voimin ja keväällä 2013 lisäevästystä haettiin sekä alan tutkijoilta että kuntien edustajilta. Ohjelmoinnin merkitys tuli jo alkuvaiheessa mukaan pohdintaan ja se lopulta jäsentyi osaksi TVT-osaamisen ulottuvuutta, jonka nimeksi tuli ”Käytännön taidot ja oma tuottaminen”. Pidettiin tärkeänä, että oppilaat oivaltavat, että teknologia ei itsessään tee mitään, vaan vaatii aina ihmisen antamia ohjeita eli ohjelmointia. Tavoitteeksi tuli ohjelmoinnin idean ymmärtäminen, kokemusten saaminen ohjelmoinnista sekä mahdollisuuden saaminen ohjelmoinnin konkreettiseen harjoitteluun ja sitä kautta oivaltaminen ilon kokemiseen. Perusteiden valmistelussa linjana on ollut loppuun asti, että ohjelmointi on vain yksi osa TVT-osaamista, ei irrallinen tavoite tai tehtävä.
Silloinen opetusministeri Krista Kiuru ei siis ollut ohjelmoinnin OPSiin lisännyt taho (vaikka niin väittikin).
Muuta kysyttävää?
Lisää kysymyksesi kommentteihin.
Riitta Seikkula sanoo
Voiko vielä ilmoittautua. En löydä enää ilmoittautumislomaketta.
Tarmo Toikkanen sanoo
Tässä linkki MOOC-alustalle: https://eliademy.com/catalog/koodiaapinen.html
Paina siellä vihreää ”Enrol for free”-painiketta. Jos et näe tätä painiketta, mutta näet painikkeen ”Go to course”, olet mukana kurssilla.
Anita Rintala sanoo
Ohjelmointi mainitaan opsissa myös alakoulussa osana matematiikan sisältöjä jo ekalta luokalta lähtien. Mistä löydän joka luokka-asteelle määritellyt koodaustaidot? Opsin lauseet löytyvät 1-2lk ja 3-6lklle, mutta yksi lause on aika ympäripyöreä ja kaipaa avaamista.
Tarmo Toikkanen sanoo
Olemme keränneet kaikki OPSin maininnat yhteen paikkaan. Alakoulussa ohjelmointi on osa laaja-alaisia osaamistaitoja, ei minkään oppiaineen oma asia.
Kimmo Pölkki sanoo
Voiko nuorisonohjaaja liittyä kurssille?
Tarmo Toikkanen sanoo
Kyllä voi. Kurssilla on opettajien lisäksi muidenkin ammattiryhmien edustajia ja ihan yksityishenkilöitä, jotka haluavat lastensa tai lastenlastensa kanssa päästä koodaukseen kiinni. Tervetuloa taustasta ja ammatista riippumatta!
Mia Mäkelä sanoo
Hei!
Voiko verkkokurssille osallistua, jos käytössä on vain tabletti, esim. iPad?
Tarmo Toikkanen sanoo
Alkuopetuksen linjalla käytämme ScratchJr:ää, joka on nimenomaan iPad- ja Android-tableteille. Muilla linjoilla käytännössä tarvitaan jonkinlainen ”oikea” tietokone.
Tuula Lassila sanoo
Kurssi alkaa 22.2.. Tuolloin en pääse aloittamaan, hiihtoloma. Voiko aloittaa myöhemmin = viikon kuluttua?
Tarmo Toikkanen sanoo
Kyllä voit! Ensimmäiset jaksot kestävät hiihtolomakauden yli, joten sen kolmen viikon aikana ehtii jokainen kurssille mukaan ja tekemään ensimmäiset tehtävät.
Petra sanoo
Hei, ilmoittauduin nyt syksyllä alkaville koodausMOOC-kursseille, mutta aikatauluni näyttää sellaiselta etten kykene suoriutumaan hommasta. Onko keväällä tulossa uudet kurssit? Olen jäämässä töistä opintovapaalle joten aikataulu helpottaa ja voisin liittää kurssien opintopisteet opiskeluihini.
Tarmo Toikkanen sanoo
Keväällä alkaa uusi toteutus helmikuussa.
Heidi sanoo
Hei! Milloin on mahdollisesti tulossa ohjeita opintopisteiden hausta?
Tarmo Toikkanen sanoo
Valmistelemme ohjeita parhaillaan, eiköhän saada tiedoksi lähipäivinä.
Heikki Kokkonen sanoo
mielenkiintoinen
Arja sanoo
Missä tällaista koodausta on tarkoitus käyttää? Olen opetellut koodausta/ohjelmointia javalla, mutta scratchin funktiota todellisuuteen en ymmärrä. Vaikuttaa ohjelmalta, jonka käyttö pitää opetella, (vrt. esim. paint) ei ohjelmoinnilta. Minusta tämä on aivokapasiteetin tuhlausta, miksei käytetä ohjelmointikieliä?
Tero sanoo
Hei,
Lasteni koulussa koodausta on opetettu kasiluokan valinnaiskurssilla. Siellä käytettiin työvälineenä Microsoftin Kodua. Sillä saa tehtyä ihan hienoja pelejä, mutta en ole ihan varma missä mielessä siitä oppii mm. algoritmista ajattelua. Itseäni häiritsee myös jonkin verran ison amerikkalaisfirman ohjelmiston käyttö tähän tarkoitukseen – esim. Scratch olisi paljon parempi. Onko opetukseen käytettävistä ohjelmistoista olemassa joitain kansallisia suosituksia, vai onko valinnat jätetty koulujen tehtäviksi? Jälkimmäisessä tapauksessa on ymmärrettävää, että valituksi tulee ison yrityksen ”ilmainen” ohjelmisto, johon yritys tarjoaa myös mm. koulutusta. Avoimen lähdekoodin ohjelmisto tarvitsisikin enemmän kansallista tukea.
Reija Salaspuro-Selänne sanoo
Kiitos loistavasta koonnista, vien tämän koulumme opettajille tietoon