Avainsana: koodauksen perusrakenteet

Ohjelmoinnin perusteet, mitä ne on?

Ohjelmoinnin perusteet, mitä ne on?

Aloitin ohjelmoinnin opiskelun virallisesti 1997 (sitä ennen olin kokeillut itsekseni Qbasic- ja Excel- ohjelmointia). Ohjelmoinnin perusteet kurssi tarkoitti noihin aikoihin sitä, että alettiin opettajan johdolla kirjoittamaan C++ ohjelmaa, jonka avulla tietokone kirjoitti näytölle jotain. Tehtäväksi saatettiin antaa; ohjelma kysyy kaksi lukua ja ilmoittaa niiden yhteissumman näytöllä. Mitään koodia ei saanut kopioida mistään, vaan kaikki piti kirjoittaa itse. Ohjeet syntaksiin löytyi kirjasta tai ohjelman Help- toiminnosta.
Eipä jäänyt tuolloin mieleen, että olisi ohjelmoinnin perusrakenteista jotain puhuttu. C++ syntaxia jankattiin, että saatiin ohjelmat käännettyä ilman virheitä. Kävin nuoruuden innolla alkeis- ja jatkokursseja useista eri kielistä mm. C++, Delphi ja Java. Mitenkään keskeisessä roolissa ei kursseilla ollut ohjelmoinnin perustava ajatus: ”opettele käyttämään ohjelmoinnin perusrakenteita, niin opit käyttämään kaikkia tarvitsemiasi ohjelmointikieliä helposti”.

Työkokemus karttui. Huomasin aika pian, että ohjelmointikielestä toiseen siirtyminen onkin aika helppoa. Kaikista löytyy ensinnäkin ne perusrakenteet:

  • käskylause
  • ehtolause (=If, Then, Else)
  • muuttujat (char, string, array, integer jne.)
  • funktio
  • toistorakenteet (for, while)

Ja toisekseen löytyy paljon paljon muutakin yhteistä esim. stringin käsittelyn funktiot, ja array käsittelyn funktiot jotain mainitakseni. Jos olisin tämän jo alussa tiennyt, niin en takuulla olisi tuhlannut paukkuja useiden eri ohjelmointikielien alkeiskursseihin. Ei tarvitse yrittää ulkoa opiskella useiden eri kielten syntakseja, koska kyllä mm. Google niissä osaa neuvoa 😉

Omaksi onnekseni koitui se, että pääsin nopeasti alan töihin. Töihin päästyäni pystyin keskittymään siihen ohjelmointikieleen, joka oli työnantajan projekteissa työkaluna kulloinkin. Olen opettanut koodausta lapsille vuodesta 2014 lähtien ja oivaltanut, että ohjelmoinnin opiskelun voi aloittaa hauskasti ja helposti. Aloittelijoille (myös aikuisille) annankin vinkiksi, että opiskelkaa ohjelmoinnin perusrakenteet ensin helpossa graafisessa ympäristössä (esim. code.org, scratch, bomberbot), niin ymmärrätte miten pienistä palikoista ohjelmointi oikeastaan koostuu. Sen jälkeen on paljon helpompi syventyä johonkin oikeaan kieleen oli se sitten yliopistokurssien Java tai Python tai jotain muuta!

Kokemuksia koodauksen opettelusta Bomberbotilla

Kävimme 6. luokan kanssa Bomberbotin alkeiskurssin läpi. Lähtötaso oli, että oppilaat olivat aiempina vuosina tutustuneet koodaukseen jonkin verran mm. code.org tehtävillä. Osa oppilaista opiskeli koodausta ensimmäisen kerran peruskoulun aikana.

Bomberbotin Alkeet- osassa aloitettiin opettelemalla mitä ohjelmointi on. Sitten käytiin läpi ohjelmoinnin perusrakenteita: lause, ehtolause, silmukka, funktio ja muuttuja. Me kävimme Bomberbotin kaksi aihealuetta yhtenä päivänä läpi, ja tämä tuntui sopivalta tahdilta.

Kuva: tuntien sisällöt

Viimeisellä kerralla kerrattiin aiemmin opittujen rakenteiden käyttöä, ja paneuduttiin oma ohjelman suunnitteluun. Tämä tarkoitti Bomberbotissa oman tason suunnitelman tekemistä. Suunnitelmat eli omat tasot testattiin parin kanssa..

Ohjelman tekemiseen kuuluu koodauksen lisäksi suunnitelman laatiminen ja testaus. Nämä kaikki osa-alueet tuli käytyä läpi bomberbotin Alkeet- osassa.
Voin suositella Bomberbotia muillekin kuutosluokille. Tällaisella sisällöllä tulee opeteltua koodauksen perusteet (=perusrakenteet) ja jokainen tekee lopuksi myös oman graafisen ohjelman suunnitelman, jonka toimivuus testataan.
Eli OPS2016 tavoitteet 6. luokan osalta tulevat tässä minimissään täytettyä.

Innokkaimmat oppilaani tekivät myös Bomberbotin Jatko-osan tehtäviä omatoimisesti, joten nekin sopivat tasoltaan tämän ikäisille. Jatko-osaa voi mielestäni suositelle niille, jotka kiinnostuvat ohjelmoinnista Alkeet- osan jälkeen, koska jatkossa käsitellään edistyneempi koodauksen juttuja mm. debuggaus!

Annoin oppilaille arvosanat 2h x 5pv kurssin jälkeen. Arvostelu perustui ahkeruuteen eli tehtyjen tehtävien määrä kurssilla (sen näkee bomberbotista) ja lopputyöhön, joka oli oman tason suunnitelma ja ratkaisuehdotus. Keskiarvoksi tuli 7,5. Lisäämällä harjoittelua saisi keskiarvon helposti yli 8, koska monikaan ei tehtäviä tehnyt kotona.

Kokemuksena tästä jäi hyvä mieli!