
Aloitin ohjelmoinnin opiskelun 1990- luvulla ja virallisesti ensimmäisen ohjelmointikurssin kävin1997. Ohjelmoinnin perusteet- kurssi tarkoitti noihin aikoihin ohjelman kirjoittamista eli koodaamista C++ ohjelmointikielellä. Kurssin aluksi ei kerrottu mitä ohjelmointi on, saatikka olisi kerrottu kaikille ohjelmointikielille yhteisistä rakenteista (=käskylause, ehtolause, muuttujat, silmukat yms.). Aloimme opettajan johdolla kirjoittamaan ohjelmaa, jonka avulla tietokone kirjoitti mustalle 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. Jos/kun kääntäjä antoi virheitä, niin ohjeet syntaksiin löytyi kirjasta tai ohjelman Help- toiminnosta.
Olipa aika tylsää, vaan silti jotkut aiheesta innostuivat. Suurimmasta osasta kuitenkin tuntui kaikki olevan kovin monimutkaista, ja kurssilaisista karsiutua pois useita sen takia, että tapa opettaa ohjelmointia oli sopimaton heille.
Miten niin?
Koska ohjelmointia oppii tekemällä ja tekemällä ja tekemällä… enkä tarkoita koodin kirjoittamista kopioimalla opettajan mallikoodista. Ongelmien ratkaisu on mielestäni ohjelmoinnissa parasta eli koodauksen ”suola” ja sitä luovaa tekemistä. Usein ongelman voi ratkaista monella eri tapaa! Ongelma voi olla yksinkertaisuudessaa olla esim. miten saat hahmon liikkumaan pisteestä A pisteeseen B ja sanomaan hei. Ratkaisuna hahmo voi liikkua pisteisiin vaikkapa eri reittejä…
Itse kävin 2000-luvulla nuoruuden innolla alkeis- ja jatkokursseja useista eri kielistä mm. C++, Delphi ja Java. Silloin oli internet yleistymässä, mutta HTML ja Javascript (nettisivujen teko) ei olleet vielä koodarien mielestä ohjelmointia ollenkaan… olio-ohjelmointia se olla piti. En oivaltanut tuolloin, että ”opettele käyttämään ohjelmoinnin perusrakenteita hyvin jossain kielessä opit käyttämään kaikkia tarvitsemiasi ohjelmointikieliä helposti”.
Onneksi pääsin nopsaan alan töihin. Työkokemus karttui. Huomasin muutamassa vuodessa projektien vaihtuessa, että ohjelmointikielestä toiseen siirtyminen onkin 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. Eikähän nykyään edes tarvitse ulkoa opiskella useiden eri kielten syntakseja, koska kyllä mm. Google niissä osaa neuvoa 😉
Olen opettanut koodausta lapsille vuodesta 2014 lähtien ja oivaltanut, että ohjelmoinnin opiskelun voi aloittaa hauskasti ja helposti. Nykyään se on mahdollista. Ja toivon mukaan koodausta opetetaan näin peruskoulussa tänä päivänä. Eihän kaikista tarvi koodareita tulla, mutta ihan hyvää yleistietämystä on se, että tietokoneita alkaa olla vähän joka laitteessa nykyään ja tietokoneiden ollessa tyhmiä on ihmisen pakko määritellä miten ne toimivat ja/tai mitä tekevät! Aloittelijoille (myös aikuisille) annankin vinkiksi:
opiskelkaa ohjelmoinnin perusrakenteet ensin helpossa graafisessa ympäristössä (esim. code.org, scratch, bomberbot), kuten lapset tekevät, 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!