Koodaamalla matikkaa

 

Miksi innostuisin koodauksesta?

 

Monet tuntemani matematiikan opettajat ovat olleet hämmentyneitä, kun ohjelmointi, tai tutummin koodaus on tullut peruskoulun opetussuunnitelmaan. Huoli on ymmärrettävää, sillä ohjelmointi ei ole ehkä kuulunut opintoihin millään lailla, eikä työnhakutilanteissa ole puhuttu koodauksesta mitään.

Maailma siis muuttuu, ja samanlainen muutos ja elinikäisen uuden oppimisen tarve tulee varmasti olemaan tulevaisuudessa yhä suurempi. Mutta on täysin ymmärrettävää, että joitakin jatkuva muutos ja uuden oppimisen paine ahdistaa.

Entisenä aineenopettajana olen viimeiset kuusi vuotta toiminut yksinomaan luokanopettajana, mutta haluaisin silti rohkaista ja kannustaa kaikkia sietämään tätä epämukavuutta ja katsomaan sen yli! Lupaan, että innostuttuasi ja kokeiltuasi koodausta huomaat, ettei sitä kannata pelätä. Pohditaan siis, mitä kaikkea hyvää uusi opetussuunnitelma ja koodaus voikaan tuoda oppijalle, jolla tällä hetkellä on ehkä se kaikkein rankin “evvk”-vaihe menossa.

 

Ilo!

 

Koodaaminen voi olla juttu, jolla saat innostuksen kiillon syttymään nuoren silmiin. Koodaus on nimittäin  osa lasten ja nuorten arkea, koodaamalla he saavat ratkaistua ongelmia, joihin he törmäävät pelatessaan ja somessa. Oppilaita ei tarvitse kahdesti käskeä koodaamaan. Ohjelmistokehittäjät ja laitevalmistajat ovat kehittäneet koukuttavia  pelillistettyjä koodausympäristöjä, joissa oppilas saa palautetta ja pisteitä onnistumisistaan ja pääsee etenemään tasolta toiselle, Koodaushaasteita ratkoessaan he tulevat tarvinneeksi uskomattoman paljon matemaattisia tietoja huomaamattaan.  Jos koodaustunnin alkutehtäviä tehdessään oppilaat käyvät pyytämässä astelevyjä ja mittaavat kulmien suuruuksia, vaikka heille ei itse kulman käsitettä oltaisi opetettukaan. Opettajalle tuottaa  iloa katsella, kun oppilaat vapaaehtoisesti laskevat päässään monikulmioiden kulmia ja päättelevät, minkä kokoinen täytyy käännöksen olla säännöllisessä viisikulmiossa tai tähdessä, jos se neliössä on 90 astetta. Yllätyn, kuinka haastavia laskutehtäviä ja loogisia päättelyitä joutuu ratkomaan jo yksinkertaisen näköisissä  koodaustehtävissä.

 

 

Ajattelu ja oppimaan oppiminen

 

Uuden opetussuunnitelman laaja-alaisen osaamisen tavoitteissa ensimmäisenä mainitaan ajattelu ja oppimaan oppiminen. Koodaushan on parhaimmillaan tekemällä oppimista, koodaamaan oppii vain koodaamalla. Vähitellen pelillisten ohjelmointiympäristöjen valmiista reiteistä siirrytään kohti haastavampia ja luovempia ongelmia, kunnes voidaan puhua design-oppimisesta, uusien ratkaisumallien ja omien ohjelmaideoiden  ja pelien keksimisestä opittujen tietojen pohjalta. Tällainen luova koodaus on Bloomin oppimisen taksonomian ylimmällä tasolla.

 

Ongelman hajottaminen osiin, testaus, palaute ja arviointi

 

Koodauksen olennainen osa on testaus. Oppilas keksii ratkaisun, kokeilee sitä ja sen jälkeen parantelee koodiaan. Tällainen työtapa pakottaa oppijan arvioimaan omaa osaamistaan ja yrittämään vaihtoehtoisia reittejä ja ajattelutapoja. “Computational thinking” eli  vapaasti suomennettuna “ohjelmoinnillinen ajattelu” ja “matemaattinen ajattelu” ovatkin joissain kohden hyvin lähellä toisiaan ja näin ollen niistä on varmasti positiivista siirtovaikutusta toisilleen. Ohjelmoinnissa, kuten matemaattisessa ongelmanratkaisussakin  ongelma on syytä jakaa osiin ja ratkoa pala kerrallaan. Omia ratkaisuja on syytä testata ja tarkastaa ja kummassakin pyritään mahdollisimman yksinkertaiseen ja taloudelliseen ratkaisuun. Ohjelmointi ja koodaus tarjoaa hyvän ympäristön kehittää omaa matemaattista ajatteluaan. Seymort Papert kuvasi aikoinaan asiaa hienosti “Mielen hiekkalaatikolla.” Eräs matematiikassa hyvin paljon tukea tarvitseva oppilas tuli koodaustunnin tehtäviä tehdessään turhautuneena luokseni, vaikka oli saanut koodaustehtävän tehtyä. Ohjelma antoi palautteen jotenkin tähän tapaan: “Hienoa! Olet ratkaissut koodaustehtävän kirjoittamalla 11 riviä koodia. Saman tehtävän saisi ratkaistua vain viidellä rivillä. Haluatko jatkaa eteenpäin vai yrittää uudestaan?” Oppilas halusi ehdottomasti tietää, miten koodin muka voisi tehdä viidellä rivillä, ennen kuin meni eteenpäin. Valmiiksi motivoituneelle oppilaalle ei tarvitse paljoa vinkata toistolauseesta, kun oivallus tulee kuin itsestään. Moni hoksaa oikean ratkaisun jo siinä vaiheessa, kun kertoo ongelmansa ääneen.

