Tieto- ja viestintätekniikan ammattilaiset TIVIA ry

TIVIA News / oppilaitosekstra: Robotiikalla tai ohjelmoinnin MOOCilla IT-uralle

Ohjelmistosuunnittelijoista on tuhansien ja tuhansien osaajien vaje. Ohjelmointia tarvitsevien yritysten määrä on ylittämässä 60 % kaikista yrityksistä. Ohjelmoinnista on tullut tämän ajan uusi luova tuottavuuden ja kasvun mahdollistaja. Ohjelmoinnin voi aloittaa minkä ikäisenä tahansa olipa sitten koulussa tai töissä. Siitä on hyötyä niin harrastuksissa, liiketoiminnassa kuin julkisen sektorin hallinnollisissa tehtävissä. Sen aloittamiseen tarvitaan vain oppimisen halua, uteliaisuutta ja yksinkertaiset työvälineet kuten tietokone ja verkkoyhteys. Itse ohjelmoinnin verkkokurssille tai MOOCiin (massiiviseen avoimeen verkkokurssiin) osallistumiselle ei tarvita aikaisempaa osaamista. Osaamista ja oppimista voi tosin syventää, mikäli löytää hyvän oppijaverkoston tai keskustelupalstan, jonka kanssa voi sosiaalisesti syventää opetuksessa käsiteltäviä aiheita. Paikallisen oppijaverkoston luomisessa TIVIAn alueelliset jäsenyhdistykset tai verkostot toimivat tapahtumien ja tapaamisten järjestäjinä. Oppijaverkosto auttaa erityisesti kurssin loppuun viemisessä, sillä ohjelmoinnin MOOCin suorittaa tyypillisesti loppuun vain noin 5 % osallistujista. Parhaimmillaan hyvä paikallinen tiedon ja osaamisen vaihtoverkosto täydentää MOOCia. Itse kurssit voivat sisältää luentoja, videoita, kirjoja, artikkeleita, harjoituksia, keskusteluja, tenttejä ja jopa vierailuja alan yrityksiin.

Mitä ohjelmointikieltä sitten kannattaa opetella? Oikeastaan ihan mitä vain, sillä tuoreen erittäin laajan tutkimuksen mukaan kaikkein oleellisin taito on yleinen ohjelmointitaito eli ohjelmistojen suunnittelu ja kehittäminen. Ohjelmistosuunnittelu on muutakin kuin ohjelmointia, sillä se pitää sisällään halutun toiminnon suunnittelua, piirtämistä sekä vuorovaikutus- ja palvelukuvauksia. Yksi ohjelmistosuunnittelun keskeisistä osa-alueista onkin ongelmanratkaisun kuvaaminen visuaalisesti ennen sen toteuttamista ja haluttujen toimintojen kirjaaminen. Lasten ja nuoren graafiset ohjelmointikielet perustuvat tämän visuaalisuuden hyödyntämiseen.

Mitä ohjelmointi on yksinkertaisimmillaan?

Ohjelmointi on yksinkertaisimmillaan kuin toiminnallisten ja tiettyjä ominaisuuksia omaavien legojen kokoamista, siis ongelmanratkaisua valmiiden komponenttien ja yksinkertaisten komentojen avulla. Modernit, lasten ja nuorten robotiikkaympäristöt tarjoavat kaikenikäisille sopivan polun robottien rakentamisen maailmaan. Modernin oppimisen taksonomian näkökulmasta juuri oppilaiden omatoiminen kyky luoda ja rakentaa ratkaisuja on 2000-luvun uusi kaikkein korkein oppimisessa saavutettava taso. Yksinkertaisilta näyttävät opetusrobottiympäristöt ovat uusi loistava tapa tuoda teknologian rakentamisen ja kehittämisen ajattelumaailma osaksi opetussuunnitelmaa.

