"Ohjelmointi on olennainen osa tietojenkäsittelyn opiskelua, muttei lähimainkaan itseisarvo". Suunnilleen näin kirjoitti koodari Yevgeniy Brikman blogissaan toukokuussa 2014. Lukioissa ei ole pakko opettaa ohjelmointia eikä tietojenkäsittelyä, mutta se on jossain määrin mahdollista. Millaisia asioita lukiolaisen olisi syytä ymmärtää tästä alasta? Kysyimme kahdelta asiantuntijalta mielipidettä.
Yliopisto-opettaja Arto Vihavainen Helsingin yliopistosta, miten ohjelmointia voisi tuoda lukio-opintoihin?
“Näen ohjelmoinnin välineenä ilmiöpohjaiseen oppimiseen. Siinä mielessä ohjelmointi ohjelmoinnin takia ei ole niin arvokasta kuin vaikkapa ohjelmointi yhteiskuntatieteen välineenä. Tutustuttaisiin esimerkiksi Suomen verotukseen ohjelmoinnin kautta.
Voidaan päätyä kuplaan, jossa erilaiset järjestelmät antaa meille tietoa, mutta emme ymmärrä, mistä se tieto on, ja onko se aitoa.
Musiikissa voitaisiin tutustua koneella tuotettuun musiikkiin.
Mielestäni on hyvin sääli, että [ohjelmointia] ei ole tuotu vahvemmin mukaan. Mutta toisaalta on aina se kääntöpuoli, että jos olisi tuotu ohjelmointi ohjelmointina, on mahdollisuus, että se olisi jäänyt täysin erilliseksi.
Se, että oikeasti ymmärrettäisiin mitä yhteiskunnassa tapahtuu, olisi todella arvokasta. [Aalto-yliopiston tutkija] Tarmo Toikkanen sanoi hyvin uutisissa, että oppilaan olisi hyvä hahmottaa, mistä vaikka Facebookin uutisvirta tulee. Ne uutiset valitaan jollain algoritmillä johtuen joistakin syistä. Pyritäänkö niillä maksimoimaan kassavirrat Facebookille vai näytetäänkö niitä sulle, koska sun kaverit ovat pitäneet niistä? Vai mitkä on ne syyt?
Ne syyt olisi syytä ymmärtää, koska muuten voidaan päätyä sellaiseen kuplaan, jossa erilaiset järjestelmät antaa meille tietoa, mutta emme ymmärrä, mistä se tieto on, ja onko se aitoa. Medialukutaitoa ja tervettä kritiikkiä sitä kaikkea kohtaan.”
Mikä on tärkein juttu, joka lukiolaisen pitäisi oppia tietojenkäsittelytieteestä? Algoritmit? Jos jostain pitäisi lähteä liikkeelle?
“Jos jostain pitäisi lähteä liikkeelle, niin syy-seuraus-suhteista, kausaliteetista. Jos jotain tapahtuu, niin saattaa tapahtua jotain muuta.
Tärkein juttu ei ehkä ole algoritmin käsite itsessään, vaan ymmärrys siitä, että kaikki mitä ympärillä tapahtuu, on enemmän tai vähemmän tietokoneiden ja erilaisten ohjelmien määräämiä.
Herätyskellossa on ohjelma. Kännykässä on hirveästi ohjelmia. Tietokonepeleihin on käytetty paljon aikaa, että niistä saataisiin mahdollisimman koukuttavia. Kun kaikkia tämmöisiä tausta-ajatuksia ymmärtäisi ja avaisi, niin näkisi paremmin myös sen, mistä jotkut meidän päätökset johtuu. Mitkä asiat vaikuttavat päätöksiin, ja miksi me päätämme asioita niin kuin päätämme.
Ohjelmoinnilla aloittaminen on myös ihan hyvä. Siinä tulee haastettua itseään.”
Vihavainen työskentelee kaikille avoimien verkkokurssien (MOOC) parissa. Niiden kautta lukiosta voi päästä suoraan opiskelemaan tietojenkäsittelytiedettä Helsingin yliopistoon.
Lue lisää MOOCeista.
Opetusneuvos Leo Pahkin opetushallituksesta, minkä takia algoritmit ovat niin tärkeitä?
“Algoritmi on tapa yksinkertaistaa esimerkiksi ilmiöitä, joita ympäristössä tapahtuu. Monet monimutkaiset systeemit ovat isoja ongelmia, jotka voidaan pilkkoa pienempiin osaongelmiin. Niitä voidaan ratkoa laskentapohjaisesti.
Tällä tavalla isoja ja hankalilta näyttäviä kokonaisuuksia voidaan tiivistää pienempiin matemaattisiin malleihin. Tietokoneet ovat sikäli jänniä laitteita, että kun ohjelmointikielellä kerrotaan niille laskutoimitus tai tehtävä, ne ovat nopeita ja ketteriä suorittamaan sen.
Ohjelmointi on sitä, miten me pystymme kertomaan tietokoneelle, mitä sen pitää laskea. Ohjelmoijan juttu on luoda nerokkaasti algoritmejä, jotka päättelevät tietynlaisia asioita.
Televisiossa oli hieno ohjelma, jossa koodari oli tehnyt räp-artistien käyttämistä sanoista algoritmin. Kun tälle algoritmille annettiin uusia sanoja, se pystyi rakentamaan biisin, jossa oli mainittu sille annettuja sanoja, mutta myös niihin sopivia muita riimejä.
Miksi se pystyy ehdottamaan minulle sopivia ravintoloita tai kiinnostuksen kohteita noin vaan?
Jälleen kerran aika hankala asia oli pystytty yksinkertaistamaan algoritmin kautta ja saamaan taiteellista tuotetta aikaiseksi.
Puhumattakaan navigaatiojärjestelmistä ja mp3-soittimista. Musiikissa on tietyt yli ja alle kuuloalueen menevät äänet, jotka voidaan periaatteessa poistaa. Näin saadaan datan määrä pienentymään. Mp3-soitin perustuu tähän ajatukseen turhan informaation poistamisesta. Ja siihen tarvitaan algoritmi.
Modernin maailman esimerkit ovat tärkeitä. Tämän päivän nuorilla on digitaaliset laitteet mukana koko ajan. On hyvä tietää, mihin se perustuu, että laite tietää koko ajan missä olen. Miksi se pystyy ehdottamaan minulle sopivia ravintoloita tai kiinnostuksen kohteita noin vaan?
Joku on vaan käytännössä rakentanut algoritmejä, jotka tunnistavat henkilön paikan ja mielenkiinnon ja yhdistävät niistä tiedoista sen halutun kohteen. Ja ehdottavat, että tossa sulle olis hyvä paikka, johon sun kannattaisi tutustua.”
Pahkin on ollut laatimassa elokuussa 2016 käyttöön otettavia perus- ja lukiokoulutuksen opetussuunnitelmia matematiikan osalta.
Lue lisää, miten peruskouluissa tullaan opettamaan ohjelmointia.
Tsekkaa nämä linkit:
Ei koodauspakkoa uuteen lukio-opsiin (Yle)
Tutkijat kehittivät räppäävän algoritmin (Aalto-yliopisto)
Kaikkien ei tarvitse oppia koodaamaan (HS, maksumuurin takana)
Älä opettele koodaamaan, opettele ajattelemaan (Yevgeniy Brikman)