Parasta opettajalle näissä pelillistetyissä, valmiissa koodauksen opetteluympäristöissä on se, että monissa niissä on sisään rakennettu palautteen antojärjestelmä, eikä eteenpäin pääse, ellei asiaa ole opittu. Jos koodaustuntiin kirjautuu opettajana ja luo luokan, pystyy seuraamaan oppilaiden etenemistä.

 

Koulutuksen tasa-arvo

 

Osaavista koodareista on pulaa, vuoden alkaessa oli maassamme kuulemma 7000 avointa ohjelmointiosaamista vaativaa työpaikkaa. Joustaville ohjelmointitaidoille tulee varmasti löytymään aina työtehtäviä. Moni huippukoodari kertoo aloittaneensa koodauksen jo lapsena lähellä olevien aikuisten innoittamana, ja harrastus on vienyt mennessään ja tuonut lopulta ammatin. Suomalaisen koulutuksen perusarvona on koulutuksen tasa-arvo, ja siksi mahdollisuus tutustua ja innostua tällaiseen tärkeään tulevaisuuden taitoon on annettava kaikille. Moni kokee, että koodaus on tullut kouluihin vain vastaamaan yhteiskunnan osaamistarpeisiin. Sitä seikkaa ei ole syytä väheksyä, mutta sitä enemmän koodaus on tärkeää on niille yksittäisille oppijoille, jotka pääsevät löytämään sisäisen koodarinsa jo koulussa.

 

Yhteistoiminnallisuus, vertaisoppiminen, pitkäjänteisyys

 

Kaikkein eniten koodauksessa, kuten monessa muussakin tieto- ja viestintätekniikkaa käyttävässä koulutehtävissä on sen luontainen sosiaalinen ja vuorovaikutuksellinen työtapa. Siksi ensimmäiset peruskäsitteet, kuten lauseet, muuttujat, toistolauseet ja ehdolliset lauseet opetellaan joko  yksin, pareittain tai  ryhmissä koodaten.  Oppilaat kyselevät toisiltaan, pyytävät aikaansaannoksistaan palautetta toisiltaan ja ratkaisevat ongelmia yhdessä. Tällainen yhteistoiminnallinen ongelmanratkaisu johtaa usein yhteiseen iloon ja opitun asian analysointiin, kun prosessia kuvataan muille. “Ensin mä vaan tein tämän ja sitten Pete hoksas, että se vaatii vielä tuohon tuommoisen ja Lissu keksi vielä tähän tällaisen lisäjutun ja yhdessä me sitten laitettiin se toimimaan näin.” Parhaimmillaan  koodausympäristöt haastavat pitkäjänteiseen, yhteistoiminnalliseen ja jopa luovaan  ongelmanratkaisuun, oman osaamisen rajojen ylittämiseen, yksilölliseen oppimispolkuun ja ihan uudenlaisen oppimismotivaation löytymiseen.

 

Kansainvälisyys

 

Hauska kokemus oli viime joulukuulta. kun kouluumme tuli kahdeksan kiinalaista oppilasta mukanaan muuan opettaja, koulun johtaja, avustaja ja tulkki. Tehtäväkseni tuli koodata oppilaiden kanssa sillä aikaa, kun aikuiset kävivät läpi maiden koulujärjestelmiin liittyviä asioita. En ollut varautunut siihen, että  vain yksi lapsista osasi hieman englantia. Elekielellä näytimme kollegan kanssa, miten  bee-bot ja pro-bot roboteilla koodataan, ja  pian kaikki olivat lattialla kilvan ratkomassa lattiaan teipattujen reittien koodausalgoritmeja. Puheensorina, vuorovaikutus ja ongelmien ratkomisen synnyttämät ilonpurkaukset ovat kansainvälistä kieltä, johon ei tulkkia tarvittu.

 

Opettajien osaaminen ja koulutus

 

Koulutuksen järjestäjän on kuitenkin syytä suhtautua opettajien huoliin vakavasti.  Kaikilla ei ole ollut mahdollisuutta osallistua koulutuksiin. On paljon kysymyksiä: “Millä ajalla? Miten? Millä laitteilla? Mitä hyötyä? Eihän kaikista kuitenkaan tule koodareita? Ja miten arvioin? Mitä, jos oppilaat kysyvät jotain, johon en osaa vastata? Mitä, jos yläkouluun tulee jo alakoulussa Pythonia opiskelleita, mitäs sitten tehdään?

Rohkeimmat opettajat ovat lähteneet opiskelemaan koodausta rintarinnan oppilaiden kanssa esimerkiksi koodiaapisen kirjastosta tehtäviä tekemällä. Koodaustuntiin kannattaa luoda luokka ja laittaa oppilaat kirjautumaan sisään, sillä se ympäristö tarjoaa yksilöllisiä oppimispolkuja ja ongelmanratkaisutehtäviä varsin pitkälle, ja opettaja pääsee näkemään oppilaiden edistymisen. Yhteistyössä koulun muiden opettajien kanssa kannattaa pohtia, voitaisiinko vertaisopetuksen avulla saada osaamista jaettua tai järjestää monialaisiin oppimiskokonaisuuksiin koodaus- ja robotiikkatyöpajoja. Tällöinkin kannattaa luoda useampia koodauspolkuja aloittelijoista pidemmälle edenneisiin, koska oppiminen on niin yksilöllistä, yhteen rintamaan pakottaminen voi lamauttaa innostuksen. Yhteistyöllä me saamme tämänkin haasteen käännettyä voitoksi.

 

Vuokko Kangas
Luokanlehtori, matematiikan opettaja
koodiaapisen linjanvetäjä
Oulun Normaalikoulu
vuokko.kangas@gmail.com