Ohjelmointi on kielen avulla luotuja tekstipohjaisia reseptejä, joita voidaan ajaa tietokoneen avulla. Ohjelmointia helpottamaan on luotu tekstinkäsittelyn Wordin ja LibreOfficen kaltaisia kirjoittamista avustavia työkaluja, joiden käytön oppii helposti. Ohjelmoinnin harjoitteluun ja opetteluun on eri ikäisille sopivia ympäristöjä ja työkaluja. Kouluikäisille sopivista työkaluista löytyy valmiit ohjeet TIVIAn tuottamasta Koodiaapinen-MOOCista (http://koodiaapinen.fi) aina esikoulusta 9. luokalle. Lukiolaisille ja vanhemmille löytyy lukuisia valmiita avoimia ohjelmoinnin verkkokursseja. Mikäli haluat oikeasti panostaa nuoren tulevaisuuteen, voisin suositella ohjelmoinnin intensiivistä 2–3 kuukauden kesäohjelmaa ulkomailla, sillä panostus maksaa itsensä takaisin jo alle vuodessa.

Ohjelmoinnin MOOCiin valmistautuminen

Kurssille valmistaudutaan asentamalla omalle tietokoneelle työkalu eli kehitysympäristö. Kehitysympäristöä kutsutaan yleisesti IDE-käsitteellä, joka tulee sanoista ”Integrated Development Environment” eli integroitu kehitysympäristö. Kehitysympäristöt ovat tyypillisesti maksuttomia, mutta vaativat tietokoneelta kohtuullisen paljon tallennustilaa. Suosituimmat avoimien verkkokurssien IDE-työkalut ovat Eclipse IDE ja NetBeans IDE. Eclipse IDE tukee seuraavia ohjelmointi-MOOCien ohjelmointikieliä: Java ja Python. NetBeans IDE on erityisesti Java-MOOCien piirissä suosittu. Kehitysympäristöihin ja niiden asentamiseen kannattaa perehtyä ilmaisilla YouTube-opetusvideoilla. Kehitysympäristön asentamisesta tulee hauskempaa, kun sen tekee yhdessä oppimisverkoston kanssa. Kannattaa siis kerätä paikallinen porukka ja pyytää TIVIAn asiantuntija paikalle neuvomaan ensi askeleiden ottamisessa. Itse olen todennut mm. Vogella.com- ja Lynda.com-palvelut hyödyllisiksi. Yksinkertaisella internethaulla ”Basic Eclipse User Guide” löytyy paljon hyviä ohjeita.

Ohjelmoinnin kannalta on myös hyödyllistä tutustua tekstinkäsittelystä tuttuihin käsitteisiin kuten kielentarkistus, valmiiden kirjastojen käyttö, kielioppioppaat ja kääntäminen. Ohjelmistot ovat määrämuotoisia kieleen perustuvia komentoja, joiden tulee olla kirjoitettu oikein. Valmiista kirjastoista löytyy suuri määrä erilaisia valmiita palveluita, ja lasten graafiset ohjelmointiympäristöt perustuvat kirjastojen visualisointiin. Kehitysympäristöistä löytyy myös ohjelmistokielten kielioppioppaat ja esimerkit, joiden avulla pystyy toteuttamaan laajempiakin ohjelmointitöitä. Kääntämisellä tarkoitetaan ohjelmointikielen muuntamista suorituskelpoiseksi tietokoneelle. Käännösvaiheessa paljastuvat pienet kielelliset virheet ja itse ohjelman käännöksessä sen toiminnalliset käytön kannalta kalliit virheet.

Ohjelmointiin sopii muuten hyvin 3–6 vuotta vanha kannettava tietokone, jolle voi asentaa Linux-käyttöjärjestelmän esim. Ubuntun. Linux toimii tehokkaasti vanhemmissakin koneissa. Paikallisesta oppilaitoksesta löytyy osaavia ja avuliaita oppilaita neuvomaan tässä. Parasta on, kun asentaa ja rakentaa oppilaiden kanssa koko ohjelmointiympäristön itse aivan alusta. 

Oman tietokoneen ja kehitysympäristön asentamisen jälkeen kannattaakin jo kokeilla, vaikka yksinkertaisen web-sivun toteuttamista perinteisellä HTML-kielellä tai modernilla HTML5-kielellä. Kehitysympäristöksi sopii Atom, Brackets tai Webclipse, joista löytyvät kaikki hyvät kehitysympäristöjen ominaisuudet. Internet on myös täynnä loistavia esimerkkejä toimivista toteutuksista. Niitä pääsee ihailemaan lähes jokaisen selaimen ”View Source Code” -toiminnolla. Yksinkertaisesta verkkosivun rakentamisesta tulee oppilaillekin kiinnostava, kun internetin palveluntarjoajalta ostetaan hieman levytilaa ja julkaistaan itse tehdyt sivut muiden iloksi ja kerrotaan omasta oppimisen edistymisestä. Levytila ja verkkosivut syntyvät näin alle sadan euron panostuksella muutamassa tunnissa.

Ohjelmoinnin MOOCin valinta ja ilmoittautuminen

Ohjelmoinnin verkkokursseista ja MOOCeista on jo kohtuullisen paljon tarjontaa eri korkeakouluissa ja avoimen oppimisen alustoissa. Kannattaakin lähettää sähköpostia tai soittaa oman alueen korkeakoulun tietotekniikan opetushenkilökunnalle tai etsiä verkosta itselle sopiva kurssi. Useimmat lukiot tarjoavat jo ohjelmoinnin kurssia osana kurssitarjotinta. Kurssin valinnassa kannattaa huomioida oma kunnianhimo ja tavoitetaso. Useimmat huippuyliopistojen kurssit on suunniteltu hieman asiaan jo perehtyneille ja niistä saattaa puuttua oppimisen kannalta tärkeiden perusasioiden riittävän laaja läpikäynti. Kurssin tulisi olla sellainen, että sen voi hyvällä omallatunnolla suorittaa ansiokkaasti ja edetä seuraavalle tasolle. Kun sitten on ilmoittautunut kurssille, se kannattaa puristaa läpi, sillä kaikesta oppii varmasti jotain, ja asiat rakentuvat pala palalta uudeksi arvokkaaksi tietämykseksi ja osaamiseksi.

Eurooppalaisen kyselytutkimuksen mukaan tulevaisuuden IT-osaajatarpeesta yli 33 % kohdistuu yksinomaan ohjelmistokehittäjiin ja -suunnittelijoihin. Osaamisvaatimusten kärjessä 32 % vastaajista piti alustatalousohjelmointia (back-end engineering), 22 % alustajärjestelmien ja ohjelmistojen arkkitehtuuriosaamista (business and information systems engineering) ja 20 % käyttäjäkokemuksen ohjelmointiosaamista (front-end engineering). Noin 80 % vastaajista näki tärkeimpänä osaamisena yleisen ohjelmisto-osaamisen ja kyvyn ymmärtää ohjelmistotaloutta ja -alaa.

Ohjelmoinnin opiskelu ja oppiminen

Ohjelmoinnin opiskelu ja oppiminen ovat jatkuvaa uuden tiedon omaksumista ja opiskelua. Ohjelmoinnin MOOCissa saadaan hyvät perusvalmiudet ohjelmointiin, mutta sitten alkaa itse ohjelmoinnin oppiminen varsinaisissa opetus-, harrastus-, koulu-, kaveri- ja työprojekteissa. Koulussa onkin tärkeää luoda vaiheittain rakentuvia, tavoitteellisia ja riittävän pitkäkestoisia ohjelmointikokonaisuuksia, jotta oppija pääsee soveltamaan taitoa ja keskustelemaan ratkaisuista muiden kanssa. Ohjelmointi on kielellistä ongelmanratkaisua ja ohjelmistojen suunnittelu ongelmien sosiaalista yhdessä rajaamista ja tarkentamista sopiviksi työtehtäviksi. Yksinkertaisimmillaan ohjelmoinnin oppiminen ala-asteella on ratkaisujen kehittämistä komponenteista ennalta määriteltyyn tehtävään. Myöhemmin ohjelmointi on täysin vapaata annettujen ongelmien ratkaisua ennalta määritellyllä teknologialla ja ohjelmointikielellä. 

Kun nuorella ei ole varaa ohjelmoinnin kurssiin tai työkaluihin

TIVIA mahdollistaa vähävaraisten lasten ja nuorten osallistumisen ohjelmoinnin kursseille hankkimalla heille siihen tarvittavia työkaluja. Osana valtakunnallista toimintaa TIVIA on tukenut niin lasten kuin seniorien tietotekniikan välineiden ja työkalujen hankinnassa vähävaraisia perheitä. Pyydämme tekemään hakemuksen yhdessä opettajan kanssa ja liittämään rehtorin ja opinto-ohjaajan puollon hakemukseen. Hakemukset käsitellään luottamuksellisina ja anonyymisti päätöksentekovaiheessa. TIVIAn tavoitteena on mahdollistaa tietotekniikan osaamisen kehittyminen lapsen ja nuoren lähtökohdista riippumatta, sillä Suomella ei ole varaa jättää osaamista ja yhtään osaajaa kouluttamatta ohjelmistosuunnittelijaksi ja -kehittäjäksi.

Robotiikan perusopetuksen kiihdyttämö

TIVIA mahdollistaa robotiikkaopetuksen nopean laajentumisen suomalaisiin kouluihin opetuksen robotiikkakirjaston avulla. Erilaisia opetuksen robotiikkaympäristöjä voi lainata ilmaiseksi TIVIAn jäsenyhdistyksen jäsenenä. Lainaaminen edellyttää vain opettajan ja luokan liittymistä TIVIAn jäseniksi. Osalla TIVIAn yhdistyksistä on myös kummitoimintaa, jossa luokka voi hakea tukea TIVIAn paikalliselta jäsenyhdistykseltä. Laajemmista robotiikan ja ohjelmoinnin kilpailu- ja opetuskokonaisuuksista on mahdollista sopia erikseen esim. kaupungin tai maakunnan tasolla. Perusopetuksen robotiikkakiihdyttämö on uusi suomalaisen huippuosaamisen koulutusalusta ohjelmistosuunnittelu- ja kehitysosaamisen tilan parantamiseksi aina perusopetuksesta lähtien.

Teksti: Mika Helenius

 

 

Artikkelilaji: