Ohjelmoinnillisen ajattelun tavoite ja ydinperiaatteet
Peruskoulun näkökulmasta on tärkeää määrittää, millaisia konkreettisia oppisisältöjä, tietoja ja taitoja oppilaat ohjataan yllä olevan kaltaisen tavoitteen mukaisesti oppimaan. Määrittely on kuitenkin vaikeaa, sillä aihepiiri on uusi ja tutkimusta on vasta aloitettu.
Suomalaisessa peruskoulujärjestelmässä olevat varsin koodauskeskeiset ohjelmoinnin sisällöt ja tavoitteet sekä niitä koskevan arvioinnin perusteet voi lukea esimerkiksi Koodiaapisen verkkosivuilta. Viime aikaisten tutkimusten mukaan muissa maissa on päädytty myös toisenlaisiin OPS-teksteihin, joihin sisältyy muun muassa koodaamisen, tietojenkäsittelyn tai ylipäänsä TVT-taitojen opetuksen kuvauksia. "Ohjelmoinnillista ajattelua" sinällään mainitaan eri maiden opetussuunnitelmissa kuitenkin hyvin harvakseltaan.
Koodausta laaja-alaisemmin ajateltuna ohjelmoinnillisen ajattelun oppimisessa voidaan pitää oleellisina alla olevassa taulukossa olevien kaltaisten ylätason avainkäsitteiden ja niihin liittyvien ydinperiaatteiden oppimista (Fagerlund ym., 2020). Koska aihepiiri on hyvin vakiintumaton, käsitteistä ja periaatteista jotkut voidaan nähdä joko enemmän tai vähemmän keskeisinä tai toissijaisina.
Suomalaisessa peruskoulujärjestelmässä olevat varsin koodauskeskeiset ohjelmoinnin sisällöt ja tavoitteet sekä niitä koskevan arvioinnin perusteet voi lukea esimerkiksi Koodiaapisen verkkosivuilta. Viime aikaisten tutkimusten mukaan muissa maissa on päädytty myös toisenlaisiin OPS-teksteihin, joihin sisältyy muun muassa koodaamisen, tietojenkäsittelyn tai ylipäänsä TVT-taitojen opetuksen kuvauksia. "Ohjelmoinnillista ajattelua" sinällään mainitaan eri maiden opetussuunnitelmissa kuitenkin hyvin harvakseltaan.
Koodausta laaja-alaisemmin ajateltuna ohjelmoinnillisen ajattelun oppimisessa voidaan pitää oleellisina alla olevassa taulukossa olevien kaltaisten ylätason avainkäsitteiden ja niihin liittyvien ydinperiaatteiden oppimista (Fagerlund ym., 2020). Koska aihepiiri on hyvin vakiintumaton, käsitteistä ja periaatteista jotkut voidaan nähdä joko enemmän tai vähemmän keskeisinä tai toissijaisina.
Ohjelmoinnillisen ajattelun avainkäsite |
Ydinperiaatteiden kuvaus
|
Abstrahointi |
|
Algoritmit |
|
Automatisointi |
|
Data |
|
Iterointi |
|
Kaavat ja yleistäminen |
|
Koordinointi ja samanaikaisuus |
|
Kyseenalaistaminen
|
|
Logiikka |
|
Luovuus |
|
Mallintaminen ja suunnittelu |
|
Ongelmien purkaminen osiin |
|
Tehokkuus |
|
Testaaminen ja virheidenkorjaus (debuggaus) |
|
Yhteistoiminta |
|
Huom. yllä olevia ei tule tulkita erillisinä "nippelitietoina", vaan ne liittyvät merkityksellisesti toisiinsa merkityksellisissä tutkivan oppimisen ja ongelmanratkaisun tilanteissa, joissa käsitellään oikean elämän sosiaaliseen ja yhteiskunnalliseen kontekstiin liittyviä autenttisia ilmiöitä!