Ohjelmointi aloitetaan nykyään yhä nuorempana. Vuonna 2016 uudistuneen opetussuunnitelman mukaan jo ensimmäisillä koululuokilla aletaan harjoitella täsmällisten ohjeiden antamista, tässä vaiheessa tosin vielä vain ihmiseltä ihmiselle. Tietokoneet otetaan käyttöön kolmannelta luokalta lähtien.

Ala-asteen ajan harjoitellaan graafisissa ohjelmointiympäristöissä, ja yläasteella on tarkoitus tutustuttaa oppilaat ensimmäiseen oikeaan ohjelmointikieleen.

Eräs tunnetuimmista opetuskäyttöön kehitetyistä graafisista ohjelmointikielistä on Scratch, jolla ohjelmointi muistuttaa virtuaalisilla legoilla rakentelua. Ohjelmia luodaan erivärisiä- ja muotoisia ohjelmointipalikoita yhdistelemällä. Värit ilmaisevat palikoiden käyttötarkoituksen ja muodot sen, millä tavoin niitä on tarkoitus liittää toisiinsa.

Esimerkiksi ehtolause sopii mainiosti while-silmukkaa edustavan palasen sisään, muttei toisin päin. Aloittelevan ohjelmoijan työtä on helpotettu estämällä väärät liitokset kokonaan, jotta syntaksivirheitä ei syntyisi. Palikoita siirrellään vedä-ja-pudota -menetelmällä.

Selkeä ja suomenkielinen. Scratchin perusnäkymä koostuu näyttämöstä, hahmo- ja komentolistoista sekä koodialueesta.

Scratchissa ohjelman keskiössä ovat olio-ohjelmoinnin periaatteiden mukaisesti itsenäiset hahmot. Ohjelmointipalikoiden avulla niitä voidaan käskeä esimerkiksi liikkumaan, muuttamaan ulkomuotoaan tai tuottamaan ääntä.

Näillä pääsee jo alkuun yksinkertaisten animaatioiden ja pelien luomisessa. Lisäksi omat palikkavärit löytyvät muun muassa silmukoille, ehtorakenteille, loogisille operaatioille sekä käyttäjän itse luomille listoille ja muuttujille, jotka ovat välttämättömiä hahmojen välisen vuorovaikutuksen ja monimutkaisempien ohjelmien luomisessa.

Scratchilla leikkiminen on palkitsevaa alusta asti ilman aiempaa ohjelmointikokemustakin, sillä jo muutamalla koodipalikalla hahmon saa liikkumaan tai vaikkapa tervehtimään käyttäjää.

Lue lisää ohjelmointiympäristöistä:

Ohjelmaa voi testata jatkuvasti rakentelun ohessa. Apua ja mallia voi toki etsiä opetusvideoista sekä muiden käyttäjien tekeleistä, mutta perusideana on päästää luovuus valloilleen ja koodata mitä mieleen juolahtaa.

Helposti alkuun. Scratchin esimerkkiohjelmien avulla aloittelijan on helppo tutustua sovelluksen toimintaan.

Tämä ei ole kuitenkaan ainoa tapa oppia ohjelmoinnin perusteita, sillä netistä löytyy Scratchin lisäksi paljon muitakin graafisia ohjelmointiympäristöjä. Jos ohjatumpi oppiminen erilaisten kurssien ja pulmien avulla tuntuu innostavammalta, Code.org-ympäristö voi olla aloittelijalle oiva valinta. Enemmän ohjelmoinnista kiinnostuneelle ja paljon erilaisia puuhatehtäviä kaipaavalle hyvä vaihtoehto voisi olla maksullinen Tynker-palvelu. Scratch ja Code.org ovat ilmaisia.

Kaikissa kolmessa ympäristössä ohjelmakoodi muodostuu vedä-ja-pudota-menetelmällä siirreltävistä palikoista. Ohjelman toiminta perustuu olio-ohjelmoinnin paradigman mukaisesti toimijoihin eli hahmoihin, joille kullekin annetaan omat käskyt.

Luokkia ei Scratchissa, Code.orgissa tai Tynkerissa vielä esitellä. Näin ollen usean hahmon yhteisiä toiminnallisuuksia ei voi koota yhteiseen yläluokkaan toisteisen koodin karsimiseksi. Vasta-alkaja ei ominaisuutta kaipaa, mutta edistyneemmille mahdollisuus luokkien luomiseen voisi edistää hyvin ohjelmointitapojen oppimista.

Ohjelmointiympäristöt ovat käyttöliittymiltään lähes identtiset. Perusnäkymä koostuu näyttämöstä, hahmo- ja komentolistoista sekä koodialueesta, joiden kokoa näytöllä voi halutessaan säätää. Toisiaan muistuttavien ohjelmointikielten ympärille rakennettujen palvelujen tarjoaman sisällön määrässä ja laadussa sekä yleisessä käytettävyydessä on kuitenkin paljon eroja.

Hahmot ovat kivoja. Scratchin piirtoeditorissa voi luoda omia bitti- ja vektorigrafiikoita.

Graafiset ohjelmointikieletkin sisältävät jonkin verran tekstiä, joten lukutaito on tarpeellinen. Tynker on englanninkielinen, mikä saattaa olla este kaikkein nuorimmille ohjelmoijille. Scratchista ja Code.orgista suurin osa käyttöliittymästä ja muusta keskeisestä sisällöstä on käännetty vapaaehtoisvoimin suomeksi. Erinäisissä valikoissa kuitenkin vilisee edelleen englantia ja suurin osa ohjemateriaaleista on valitettavasti kääntämättä.

Laaja koodipalikoiden valikoima helpottaa monimutkaisten ohjelmien toteuttamista. Code.org on tässä suhteessa vaihtoehdoista köyhin. Toisaalta suppeahko komentotarjonta sopii ensimmäistä kertaa ohjelmointiin tutustuvalle, kun häiritsemässä ei ole liikaa sälää.

Tynkerissa on puolestaan edistyneemmälle ohjelmoijalle rutkasti valmiita toteutuksia esimerkiksi animaatioiden, painovoiman ja kappaleiden välisten törmäysten muokkaamiseen.

Scratchin työkalupakki on varsin riittävä, muttei yhtä kattava kuin Tynkerin. Peruspalikoissa pitäytymisessä on kuitenkin se hyvä puoli, että omien ohjelmien rakentelu ei vaadi välttämättä juurikaan opetusvideoiden tai muiden ohjemateriaalien läpi kahlaamista – kokeilemalla oppii!

Suomenkielisyys auttaa. Code.org on käännetty vapaaehtoisvoimin suurelta osin suomeksi.

Ohjelmointikokemuksen palkitsevuuteen vaikuttaa suuresti se, kuinka hienolta oma tuotos näyttää. Kaikissa kolmessa ohjelmointiympäristössä on valmis kokoelma erilaisia taustoja ja hahmoja. Scratchissa ja Tynkerissä on lisäksi mahdollisuus tuoda kuvatiedostoja muualta tai taiteilla omat grafiikat piirtoeditorissa.

Tynkerin valikoima on sekä laajuudeltaan että näyttävyydeltään omaa luokkaansa, ja kymmenillä animaatiovaihtoehdoilla hahmoista saa halutessaan todella eläväisiä.

Myös Scratchissa on mahdollista tehdä yksinkertaisia animointeja vaihtamalla hahmojen ”asusteita”. Code.orgissa animointi tapahtuu automaattisesti, kun käyttäjä ohjaa luomaansa oliota näyttämöllä.