Page 40 - Oppimisymparistojulkaisu III
P. 40

38 Oppimis- ja toimintaympäristöjen kehittäminen III

Ohjelmoinnillisen ajattelun oppimista laaja-alaisesti

Kuten Uusissa lukutaidoissa ja eNorssin ohjelmointipolussa kuvataan, ohjelmointiosaami-
nen ja ohjelmoinnillinen ajattelu ovat monipuolisia tieto- ja taitokokonaisuuksia. Esimerk-
keinä ohjelmointiosaamisen erilaisista opittavista taitoalueista ovat esimerkiksi oman
ohjelmointityön eli ohjelmoitavaksi aiotun ratkaisun suunnittelu ja mallintaminen, joita
voidaan tukea luontaisesti esimerkiksi hyödyntämällä animaation taustalle kirjoitettua vuo-
ropuhelua (ks. projekti 1) tai juonikaaviota (ks. projekti 2), antaen algoritmisen rakenteen
myöhemmin ohjelmoitavalle varsinaiselle työlle. Itse ohjelmoinnissa ohjelmointikielellä
hankitaan puolestaan aktiivisen itse tekemisen kautta perusymmärrystä sääntöpohjaises-
ta ohjelmoinnista eli vaiheittaisten käskysarjojen eli algoritmien ohjelmoimisesta erilaisilla
koodirakenteilla sekä ohjelmointiin kuuluvista perustoimenpiteistä, kuten “debuggaami-
sesta” eli ohjelmointivirheiden korjaamisesta. Oppimisen kontekstina oleva monialainen
autenttinen projekti (esim. peli, keksintö tai animaatio) motivoi oppimaan ja ylläpitää si-
toutumista oppimiseen. Ohjelmoidessa voidaan lisäksi oppia erilaisia yksityiskohtaisempia
ohjelmoinnillisen ongelmanratkaisun perusperiaatteita, kuten esimerkiksi algoritmisten
prosessien koordinointia esimerkiksi synkronoimalla rinnakkaisia käskysarjoja kahden Sc-
ratchJr-hahmon vuoropuhelua animoidessa. (Fagerlund 2021.)

On kuitenkin tärkeä huomata, kuten tässä artikkelissa kuvatuista esimerkeistä voi havai-
ta, että ohjelmointiosaamisen ja ohjelmoinnillisen ajattelun oppimisen ei tarvitse käytän-
nössä olla erityisen järjestelmällistä tai etukäteen harkittua ohjelmoinnin oppisisältöjen
omaksumista. Ohjelmoinnin oppimisen ydinajatuksena on ennen kaikkea tutustuminen
sekä ohjelmoituun ympäristöön että ohjelmoinnin luovaan ja yhteistoiminnalliseen te-
kemiseen erilaisten leikinomaisten harjoitusten ja motivoivien ohjelmointitöiden, kuten
animaatioiden, tarinoiden, pelien ja omien luovien keksintöjen kautta (Fagerlund 2021).
Ohjelmoinnin oppimisen taustalle usein sijoitetun konstruktionistisen oppimiskäsityksen
(ks. esim. Brennan & Resnick 2012) mukaan ohjelmointiin ja ohjelmoinnilliseen ajatteluun
kuuluvia tietoja ja taitoja voidaankin harjoitella erilaisin tavoin ja välinein ohjelmoidessa
ennen kaikkea vähitellen yhdessä oivaltamalla ja uusia asioita “tarpeen tullen” löytäen.

Vaikka ohjelmointiosaaminen voidaan nähdä tärkeänä oppimisen kohteena jo itsessään,
ohjelmointi voidaan myös ymmärtää ennen kaikkea myös tehokkaana työtapana muus-
sa oppimisessa, eli käytännössä mahdollisuutena käsitellä ja harjoitella eri oppiaineiden
sisältöjä ja laaja-alaista osaamista. Klassisena esimerkkinä ohjelmoinnista suoraan osana
muiden oppiaineiden sisältöihin tutustumista onkin tässä artikkelissa erityisesti projektis-
sa 3 kuvattu käskysarjojen laatiminen geometristen kuvioiden luomisessa, jota käytettiin
esimerkkinä konstruktionistisesta oppimisesta jo 1980-luvulla (Papert 1980). Ohjelmoin-
nin oppimisen työvälineet, kuten ohjelmoitavat laitteet ja ohjelmointikielet, ovat toki sit-
temmin kehittyneet samoin kuin ymmärrys ohjelmoinnin pedagogisista mahdollisuuksista
(esim. oppiaineintegroinnissa). Muita monenlaisia esimerkkejä on esimerkiksi arkisten toi-
mien, kuten tanssiliikesarjojen esittäminen algoritmisina kokonaisuuksina, kuin myös ai-
emmassa julkaisussamme (ks. Fagerlund & Roos 2020) kuvatut esimerkit alkuopetuksessa.
   35   36   37   38   39   40   41   42   43   44   45