*

Sauli Ahvenjärvi Henkilökohtaisia kannanottoja ajan ilmiöihin ja tapahtumiin

Koodausta kaikille lapsille? Nyt höynäytetään ja kunnolla!

Otsikko YLE:n kotisivulla tänään julistaa: "Ohjelmoinnin perusteet täytyy tuntea tulevaisuuden työelämässä?" Höpö, höpö, sanon minä! Nyt tietämättömiä höynäytetään, ja oikein kunnolla.

Suomessa on kauhea kuhina ja hypetys käynnistynyt siitä ilmestyksenomaisesta uutisesta, että kaikkien pitää tulevaisuudessa osata koodata - edes hiukan. Kuka profeetta tällaisen ilmestyksen on saanut ja mihin tosiasioihin väite perustuu? Olen kuullut puhetta koodaamisen opetuksen aloittamisesta peruskouluissa jo muutaman vuoden ajan, mutta en tähän päivään mennessä yhtään hyvää perustelua sille, miksi kaikkien Suomen lasten kallista kouluaikaa pitäisi käyttää tällaiseen turhanpäiväisyyteen.

Todettakoon tässä vaiheessa, että minulla on omakohtaista kokemusta ammattimaisesta koodaamisesta ja ohjemistojen tuotekehityksestä useiden vuosien ajalta. Kun koodauksen opetuksesta lapsille keskusteltiin eduskunnassa opetusministerin läsnäollessa olisi pitänyt kysyä, että kuinka moni paikalla olevista oikeasti tietää mitä on koodaaminen esimerkiksi sitä kautta, että on opiskellut koodaamista tai tehnyt sitä leipätyökseen. Luultavasti paikalla olleista ei kukaan minun lisäkseni. Siitä huolimatta useilla oli asiasta vahva näkemys ja moni oli tästä Suomen menestykselle kuulemma elintärkeästä uudesta kouluaineesta hyvin innostunut. Erityisen painava argumentti kuului olevan se, että virolaisetkin ovat jo aloittaneet kouluissa lapsille tietotekniikan opetuksen.

Voi hyvä sylvi, sanon minä! Koodaamisen opettamisessa kaikille lapsille ei ole päätä eikä häntää. En minä ainakaan ole kuullut yhtään kunnon perustelua, vaikka tutustuin esimerkiksi Linda Liukkaan ja Juhani Mykkäsen asiaa esittelevän peruseepoksen Koodi 2016. Sellainen koodaaminen, josta esimerkiksi työelämässä olisi jotain hyötyä EI OLE MIKÄÄN JOKAMIEHEN TAITO, EIKÄ TULE KOSKAAN OLEMAAN. Koodaaminen on vaativaa hommaa, eikä hyväksi koodaajaksi tulla kuin määrätietoisen opiskelun, kovan työn ja pitkän kokemuksen kautta. Ainuttakaan tumpeloa harrastajakoodaajaa ei tämän maan elinkeinoelämä tarvitse, eivätkä tumpelot harrastajakoodaajat toivottavasti pääse hyödyntämään kehnoa koodaustaitoaan työelämässä.

Koodaaminen ei sitäpaitsi ole ohjelmien tuotekehityksen kannalta likimainkaan kriittisin taito. Hyvien ohjelmistotuotteiden luomisessa määrittelyvaihe on kymmenen kertaa tärkeämpi kuin ohjelman koodaaminen ja siksi on tärkeämpää ymmärtää esimerkiksi yksilön ja yhteisöjen käyttäytymistä, ihmisen rakennetta ja toimintaa ja ympäröivän maailman ilmiöitä kuin koodausta. Koodaus on vaihe, jossa ideat puetaan tietokoneen ymmärtämään muotoon.  Koodaaminen on kielenkääntäjän hommaa. Kirjailija, joka keksii dekkarin juonen on tärkeämpi kuin kääntäjä, joka kääntää kirjan suomen kielelle. Molempia toki tarvitaan.

Tietotekniikka ei ole mikään uusi keksintö. Prosessoripohjaisia vempeleitä on meidän ympärillämme ollut jo liki 40 vuotta, eikä tähän mennessä ole näkynyt mitään merkkejä siitä, että koodaustaito olisi jollain tavalla välttämätön tai edes hyödyllinen taito tietoteknisten sovellusten ja prosessoripohjaisten laitteiden kanssa toimeen tulemisen kannalta.

Tästä kaikesta koodaushöpinästä voi sanoa vain, että nyt höynäytetään tietämättömiä oikein kunnolla. Surulliseksi asian tekee se, että se aika koulussa, joka lapsilla menee koodauksen opetteluun, on poissa jostain muusta. Jos jotain positiivista tästä kaikesta hakee, niin voihan olla, että ohjelmoinnin opetuksen kautta joillekin lapsille syntyy kiinnostus matemaattisisten aineiden opiskeluun ja muutamille jopa halu tietotekniikan harrastamiseen ja myöhempään opiskeluun. (Siihen ei koodauksen opetus peruskoulussa ole sivumennen sanoen mikään välttämättömyys, toisin kuin jotkut tässä yhteydessä ovat väittäneet!) Myös lapsen luovuudelle avautuu uusi kanava ja koulutyöstä saattaa tulla hauskempaa. Mutta hinta on kova ja nämä ovat aivan eri perusteluja kuin ne, jolla koodauksen opetuksen välttämättömyyttä koko ikäluokalle nyt perustellaan.

 

Piditkö tästä kirjoituksesta? Näytä se!

20Suosittele

20 käyttäjää suosittelee tätä kirjoitusta. - Näytä suosittelijat

NäytäPiilota kommentit (276 kommenttia)

Tapani Lahnakoski

"Kun koodauksen opetuksesta lapsille keskusteltiin eduskunnassa opetusministerin läsnäollessa olisi pitänyt kysyä, että kuinka moni paikalla olevista oikeasti tietää mitä on koodaaminen esimerkiksi sitä kautta, että on opiskellut koodaamista tai tehnyt sitä leipätyökseen."

Miksi et kysynyt?

Asiallinen kirjoitus. Kuinka moni poliitikko sen täältä lukee on eri asia. Harva edes tietää, mitä koodaus tarkoittaa.

Vanhemmat ovat usein ikionnellisia, kun pikkupenska osaa näpelöidä älykännykkää. Luulevat siitä olevan jotain hyötyä isompana. Käytännössä tämä jatkuva sometus on varsin haitallista niin pienille kuin isommillekin. Porukka on liikenteessäkin nenä kiinni kännykässä. Heitä saa väistellä niin autolla kuin fillarillakin, kun eivät katso mihin menevät.

Käyttäjän enkeliporsas kuva
Kai-Ari Lundell

Sauli, olen kanssasi samaa mieltä.

Kun Krista Kiuru tunki koodauksen voimalla uuteen opetussuunnitelmaan, hämmästykseni oli suuri.

Koodaus sopii alakouluissa kerhotoimintaan, yläkouluissa korkeintaan valinnaiskurssiksi.

Kodauksen sijaan olisi syytä paneutua kunnolla matematiikkaan, jonka osaamisen taso pian romahtaa totaalisesti, ellei mitään tehdä.

Käyttäjän topira kuva
Topi Rantakivi

Tuo on olennaista, että matematiikkaan ja fysiikkaan pitää perehtyä, jos aikoo jotain koodata ihmehittiä maailmalle.

Ohjelmoinnin opettamisesta ei ole hyötyä, jos siellä ei ole sellaisia konkreettisia esimerkkejä, että miksi matematiikka ja fysiikka on tärkeää ja jotta ne ilmenisivät pelien kautta. Näiden esimerkkien mukaan tuomiseksi pitäisi osoittaa todellisuuteen enkä tarkoita sitä, että singotaan Warfaretyyliin oikeasti jotain ihmesinkoa koulun kanslian huoneeseen sekä tuplamäärät rehtorin huoneeseen.

Mutta pelkällä koodauksella ei opi näitä tosielämän asioita ja antaisi käsinkosketeltavaa syitä, että nämä on ehdottomasti tärkeitä asioita ennen kuin muuttuu välinpitämättömäksi tai huumeveikoksi.

EDIT: Kemiaankin pitää tutustua, ei niitä räjähdyksiä voi mitata tuntematta kemiaakaan.

Käyttäjän DanielMalinen kuva
Daniel Malinen

Matematiikka ei ole ainoa alakynnessä, myös äidinkielen (2015), historian (2010) ja yhteiskuntaopin (2012) osaamistaso on pudonnut. (Vuosiluvut sulkeissa kertoo utisointi vuoden). Pitäisi siis huolestua nuorista joilla on lukemisenvaikeutta ja pienistä lapsista joilla on puhumisen vaikeutta. Historia ja yhteiskunta oppi taas ovat arkipäiväisen selviytymisen ja nykytilanteen ymmärtämisen kannalta tärkeitä aineita.

Käyttäjän grohn kuva
Lauri Gröhn

Erinomainen kirjoitus.

Fiksut kouluikäiset oppivat itse ohjelmointia, keskinkertaiset väkisin ja tyhmät eivät koskaan.
Lopputulos on totaalinen katastrofi.

http://grohn.vapaavuoro.uusisuomi.fi/kulttuuri/170...

Aina riittää noita hyvää tarkoittavia hölmöjä:

Tietokoneet ja tietoyhteiskunta 1980-luvun alussa

Tietokone on aina ollut viaton. Me ihmiset heijastamme omaa
psyykeämme tietokoneeseen ja näin alamme vihata tietokonetta,
vaikka oikeastaan vihaamme itseämme.
(Markku Siivola, psykiatri)

Koulujen ei pidä hurahtaa atk:hon.
(Kaarina Suonio, Ministeri)

Pojat ajattelevat digitaalisesti ja tytöt analogisesti.
Tietokoneet vahvistavat tyttöjen ja poikien eroa.
(Vappu Taipale, ministeri)

Tietokoneet pelastavat lukion tyttöistymiseltä.

(Rauno Perälä, lehtori)

Informaatioteollisuuden vallankumous muuttaa opetusta.
(Erkki Aho, kouluhallituksen pääjohtaja)

Tietokoneopetuksen paras puoli on opetuksen yksilöllistymisessä.
(Jukka Lehtinen, kasvatustieteen professori)

Kun aikaisempien aikojen kulttuurin ja kielen yleisväline oli latina,
tulee tietotekniikasta nyt vastaava ihmimillsen toiminnan yleisavain.
(Kurt Wikstedt, Nokia elektroniikan johtaja)

Tietotekniikan soveltaminen ja hyväksikäyttö antavat tilaa luovuudelle,
kun välttämättömät rutiinit hoidetaan koneella.
(Jaakko Castren, Tietojenkäsittelyliiton hallituksen puheenjohtaja)

Samoin kuin heikot konemallit tulevat karsiutumaan, ei ryhmätyöhön
sopeutumattomillekaan tulevaisuus näytä valoisalta.
(Kalevi Kontinen, SYP)

Atk-ihminen kuuluu omaan rotuunsa. Hän on luova, ennakkoluuton ja
seikkailunhaluinen.
(Hanna Yliluukko, lukion rehtori)

Atk on väline tiedon hankkimista ja käsittelyä varten.
(Kalevi Sorsa)

Tietyt mandariinit ja informaation välittäjät myyvät öuutta tietoa ja
teknologiaa yhteiskuntaan kehittämällä tiettyjä ideologioita.
(Ilkka Heiskanen, valtiotieteen professori)

Meillä on edellytykset luonnonmukaiseen tietoyhteiskuntaan.
(Paavo Väyrynen, keskustapuolueen puheenjohtaja)

http://grohn.vapaavuoro.uusisuomi.fi/kulttuuri/186...

Käyttäjän uninenmies kuva
Tuomo Niemelä

+1 Suosittelu elävän historian dokumentoinnista.

Käyttäjän velimattivanhanen kuva
Veli-Matti Vanhanen

Ahvenjärvi:"Tästä kaikesta koodaushöpinästä voi sanoa vain, että nyt höynäytetään tietämättömiä oikein kunnolla."

Kuka höynäyttää ja mikä on motiivi? Vai onko sittenkin kysymys erilaisista ajattelutavoista?

Käyttäjän TapioRekola kuva
Tapio Rekola
Esa Hämäläinen

Onko Sauli pudonnut kelkasta mentyään politiikkaan? Ohjelmoinnin perusteiden ymmärtäminen on ehdottomasti tärkeä kansalaistaito. Samalla tavalla kuin kaikille opetetaan biologian, historian, uskonnon, fysiikan, kemian jne. jne. perusteet, on syytä opettaa koodauksen perusteet vaikkei aikoisikaan koodariksi isona. Jos ei ymmärrä koodauksen perusteita, ei ymmärrä nykypäivän maailmaa - ei internetiä, facebookia, nykyajan autoja, pesukoneita, terveydenhuollon tietojärjestelmiä, ei mitään. Tilanne jossa kaikkien alojen ammattilaisilla, mukaanlukien sairaanhoitajat, siivoojat, palomiehet, virkamiehet ja poliitikot, tulevaisuudessa on käsitys ohjelmoinnin perusteista, avaa ovat todellisille elämää parantaville ja yhteiskuntaa hyödyttäville innovaatioille.

Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

Öh,
en siis ymmärrä mun pesukonetta, jos en osaa koodauksen perusteita. Avaatko tuota hiukan, vai oliko tämäkin sarkasmia?

Jussi Säntti

Samaa mieltä. Kuka tarvitsee algebraa? Lukion fysiikassa on paljon turhaa useimmille. Vieläköhän 13-vuotiaat todistavat geometrian teoreemoja. Nykyisin äärimmäisen harva ymmärtää, mitä todistaminen on. Yliopistojen matematiikan ja luonnontieteiden opetuksesta jopa valtaosa on tarkoitukseltaan yleiskatsauksellista, läheskään kaikki eivät opi tarpeeksi suoranaisesti käyttääkseen. Jollei osaa, voi vaikka opettaa.

Käyttäjän topira kuva
Topi Rantakivi

Koodaus ei mene sen mukaan mitä käytetään facebookia, nykyajan autoja, pesukoneita, yms. Vaan ihmiset näkevät ympäristössään tapahtuvia asioita ja toimivat sen mukaan. Koodeja he eivät näe eivätkä tarvitse siitä tietää, asiasta tietävien on se tehtävä.

Jos sinulle annetaan karkea esimerkiksi, että perusasia on aivojen elvyttäminen, sydämen elvyttäminen, valtimoiden elvyttäminen, niin sinun mukaasi ne ovat perusasioita ja kuitenkin unohdat ettei kaikki ole kiinnostuneita asiasta tai eivät kestä verenpelkoa, eivät halua millään vahingoittaa taikka sitten brutaalisesti ajatellen sarjamurhaajat innostuvat.

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi

Joku on osuvasti verrannut tätä "nykypäivän maailman ymmärtämistä" auton tekniikan tuntemiseen. Kaikki me autoa hyödynnämme, mutta se ei vaadi esimerkiksi dieselmoottorin rakenteen tai levyjarrujen toimintaperiaatteen tuntemista. Auton tietoteknisistä ominaisuuksista puhumattakaan. Nykypäivän kuski voisi vain säikähtää, jos tietäisi, ettei kaasupolkimesta ole mekaanista yhteyttä konehuoneeseen. On tärkeää, että joku osaa koodata, mutta kyllä se on väärä käsitys, että ohjelmoinnin perusteiden tunteminen on edellytys sille, että pystyy tuottamaan elämää parantavia ja yhteiskuntaa hyödyttäviä innovaatioita. Joskus tilanne voi olla jopa päinvastoin. Kyllä parhaat keksinnöt lähtevät ihmisen käyttäytymisen ja tarpeiden sekä ympäröivän maailman ilmiöiden ymmärtämisestä. En haluaisi eteeni anuttakaan sellaista arkielämän vempainta, jonka käyttö edellyttää ohjelmoinnin perusteiden tuntemista. Eikä niin onneksi tule tapahtumaan, sillä sellainen tuote ei pärjää markkinoilla. Autojenkin kehitys on kulkenut siihen suuntaan, että yhä vähemmän käyttäjän tarvitsee tietää yhtään mitään auton tekniikasta. Näin tulee olemaan myös digitalisoituvassa maailmassamme. Kuka tuntee miten BlueRay-soitin toimii? Ja miksi pitäisikään. Kiekko sisään ja painat nappia. Toista se oli filmikameroiden ja projektorien aikakaudella. Tämän oivaltaminen on yksi keskeinen syy siihen, miksi iPhone peittosi Nokian älypuhelimet. Hieman kärjistäen voi sanoa, että ohjelmoinnin perusteiden tunteminen ei ole avain mihinkään muuhun kuin ohjelmointiin.

Käyttäjän MikkoAhola kuva
Mikko Ahola

Tarkoitus ei olekaan se, että kaikista tulisi koodareita, vaan että kaikki ymmärtäisivät paremmin, mitä koodeilla voidaan saada aikaan.

Nytkin esimerkiksi sanomalehtien nettiversioiden maksumuurit perustuvat niin yksikertaiseen koodaukseen, että vähänkään ohjelmointia ymmärtävä voi lukea esimerkiksi Helsingin Sanomien juttuja ilman viiden jutun rajoitusta, aivan niin monta juttua kuin haluaa. Tai jotkut huijauskoodit uskottelevat webin selaajille, että selain on lukittu, ja sen avaamiseksi pitää maksaa 100 euroa, vaikka kyse on vain pelkästään selaimessa käytettävästä koodinpätkästä, josta pääsee helposti eroon.

Käyttäjän Keijo Lindgren kuva
Keijo Lindgren

Ohjelmointikieli on kieli siinä missä espanjankieli ja sitten vaan keksimään miten kielitaidolla voi saada elantonsa.

Käyttäjän grohn kuva
Lauri Gröhn

Ohjelmointikieli Ei ole "kieli siinä missä espanjankieli".
Ohjelmointikieli ei ole kieli ihmisten väliseen yleiseen kommunikointiin.

Käyttäjän Keijo Lindgren kuva
Keijo Lindgren Vastaus kommenttiin #200

Ei olekaan mutta kummankin kielitaidon hyödyntämiseen tarvitaan jotain muuta osaamista josta tässä oli kysymys.

Käyttäjän TiuskeaRakki kuva
Eero Nevalainen

Jos vaikka asian tiivistäisi niin, että "tietokone on laite joka suorittaa ohjelmaksi kutsuttua tarkkaan määriteltyä käskysarjaa" -- mikä on mielestäni oikein hyvä taviksen ymmärrys siitä, mistä on kyse -- niin mitä vielä tarvitaan? Ja mikä on se lisäymmärrys joka oikeasti auttaa innovoimaan sieltä taviksen suunnalta sinne oikeaan toteutukseen päin?

Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

Jatkossa lapset pitää opettaa käyttämään myös 3D-suunnitteluohjelmistoja, koska (lähi)tulevaisuudessa kaikki valmistavat omat turhakkeensa itse 3D-tulostimilla. Olen kuullut.

Aivan helppoa, suunnittelin juuri arpanopan, jolla arvon seuraavan suunniteltavan kohteen, olisikohan jääkaappi, telkkari vai auto. Helppoa kuin heinänteko.
Sitä vaan olen ihmetellyt miksi ihmiset kuluttavat vuositolkulla aikaa yliopistoissa ja korkeakouluissa opiskelemassa jokamiehen taitoja.

Käyttäjän grohn kuva
Lauri Gröhn

Jonkun pitää laatia tulotusohjelma. Lapset eivät sitä tee, vaan korkeintaan lataavat ohjelman ja mömmöt.

Käyttäjän mikkokangasoja kuva
Mikko Kangasoja

Kaikki eivät tule tarvitsemaan koodaustaitoa, mutta muutamasta syystä en näe haitaksi, että jokaiselle sitä vähän opetetaan:

- yhä enemmän elämämme pyörii ohjelmistojen ympärillä.

On hyvä ymmärtää hiukan ohjelmistojen logiikan perusteita. Se auttaa tietokoneiden käyttöä. Samalla yhä useampi saa kosketuksen ohjelmointiin. Se on parasta mainosta alalle hakeutumiseksi. Se, joka ymmärtää koodaamisesta ja asiakkaiden tarpeista, pärjää hyvin.

- ohjelmoinnin sanotaan kehittävän ajattelua.

100 %:sen byrokraattinen tietokone ei salli virheitä ja pakottaa siksi johdonmukaiseen ajatteluun. Käsittääkseni sitä ympätään matematiikan yhteyteen.

Mielestäni on siis hyvä, että koodausta opetetaan kaikille. Liiallisuuksiin toki ei kannata mennä. Tämä aika vaatii yhä enemmän opetettavaa.

Käyttäjän grohn kuva
Lauri Gröhn

Ohjelmistoilla on monenlaisia logiikoita ja käyttöliittymiä.

Lapset oppivat liikkumaan käyttöliittyissä siinä missä rotat psykologin sokkeloissa palkkion toivossa.

Vai että "mainosta" oikein. Yksi hyvää tarkoittavien vanhempien harhaluuloista on, että mitä aikaisemmin ohjelmointia, sitä parempi. Asia on juuri päinvastoin.

Ohjelmointi ei kehitä vaan jumittaa ajattelua siinä missä pelitkin

Googlekin sallii kirjoitusvirheitä.

Edelleenkään en on nähnyt yhtään rationaalista perustetta ohjelmoinnin tuomisesta peruskouluun.

http://grohn.vapaavuoro.uusisuomi.fi/kulttuuri/117...

Käyttäjän mikkokangasoja kuva
Mikko Kangasoja

Lauri "Minä tiedän" Gröhn, ilman perusteluita ja siis ilman uskottavuutta.

Kun oppii yhden logiikan, oppii toisenkin ja sitten kolmannen...

Jonkinlainen taju ohjelmoinnista auttaa myös näkemään paremmin ohjelmien mahdollisuuksia ongelmien ratkaisussa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #276
Käyttäjän KH kuva
Kalevi Härkönen

"Koodaus on vaihe, jossa ideat puetaan tietokoneen ymmärtämään muotoon."

Kyllä ja juuri tämän vuoksi lasten on hyvä opiskella hieman rivikoodin kirjoittamista. Koska nykyään elämme mikroprosessorien ympäröimiä ja niiden tuottama virtuaalikokemus parhaimmillaan on vaikeaa erottaa todellisuudesta, on hyvä asia, jos kaikilla on peruskäsitys siitä miten tietokoneet toimivat. Kyseessä on samankaltainen elämässä tarvittava perustaito kuin matematiikka ja biologia ovat.

Käyttäjän grohn kuva
Lauri Gröhn

Olemme eläneet mikroprosessorien keskellä jo 30 vuotta. Niiden fiksuus on siinä, että se mitä väität tarvittavan ei nimenomaan tarvita.

Petri Muinonen

Hyvin trollattu, Kalevi. Tai jos olet tosissasi, niin voi voi... :)

Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

Suuntaus pitäisi olla se ja on ymmärtääkseni ollutkin se, että tietotekniikan hyödyntäminen vaatii koko ajan vähemmän ja vähemmän ymmärrystä siitä, mitä taustalla tapahtuu. Kerrosmäärät ovat siis kasvaneet.

Tänä päivänä ohjelmoijatkaan eivät yleisesti tunne taustaprosesseja, ei tunneta koneläheisiä kieliä vaan koodataan pitkälti korkean tason kielillä. Ne taas ovat kohtuullisen helppotajuisia ja luettavia. Eikä tarvitse tajuta mitä taustalla tapahtuu. Vielä kun käytetään valmiita kirjastoja rajapintojen kautta, itse koodaaminen jää usein aika vähäiseksi.

Vaikeaa on tiedon mallintaminen.

Mitä tulee käyttöliittymiin (joka on se asia, josta monet alaa tuntemattomat puhuvat koodaamisena), olisi toivottavaa, että käyttöliittymiä ja niiden logiikoita suunnittelevilla ei olisi minkään valtakunnan hajua ohjelmoinnista tai teknisistä yksityiskohdista. Voisi syntyä huomattavan paljon käyttökelpoisempia sovelluksia jos/kun ne suunniteltaisiin lähtökohtaisesti ilman tietoteknisiä rajoitteita lähtien liikenteeseen käyttöliittymäpäästä.

Mitä tulee tuohon ohjelmoinnin opettamiseen; voisi sitä halukkaille/lahjakkaille tarjota extrana. Matemaattisloogisia malleja ymmärtämättömille oppilaille noiden pakkosyöttö on lähinnä koulukiusaamista.

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi

Olen täsmälleen samaa mieltä!

Käyttäjän magi kuva
Marko Grönroos

Tämä ei tietenkään ole yllätys, että kristillisdemokraatti vastustaa loogisen ajattelun opetusta.

    «Sellainen koodaaminen, josta esimerkiksi työelämässä olisi jotain hyötyä EI OLE MIKÄÄN JOKAMIEHEN TAITO, EIKÄ TULE KOSKAAN OLEMAAN.»

Vai niin. Ja maailmassa on markkinoita vain viidelle tietokoneelle (IBM 1943). Ei ole syytä miksi kukaan haluaisi tietokoneen kotiinsa (DEC 1977).

Muistaakseni vielä 1500-luvun alussa oli samanlaisia käsityksiä lukutaidosta, mutta jollain Maralla oli parempia ajatuksia. Nykyään useimmat osaavat jopa laskea.

Samaa voisi tietenkin sanoa myös matematiikasta, historiasta, maantiedosta, biologiasta, useimmista kielistä ja tietenkin uskonnonopetuksesta. Hyvin harvoille mistään niistä työssä hyötyä on. Jälkimmäisen kohdalla siis, ellei aio papiksi.

    «Koodaaminen on vaativaa hommaa, eikä hyväksi koodaajaksi tulla kuin määrätietoisen opiskelun, kovan työn ja pitkän kokemuksen kautta.»

On ja ei, kaikkien ei myöskään tarvitse olla hyviä koodaajia, kuten kaikkien ei tarvitse olla hyviä kirjoittajia. Edes jonkinlainen kirjoitustaito kuitenkin on aika tärkeä juttu, vai mitä?

Vaikeus riippuu täysin motivaatiosta ja käytännön tarpeesta. Itse ehkä elät muinaismaailmassa, mutta useimmat nuoret ja lapset ovat tänä päivänä sisällöntuottajia ja kouluopintoihin sisältyy teknisiä ja taideaineita. Vaikka piirustuksella ja veistotaidolla on edelleen tänä päivänä paikkansa, suurin osa taiteesta tuotetaan tänä päivänä tietoteknistä käyttöä varten! Siis peleihin, nettiin, someen ja niin edelleen.

Yksinkertaisimmillaan ohjelmointi on HTML- ja JavaScript-koodausta, jota voi melko helpostikin käyttää omaan interaktiiviseen multimedia-sisällöntuotantoon. Siis vaikka oman Facebookin personointiin tai mitä vain.

Myös lähes kaikkeen soveltuva taulukkolaskenta sisältää hyvin essentiaalisia ohjelmoinnin elementtejä, vaikka onkin hyvin erilaista tavanomaiseen ohjelmointiin verrattuna.

    «Voi hyvä sylvi, sanon minä! Koodaamisen opettamisessa kaikille lapsille ei ole päätä eikä häntää.»

Jään odottamaan parempia argumentteja kuin taivastelua.

    «Hyvien ohjelmistotuotteiden luomisessa määrittelyvaihe on kymmenen kertaa tärkeämpi kuin ohjelman koodaaminen ja siksi on tärkeämpää ymmärtää esimerkiksi yksilön ja yhteisöjen käyttäytymistä, ihmisen rakennetta ja toimintaa ja ympäröivän maailman ilmiöitä kuin koodausta. Koodaus on vaihe, jossa ideat puetaan tietokoneen ymmärtämään muotoon. Koodaaminen on kielenkääntäjän hommaa.»

Et sitten ole tainnut osallistua ohjelmistokehitykseen yritysmaailmassa tai ehkä muuallakaan vähään aikaan. Tuollaisesta määrittely-toteutus-vesiputousmallista on pyritty pääsemään eroon kuin rutosta jo parin-kolmen kymmenen vuoden ajan. Ei ole enää erikseen suunnittelijoita ja ohjelmoijia, vaan suunnittelu tehdään osana iteratiivista kehitysprosessia kehittäjien yhteistyönä. Toteutustason pienetkin yksityiskohdat usein vaikuttavat korkean tason suunnitelmiin. Jos tätä ei huomioida osana kehitysprosessia, mennään mäkeen.

Tuo muinaismaailmasi on kuolemassa ja uusi sukupolvi kasvaa aivan toisenlaiseen tapaan tehdä asioita. Sen mukaan pitää mennä kouluissakin.

    «Surulliseksi asian tekee se, että se aika koulussa, joka lapsilla menee koodauksen opetteluun, on poissa jostain muusta.»

Varmaan tavoittelet ilmauksella "jostain muulla" sanaa "uskonnonopetus".

Varmastikin se aika pitää ottaa jostain muusta. Vaikka siitä uskonnonopetuksesta, mutta myös teknisistä töistä, joiden alaan tuo kuuluu. Jonkin verran yhteistä voi myös löytyä matematiikan ja muiden luonnontieteiden opetuksesta ja parasta olisikin saada ohjelmoinnista työkalu asioiden oppimiseen. Esimerkiksi, että fysiikan tunnilla osataan rakentaa yksinkertaisia simulaatioita, biologiassa populaatiomallinnusta, äidinkielessä kielioppitulkintaa tai muuta sellaista. Mutta keskeisin anti luovuudelle on siis taideaineissa.

Kouluopetushan kärsii, varsinkin pojilla, käytännön tekemisen puutteesta. Kiinnostus oppiaineisiin, joista ei juuri ole hyötyä käytännön tekemiselle, jää helposti laimeaksi. Ohjelmoinnilla opittua voidaan helposti hyödyntää luomiseen.

Entistä suurempaan rooliin ohjelmointi nousee orastavilla tietotekniikan alueilla, kuten kuluttajarobotiikassa ja esineiden Internetissä. Jos ohjelmointitaito päättyy videonauhurin ohjelmointiin, on tulevaisuuden maailmassa vaikea pärjätä.

Tästä huolimatta, vaikka jonkinlaista perusopetusta on hyvä antaa kaikille, on tarjottava myös mahdollisuuksia erikoistumiseen. Se antaa monille paljon paremman motivaation ohjelmoinnin opiskeluun kuin perustietojen saaminen.

Käyttäjän grohn kuva
Lauri Gröhn

Hohhoijaa:

"Ohjelmoinnilla opittua voidaan helposti hyödyntää luomiseen."

Käyttäjän magi kuva
Marko Grönroos

Kyllä, kaikenlaista lapsille hauskaa voi luoda vaikka tälleen (klikkaa starttilippua). Tuollaiset uppoavat 5-10-tuotiaisiin kuin häkä, varsinkin jos laitetaan kissanpentuja ja poneja mukaan.

Tuokin palvelu on muuten siis täysin suomenkielinen.

Käyttäjän DanielMalinen kuva
Daniel Malinen

Älä muuta virkkaa gröhn. Nykyään luoda voi vain koodaamalla tai poverpointille, sensijaan käsin piirtäminen, käsin kirjoittaminen, käsin veisto ja käsin muotoilu menettävä oikeuksiaan sekä arvoaan luomisen välineinä. Piirä hieno kuva, ketään ei kiinosta. Photoshoppaa koiralle kissan pää, kaikki ihastelevat.

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi

En provosoidu enkä kommentoi.

Petri Muinonen

Eipä ole kumpaankaan tarvettakaan. Viimeiset 15+ vuotta itseni it-ammattilaisena elättäneenä näen, että suoranaisen ohjelmoinnin tarve vähenee jatkuvasti. Korkeampien metakielien, logiikan, reunaehdoista johdetun ongelman asettamisen, prosessiosaamisen ja testaamisen roolit taas kasvavat, kun keskenään vuorovaikuttavien järjestelmien ja ihmis-konerajapintojen lukumäärä kasvaa.

Suht' kehittyneen loogisen ajattelutavan omaava nuori oppii ohjelmoinnin ammatti- tai korkeakouluopinnot aloittaessaan nopeasti ja ENNENKAIKKEA OIKEIN. Peruskoulussa puolivillaisesti opetettu koodaus voi sen sijaan luoda pinttyneitä huonoja ohjelmointitapoja, jotka ammattikoodariksi pyrkivän pitää ensi töikseen karistaa muististaan. Helpommin sanottu kuin tehty.

Kommentoijasi oli niin rakastunut ennakkoluuloihinsa sinua kohtaan, että todellisuuttakin piti vääntää niin, että kaikki mahdollinen olisi ajatuksillesi vastaista. Hauska heppu, oisko hänkin insinööri?

Käyttäjän janikorhonen kuva
Jani Korhonen Vastaus kommenttiin #54

Oleellisin kysymys lienee siis se tapa, jolla ohjelmoinnin opetus toteutetaan. Ehkä onkin niin, että sitä ei nyt ole hoidettu parhaalla mahdollisella tavalla ja kenties alkuinnostuksen huumassa ei valmistella asiaa kunnolla. Itse ajatus on kuitenkin hyvä. Kun kerran tietokoneiden kanssa ollaan tekemisissä aina vaan enemmän ja enemmän, on niihin liittyvien perustietojen opetus minusta ihan luonnollinen osa opetussuunnitelmaa.

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #54

Ilmesesti ennakkoasenteesi estivät keskittymisen itse sisältöön.

    «Viimeiset 15+ vuotta itseni it-ammattilaisena elättäneenä näen, että suoranaisen ohjelmoinnin tarve vähenee jatkuvasti.»

Henkilökohtainen kokemuksesi ei näy tilastoissa:

Ja niin edelleen.Jatkuuko mikään kasvu sitten ikuisesti, sitä en tietenkään väitä. Mutta jos olisit lukenut kirjoitukseni ennakkoluulottomasti, olisit huomannut sen pointtini, että opetuksen tarve nyt ei olekaan ohjelmointityön, vaan kaikenlaisen muun työn tekijöissä. Kirjoitustaidon opetustakin tarvitaan, vaikka kirjailijoiden määrä vähenisi. Ehkä jopa sen vuoksi kirjoitustaidon opetusta tarvitaan enemmän – koska yhä useammat joutuvat itse tuottamaan tekstiä.

Ohjelmointi näkyy kaikilla aloilla. Itse olen opettanut ohjelmoinnin alkeita kielenkääntäjille – heitä kun tarvitaan kääntämään ohjelmistoja eri kielille. Tietotekninen kehitys enenevässä määrin keskittyy sisällöntuotantoon, joka ei ole kovaa ohjelmointia, mutta usein yhteydessä siihen. Suomessa peliteollisuus on räjähtänyt, ja peleissä itse kova peliytimen koodaaminen on vain pieni osa toimintaa. Sisällöntuotantokin kuitenkin on paljolti "koodausta", tavalla tai toisella. Tieteenkin puolella ohjelmointi levittäytyy eri aloille ja tulee vähitellen samanlaiseksi perustyökaluksi kuin matematiikka.

Jätän nyt henkilökohtaisuuksiin menevät kommenttisi omaan arvoonsa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #61

Pelit eivät ole teollisuutta sen enempää kuin vaikkapa kirjojen kustantaminen eikä oikeastaan edes toimiala, kourallinen onnenkantamoisia vain. Liikevaihto ja liikevoitto muutaman yrityksen varassa. Yksi nykypäivän harhaisista mantroista.

Petri Muinonen Vastaus kommenttiin #61

On helppoa olla oikeassa, kun määrittelee koodaamisen itselleen sopivalla tavalla ;-D Tämä määritelmien "omiminen" itselleen on nykyisen nettikeskustelun perisynti: auttaa olemaan oikeassa, joo, mutta vain siinä kunkin omassa kuplassa. Vertaisarvioinnissa argumentointi ei pitäisi, mutta hällä väliä...

Tiedoksi Grönroosille: Meille muille IT-ammattilaisille sisällöntuottaminen ei ole koodaamista sen enempää kuin testaaminen tai laadunvarmistus (joiden osuus IT-budjeteista nousee kohisten ohitse puhtaan "software development" -osuuden); softakehitysprojekteissakin merkittävä osa laskutuksesta menee aivan muuhun kuin koodaamiseen, sillä mm. keskeinen osa softatuotantoa, vaatimusmäärittely, olkoon se ripoteltuna kuinka pieniksi osiksi tahansa pitkin esim. agile-metodologioin toteutettua projektia, EI OLE koodaamista. Ei ainakaan edes käsitteellisellä tasolla lähelläkään sitä koodaamista, jonka lisäämisestä koulujen oppisisältöihin on nyt puhe. Jos sinä laskutat myös vaatimusmäärittelyn tai sisällöntuotannon asiakasyritykseltä "koodaamisena", se on taas avian toinen tarina...

"IT jobs will grow" ei korreloi läheskään suoraan koodaamisen kanssa; juuri IT sektorin sisällä investointien painotukset ovat vahvasti liikkumassa kauemmas ohjelmoinnista, mm. juuri laadunvarmistukseen.

Vasta siinä vaiheessa saat minunkin puolestani kutsua vaatimusmäärittelyä "koodaamiseksi", kun automatiikka kykenee hoitamaan kaikki vaadittavat metamallinnukset aina ohjelmakoodin tuottamiseen saakka. Valtaosassa ohjelmistotuotantoa tästä ollaan vielä hyvin, hyvin kaukana.

Onko insinööriksi kutsuminen sinulle loukkaus? :) Jos on, pyydän toki sitä anteeksi.

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #76

Niin, koodaamista on tosiaan aika paljon, eri tarkoituksissa ja hyvin erilaista. Jotkut tässä ehkä nyt ajattelevat koodaamisella jotain muodollisena työnä tehtävää, jossa asiakasyritys ostaa ohjelmistoyritykseltä ohjelmiston kehitystyönä ja siinä pitää tehdä pitkällisiä määrityksiä, tarjouksia, jotain suunnittelua ja sellaista.

Ei, se ei ole ohjelmointia! Eikä sellaista yleensä ohjelmointiin tarvita!

Tämä ehkä vaihtelee, mutta itse olen noin 30 vuoden ATK-alalla työskentelyni aikana tehnyt mitään muodollisia speksejä ihan vain muutaman kertaa. Siis arviolta 1000+ erilaisesta "ohjelmasta" vain muutaman kohdalla. Olen tässä ehkä keskimääräistä onnekkaampi, mutta jos puhutaan muusta kuin työkoodauksesta, suunnittelun tarve on todella vähäinen.

Käytännössä onkin niin, että työelämässäkään useimpien ohjelmien tai ainakaan niiden yksittäisten ominaisuuksien kohdalla ei tehdä mitään suunnittelua tai speksejä. Halutaan jokin ominaisuus ja se tehdään. No usein tehdään tiketti siitä, että jokin juttu halutaan, mutta en laske sitä suunnitelmaksi vaan enemmänkin muistiinpanoksi. Yleensä nekin tulee kirjoitettua jälkikäteen dokumentaationa siitä, mitä tuli tehtyä. Homma menee kuin ammattitimpurilla – kun tarvitset koirankopin, otat sahan ja mitan käteen, et lähde tilaamaan suunnitelmaa arkkitehdiltä.

"Ohjelmalla" siis tarkoitan tässä ihan mitä tahansa mikä on ohjelma. No eilen tein vartissa Gröhnille tuon Scratch-kokeiluni. Se on ohjelma. Jos Minecraftissä rakennan ansan tai spawner-farmin, se on myös eräänlainen ohjelma. Ohjelma voi olla pieni animaatio omalla kotisivulla tai se voi olla jotain hyvinkin suurta. Töissä tulee pääasiassa (99%) kirjoitettua pieniä työkaluohjelmia tai korjauksia johonkin suurempaan. Siinä ei ole erityistä suunnittelua, vain tarve parantaa jotain.

Huomasin tässä taannoin taskulaskimelleni 25 vuotta sitten tekemän ohjelman, joka vain piippaili satunnaisesti. Tein sen opiskelijabileitä varten voidakseni käyttää taskulaskintani "tricorderina". Juuri sellaista pikkunäpräystä, mitä nuoret tänä päivänäkin tykkäävät tehdä erityisesti somessa. Juuri siksi edellä painotin ohjelmoinnin merkitystä luomisessa ja taideaineissa – ohjelmoinnilla voi tehdä kaikkea pientä kivaa, mitä voi käyttää nuorten omassa maailmassa, ei vain työ-elämässä.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #89

Ja tuostako mahdollisesti löytyy perusteita lasten koodaukselle?

Petri Muinonen Vastaus kommenttiin #89

No tämän luettua kyllä ymmärtääkin, miksi

a) testaamisen ja laadunvarmistuksen merkitys on vahvassa nousussa
b) tarvitaan myös motivoituneita ammattikoodareita, jotka tiedostavat kontekstin vaatimukset eivätkä vain suunapäänä toteuta yksittäisiä toiminnallisuuksia välittämättä arkkitehtuurille aiheutetusta tuhosta ja kustannuksista
c) ns. koodaus-ammattilaisten tuottama koodi on joskus niin täyttä rapaa

Tämä puheenvuorosi oli lopullinen niitti sille, ettei koodauksen opetusta kannata tehdä puolihuolimattomasti. JA että ammattilaiset taas pitää kouluttaa erinomaisen hyvin, ettei heistä tule vain alan sisäinen rasite

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #100

Kuten tuossa sanoin, ohjelmointia on monenlaista. Erityisissä ohjelmistohankinnoissa tai projekteissa on aivan eri kehityskaari kuin suurimmassa osassa muuta ohjelmistokehitystä. Ja suurin osa tavallisista ihmisistä ei varmastikaan joudu kehityshommiin projekteissa, yhtään sen enempää kuin kirjoitustaidon oppineet joutuvat kirjoittamaan kirjoja.

a) Testit ovat erityisen tärkeitä suurempien ohjelmistojen kohdalla ja pitkissä kehityskaarissa, mutta kuten olen tässä huomauttanut, sellaiset projektit ovat vain pieni osa ohjelmointia. Ohjelmointi ei myöskään poissulje testausta – testaus on yleensä täydentävää. Testit rakennetaan yleensä kehityksen rinnalla tai jälkikäteen, joten sekään ei sinällään edellytä muodollista suunnittelua vaan on osa kehitystyötä. No testi- tai käyttäytymisvetoisessa kehityksessä homma lähtee testien kehityksestä, mutta voi silti mennä täysin ohjelmakehityksen rinnalla. (Kyse on vetoisuudesta, ei eri kehitysvaiheista.)

b) Käsityksesi arkkitehtuureista on tässä nyt vähän suppea – ajattelet jotain suuria toimittajan ja asiakkaan välillä tehtäviä ohjelmistoja. Lähes kaikki käytännön ohjelmointi on hyvin pieniä ohjelmia, joissa on suurin piirtein vain yksi kehittäjä. Jos muita kehittäjiä tulee, pääkehittäjät usein myös valvovat, ettei kukaan tee suurta tuhoa.

Laatunäkökulmat voisi tietenkin olla hyvä tuoda esiin opetuksessakin – jos toiset eivät ymmärrä koodiasi, se ei kelpaa.

c) Niin on, mikä ehkä osittain johtuu siitä, että suurin osa koodareista ei ole saanut mitään opetusta ohjelmoinnista koulussa, vaan on lähtenyt opettelemaan itse suin päin.

Kai Schleutker Vastaus kommenttiin #100

Vaikuttaako koodausosaamisen tarpeeseen mitenkään mielestäsi se että kenen tahansa länsimaisen ihmisen ympäristö on kohta yhtä keskenään kommunikoivien esineiden bittiviidakkoa ..? Puhun nyt siis IoT:sta (Internet of Things), joka on yksi digitalisaation valtavirtoja. Eikö se ole myös aika iso mahdollisuus uusille start-upeille ?
Oletko kuullut että yli 90% uusista yritysideoista ei perustu tutkimukseen - vaan asiakaskokemuksen ja -tarpeen muuttamiselle toimivaksi yritysideaksi. Itse liiketalouden opettajana näen (juuri alkeellisen) koodausosaamisen todella tarpeellisena.

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen Vastaus kommenttiin #89

Moi Marko!

Scratchissa on puolensa. Toistaiseksi ei tiedetä, johtaako se huonoihin ohjelmointitapoihin, mutta viitteitä siitä on. Scratchissä on toki paljon hyviäkin puolia, en minä sitä sano. Ongelma on tietotekniikan jatko-opinnoissa, eli mitä tehdään scratchin jälkeen esim. 7-9 luokilla. Vilkaisepa tuo https://www.cs.auckland.ac.nz/courses/compsci747s2...

Käyttäjän SamiKuhmonen kuva
Sami Kuhmonen Vastaus kommenttiin #76

Tässä nähdäänkin IT-alan yksi ongelma: ihmisten pitää tehdä itsestään tärkeitä suoltamalla kilometrikaupalla määrityksiä, suunnitelmia jne. Kyllä niitä tarvitaan, mutta ei siinä määrin kuin niitä suolletaan. Jos oikeasti lukee noita määrityksiä ja suunnitelmia, niin moni on täynnä buzzwordeja ja sellaista tuubaa, että oikeasti hyödyllisen tekstin saisi mahtumaan neljännekseen siitä tilasta, jonka vievät.

Nykyään suunnitteleminen voidaan hoitaa ihan muuten, ja se ei tosiaan ole koodaamista. Onneksi. Muuten en sitä tekisikään työkseni. Ja voin todeta, että ihan muuta tulee tehtyä kuin pikkuohjelmia ja suunnitelmat ovat yleensä hyvin pieniä. On tarve, määritetään mitä tehdään ja millä ja sitten tehdään. Asiat tarkentuvat kun mennään eteenpäin.

Toki asia on erilainen, jos on jumittunut yhtä asiaa tekemään ja osaa suoltaa ne määritykset etukäteen kopioimalla. Silloin asiaa kyllä syntyy, mutta ei siitä mitään hyötyä ole kun se koodarikin osaa tehdä ne asiat ilman sitä suunnitelmaa. Eli henkilö on turha.

Jos taas tehdään jotain oikeasti uutta ei tarkkoja suunnitelmia voi tehdä. Silloin vain dokumentoidaan mitä tehdään sitä mukaa kun tehdään. Ei ole mitään järkeä käyttää runsaasti aikaa vain suunnittelemiseen.

Eli jos firmassa merkittävä osa laskutuskesta on muuta kuin oikeasti softankehitystä, siellä on turhia ihmisiä vetämässä rahaa ja asiakkaita kusetetaan. Näin yleistyksenä. Softafirman homma on tehdä softaa, ei määrityksiä. Se on suunnittelutoimiston homma. Ja jos asiakkaat saadaan uskomaan siihen, että tarvitaan se kuukausien suunnittelu ja paperivuori ja munkkikahvit joka toinen päivä että valmista tulee, hyvin olette paikkanne pedanneet. Kunnes asiakas huomaa, että näköjään muualta saisi parempaa halvemmalla ja nopeammin.

Ja jos vaatimusmäärittely vie pitkään, silloin asiakas ei tiedä mitä haluaa ja konsultti toki hyväksikäyttää tätä.

Petri Muinonen Vastaus kommenttiin #96

Sami: "Jos taas tehdään jotain oikeasti uutta ei tarkkoja suunnitelmia voi tehdä. Silloin vain dokumentoidaan mitä tehdään sitä mukaa kun tehdään"

Ensimmäisestä kohdasta jokseenkin samaa mieltä, näin agile-aikakautena, MUTTA toinen lause: siis OIKEASTI sinun mielestä noin? Ja priimaako pukkaa? :)

Tässä toteuttamistavassa kuka on se joka sinun mielestäsi tuntee mm. asiakkaan prosessin? Koodaajako? "Kehittäjä" = testaaja/ohjelmoija agiletiimissä? Kuka domumentoi? Kiinnostaa siis ihan oikeasti tietää, miten olet tämän mieltänyt.

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #101
    «Tässä toteuttamistavassa kuka on se joka sinun mielestäsi tuntee mm. asiakkaan prosessin?»

Petrillä vaikuttaa tässäkin olevan se oletus, että ohjelmointityötä aina tai edes useimmiten tehtäisiin erityisille asiakkaille räätälöityinä ratkaisuina, tai varsinkaan mihinkään organisaatioprosesseihin liittyen. Toki sellaisiakin ohjelmistoprojekteja tehdään ja osa koulutuksesta peräti keskittyy niihin, mutta ne ovat jopa vähemmistössä.

Ajattele nyt vaikka jotain maailman tunnetuimpia ohjelmistoja, Exceliä, Wordiä, Miinaharavaa tai weppiselaimia. Ei geneeristen työkalujen kehityksessä mitään asiakasorganisaatioiden prosesseja tarvitse tuntea.

Tai jos nyt ajatellaan, että vaikkapa Linux-ytimen kehitys lähti tarpeesta saada itselleen käyttis. Ja koska sellaisen tekeminen oli kivaa. Kun ensimmäinen "asiakas" oli kehittäjä itse, varmaankin tunsi organisaatioprosenssinsa läpikotaisin, tai siis niiden puutteet. Muodollisia testisysteemeitä ja dokumentaatiota kirjoitettiin vasta vuosia jälkikäteen.

Ja priimaa pukkasi.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #188

Lähti ideasta KOPIOIDA UNIX uudelle platformille.

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #189
    «Lähti ideasta KOPIOIDA UNIX uudelle platformille.»

Keksit nyt aivan omiasi. Kyse ei ollut "kopioinnista" vaan uudesta UNIX:n kaltaisesta käyttöjärjestelmästä, joka on yhteensopiva UNIX-yhteensopivuuskriteerinä olevan POSIX-rajapintastandardin kanssa. Myös Windowsille on POSIX-rajapintatoteutuksia, mutta tekevätkö ne Windowsista "UNIX-kopion"?

Linux ei siis kopio eikä edes UNIX:n toteutus. Esikuvana Linuxille oli MINIX, joka sekään ei ole UNIX.

Rajapinta ei kerro mitään toteutustavan arkkitehtuurista. Kuten tiedetään, ydinarkkitehtuureja on varsin monenlaisia ja Linux-ytimenkin arkkitehtuuri on muuttunut vuosien varrella merkittävästi. MINIX käytti mikrokernelarkkitehtuuria, kun taas Linux monoliittista arkkitehtuuria.

Jos jo perusarkkitehtuurit ovat tyystin erit, mistään "kopiosta" on absurdia puhua.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #195

Linux ei ollut innovaatio ja lähti tarpeesta saada unixin ominaisuydet pc:lle. Nimittäisin kopioksi.

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #196

Kopiolla tarkotetaan jotain identtistä, joka on saatu aikaan täysin rutiinimaisella kopiointisuorituksella. Voidaan puhua esimerkiksi tiedoston kopioinnista.

Jos järjestelmän perusarkkitehtuuri, muusta designista ja yksityiskohdista puhumattakaan, on täysin eri, puhutaan toteutuksesta.

Ja kuten sanoin, kyseessähän ei sinällään ollut edes UNIX:n toteutus, koska Linux ei ole UNIX vaan UNIX:n kaltainen käyttöjärjestelmä. Eli ei edes rajapintaominaisuuksiensakaan puolesta "kopio".

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #197

Eikä tarkoiteta. Toiminnalliset ideat kloonattu kernelissä, jatkossa muuta. Laillinen varkaus kuten open sourcessa tapana eikä yhtään innovaatioita.

Timo Viitanen Vastaus kommenttiin #198

Vähän historiaa. Linuxin tullessa kuvioihin, Unixista oli jo pilvin pimein samaan tapaan toimivia, enemmän tai vähemmän kaupallisia klooneja. Ehkä huomattavin oli Berkeleyn yliopistossa kehitetty BSD. Alkuperäisen Unixin oikeudet omistanut AT&T yritti käräjöidä BSD:tä kumoon, mutta joutui sopimaan jutun oikeussalin ulkopuolella, mm. koska oli itse kopioinut luvatta BSD:n koodia omaan tuotteeseensa. Yliopiston mukaan tätä BSD:stä kopioitua koodia oli enemmän kuin AT&T:n itse kehittämää. Berkeley oli esimerkiksi rakentanut klooniinsa virtuaalimuistin ja Internet-protokollan ennen AT&T:ta, jotka ovat nykyjärjestelmissä aika kriittisiä osia. AT&T:n asemaa myös varmaan hankaloitti, että se oli levittänyt mainitsemasi toiminnalliset ideoita joka yliopistoon käyttöjärjestelmätekniikan oppimateriaaliksi, ja julkaissut niitä POSIX-standardeissa yleiseen käyttöön.

Linux pohjautui MINIXiin, joka oli rakennettu puhtaalta pöydältä Amsterdamin yliopiston käyttöjärjestelmäkurssin esimerkkijärjestelmäksi, tosiaan aikana jolloin Unixin tapaisia järjestelmiä oli pilvin pimein, ja nuo "toiminnalliset ideat" yleisessä tiedossa. Torvaldsin alkuperäinen Linux oli merkittävä ensimmäisenä Unix-kloonina x86-arkkitehtuurille, ja hatunnoston arvoinen tekninen suoritus yhden miehen harrasteprojektiksi, muttei varmaan muuten sisältänyt kovin mullistavia innovatioita. Torvaldsin syyttäminen varkaudesta tämän vuoksi on absurdia, vähän kuin itkisi että Olvin Lordi-Kolassa on varastettu Coca Cola co:lta tummansävyisen sokerilimsan idea.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #203

That depends on what you mean by “Unix”, and by “Linux”.

Unix is an operating system that was born in 1969 at Bell Labs. Various companies sold, and still sell, code derived from this original system, for example AIX, HP-UX, Solaris. See also Evolution of Operating systems from Unix.

There are many systems that are Unix-like, in that they offer similar interfaces to programmers, users and administrators. The oldest production system is the Berkeley Software Distribution, which gradually evolved from Unix-based (i.e. containing code derived from the original implementation) to Unix-like (i.e. having a similar interface). There are many BSD-based or BSD-derived operating systems: FreeBSD, NetBSD, OpenBSD, Mac OS X, etc. Other examples include OSF/1 (now discontinued, it was a commercial Unix-like non-Unix-based system), Minix (originally a toy Unix-like operating system used as a teaching tool, now a production embedded Unix-like system), and most famously Linux.

Strictly speaking, Linux is an operating system kernel that is designed like Unix's kernel.

Linux is most commonly used as a name of Unix-like operating systems that use Linux as their kernel. As many of the tools outside the kernel are part of the GNU project, such systems are often known as GNU/Linux. All major Linux distributions consist of GNU/Linux and other software.

There are Linux-based Unix-like systems that don't use many GNU tools, especially in the embedded world, but I don't think any of them does away with GNU development tools, in particular GCC.

There are operating systems that have Linux as their kernel but are not Unix-like. The most well-known is Android, which doesn't have a Unix-like user experience (though you can install a Unix-like command line) or administrator experience or (mostly) programmer experience (“native” Android programs use an API that is completely different from Unix).

http://unix.stackexchange.com/questions/4091/is-li...

Timo Viitanen Vastaus kommenttiin #204

En oikein ymmärrä mitä haluat tällä leikkaa-liimaa tekstillä sanoa. Haluatko selventää vähän?

Itse takerruin siis tähän: "Laillinen varkaus kuten open sourcessa tapana eikä yhtään innovaatioita."

Linuxissa tosiaan on samannäköisiä rajapintoja kuin alkuperäisessä Unixissa. Sähkölaitteissakin usein käytetään C-tyypin töpseliä, ja audiovehkeissä 3.5mm plugia. Unixia myynyt AT&T-firma on standardoinut rajapinnat yleiseen käyttöön. Onko tämä sitä laillistettua varkautta?

Merkittävä osa vanhojen Unixien teknisistä hienouksista kehitettiin Berkeleyssä Unix-klooni BSD:hen - nykyään avointa lähdekoodia nimellä FreeBSD - ja kopioitiin siitä kaupallisiin Unixeihin.

http://www.groklaw.net/pdf/USLsettlement.pdf

Linuxin kohdalla tekniikka oli aika vakiintunutta. Mutta laskisin jonkinasteiseksi innovaatioksi mainframe-käyttöjärjestelmän toteuttamisen mikrotietokoneille, joilla käytettiin siihen asti Windows 3.0:n tapaisia leluja :P. Harva meistä saa ideaa jonka varassa pyörii parinkymmenen vuoden päästä puoli ihmiskunnan teknistä infraa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #206

Ytimen varassa ja se on klooni. Kloonit
Neivt voi olla innovaatioita. Innovaatiopalkinto oli tietämättömyyteen perustuva virhe.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #207

Meille suomalaisille on kansallinen häpeä, että täällä ei ole osattu arvostaa eikä hyödyntää Torvaldsin innovaatiota, Linuxia. Torvaldsin kehittämää kerneliä ovat hyödyntäneet monet sulautettujen järjestelmien valmistajat, monet ohjelmistotalot, monet älylaitteiden valmistajat, monet vapaata lähdekoodia hyödyntävät yritykset ja organisaatiot, merkittävimpänä esimerkkinä Android Inc., jonka Google osti.

Due to its low cost and ease of customization, Linux has been shipped in many consumer devices. Devices covering PDAs (like the Sharp Zaurus family), TomTom GPS navigation devices, residential gateways like the Linksys WRT54G series or smartphones such as the Motorola exz series, Openmoko handsets, and the Nokia N900 and Nokia N9.
A Linux kernel–based operating system known as Android, developed by Google, has become a highly competitive platform for smartphones and tablets. First introduced in 2008, in July 2012, Android's smartphone market share in the United States was 52%.

Ei siis ihme, että Torvalds muutti Yhdysvaltoihin. Ei ihme, että osaaminen siirtyy meiltä muihin maihin. Suomessa on liikaa Gröhnin kaltaisia kateellisia ja katkeria pessimistejä, jotka jarruttavat kehitystä.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #264

Linux on klooni eikä minkään sortin innovaatio.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #264
Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #188
Petri Muinonen Vastaus kommenttiin #188

Marko (kun kerran teit sinunkaupat oma-aloitteisesti):
"Ajattele nyt vaikka jotain maailman tunnetuimpia ohjelmistoja, Exceliä, Wordiä, Miinaharavaa tai weppiselaimia. Ei geneeristen työkalujen kehityksessä mitään asiakasorganisaatioiden prosesseja tarvitse tuntea."

No, ajattelin. Entäpä sitten? Miten suuren osan maailman esim. IT-konsultointi-investoinneista luulet syntyvän tuollaisten off-the-shelf -yleistuotteiden koodaamisesta (siis poislukien suunnittelu, testaaminen, sisältötuotanto yms. aiemmin mainitut, jotka eivät ole koodaamista)? Esitä arviosi prosenteissa.

Vinkki: vaikkapa Microsoftin liikevaihto kokonaisuudessaan ei ole laskettavissa vastaukseen, koska investointi tuotekehityksessä nimenomaan koodaamiseen ovat vain pieni murto-osa myyntihinnoista, joihin sisältyy myös omistajille tuleva voitto.

Linuxin ottaminen esimerkiksi (Markon mukaan) laajalle levinneestä koodauksen suunnittelemattomuudesta on about sama kuin ottaisi Apollo 11 -kuulennon esimerkiksi Mentos-colapullo -raketista poikineesta kehittelytyöstä... :D

Petri Muinonen Vastaus kommenttiin #188

Ja Marko, tuo kysymys oli osoitettu Samille... Jätäthän tilaa muillekin keskustelijoille

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen Vastaus kommenttiin #54
Käyttäjän SusannaKoivula kuva
Susanna Koivula

"Tämä ei tietenkään ole yllätys, että kristillisdemokraatti vastustaa loogisen ajattelun opetusta."

"Surulliseksi asian tekee se, että se aika koulussa, joka lapsilla menee koodauksen opetteluun, on poissa jostain muusta.»
Varmaan tavoittelet ilmauksella "jostain muulla" sanaa "uskonnonopetus"."

Ateisti näkee Jumalan joka paikassa?
Mahtaa olla raskasta.. ;)

--
Kiitos Saulille, tämä valaisi.
Tekniikan tohtorilta asiantunteva näkökulma.

Käyttäjän magi kuva
Marko Grönroos
    «Ateisti näkee Jumalan joka paikassa?
    Mahtaa olla raskasta.. ;)
    »

Jos kristillisten taholta kerran vuodessa tulee tälle foorumille kirjoitus, jossa kantaa ei perustella uskolla, Kristuksella, Jumalalla, pyhällä hengellä, enkeleillä, demoneilla, luomisella tai edes kristillisillä perhearvoilla, jää ateisti aivan hämilleen. Ehkä syystäkin.

Ahvenjärven kirjoitus henki myös vähän sellaista muinaishistoriaan jäämistä, mikä nyt vaivaa kristillisten maailmankuvaa laajemminkin.

Janne Suurosen kommentti oli kyllä järkevämpään suuntaan kuin Ahvenjärven kirjoitus.

Olisin kyllä vastannut omaan blogikirjoitukseesikin jotain muuta kuin että: "Tämä ei tietenkään ole yllätys, että kristillisdemokraatti vastustaa nuorten seksileikkejä", mutta siihen ei sitten ollut mahdollisuutta kommentoida.

Petri Muinonen Vastaus kommenttiin #183

Sopivasti kirjaillut lasit päässä estävät lukemisen sen sijaan, että helpottaisivat sitä. Maailmaa tai ihmisten mielipiteitä ei siten pysty arvioimaan kovinkaan objektiivisesti, vaikka yrittäisikin. Siis verrattuna niihin lukijoihin, joilla sanoma ei ylenmäärin värity sanojan perusteella.

Aasinsiltojen suuntakin kertoo lasien tehoista. Pullonpohjalinssit?

Käyttäjän opehuone kuva
Esa Mäkinen

Koodaus ei ole tulossa uudeksi oppiaineeksi. Matematiikan ja fysiikan oppiaineisiin tulee uutta sisältöä.

Varmin tapa todistaa tietämättömyytensä kouluasioista on vaatia jotain asiaa x uudeksi oppiaineeksi tai luulla jonkun uuden asian mukaanottoa uudeksi oppiaineeksi.

Käyttäjän topira kuva
Topi Rantakivi

Tuo oli hyvin sanottu. Aiemmin sanoin tässä sivustossa ylempänä, että olennaista koodin opiskelussa on ymmärtää fysiikkaa, matematiikkaa sekä kemiaa jonkin konkreettisten esimerkkien avulla.

Toisessa kommentissa kerroin esimerkkejä, miksi koodaus ei ikinä tule sellaiseksi ihmisten aineeksi, jos hän ei näe sitä ympärillään tapahtumaksi vaan koodauksen tehtäväksi jää niille ihmisille, ketkä pystyvät ajattelemaan vähän pidemmälle ja osaavat hyödyntää mitä toiset ihmiset eivät.

Ei kovan luokan metallimiestä saa tekemälläkään hoitajaksi vaikka toiset väittää, että kyllä kyllä saa.

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi

Oppiaine-sana tosin esiintyy kirjoituksessani, mutta eihän tämä koodaaminen mikään oppiaine tietenkään ole, enkä sitä onneksi jutussani väitäkään.

Käyttäjän opehuone kuva
Esa Mäkinen

Teknistyneen yhteiskunnan ymmärtäminen vähän pintaa syvemmältä on yleissivistystä. Ymmärtäminen ja hoksaamnen tuo jalat maahan, sellainen on koulun tärkeimpiä tavoitteita. Tarkoitus kun on näet kasvattaa aktiivisia kansalaisia elämän näyttämölle, eikä katsomossa möllöttäjiä passivisiksi kuluttajiksi, uskontojen, populistien ym. huijattaviksi.

Monessa kielessä on muuten hyvä sana oikein todella konkreettiselle ymmärtämiselle: käsittäminen.

Käyttäjän grohn kuva
Lauri Gröhn

Kumpihan on ihmisille tärkeämpää, koneiden vai ihmisten ymmärtäminen?

Kumpihan on ohjelmoijille tärkeämpää, koneiden vai ihmisten ymmärtäminen?

Käyttäjän yorka kuva
Atte Rätt

Onko tässä nyt siis jotain uuttakin? Minä kävin yläastetta 90-luvulla, ja sielläkin opetettiin ATK-tunnilla edes jonkinlaista Turbo Pascal -koodausta. Kovin vaikeaa se tuntui monelle olevan.

Jari-Matti Mäkelä

Ilmeisesti joku on myynyt tai tulee myymään kouluille uusia opetussysteemejä ja tarvitaan hypeä erottamaan se vanhasta aateekoosta. Kuulin muutama vuosi sitten, että niitä samoja piraatti-turbopascaleita oli ajettu Dosbox-emulaattorissa yläasteen atk-tunnilla, kun koulun koneet olivat liian nopeita pyörittämään sitä Pascalia suoraan (https://en.wikipedia.org/wiki/Runtime_error_200).

Käyttäjän JanneSuuronen kuva
Janne Suuronen

Mitähän koodaamisella tässä kontekstissä oikeastaan tarkoitetaan. Kyllähän vaikkapa makrojen luomisesta on suurimmalle osalle työikäisestä kansasta enemmän hyötyä, kuin pakkoruotsin alkeista. Tai html:n perusteista.

Käyttäjän askokorpela77 kuva
Asko Korpela

Ahvenjärvi oikeassa
Itse olen koodannut puolipäivätoimisesti lähes päivittäin vuodesta 1962, enkä osaisi ilman elää. Mutta yllättäen joudun olemaan samaa mieltä Ahvenjärven kanssa: ei tarpeen kaikille. Toisaalta taas: kovin vähällä vaivalla, parinkymmenen asian opiskelulla olisi saavutettavissa iso ilo ja hyöty html koodauksesta, samoin makrojen taitamisesta. Ehkä näihin pitäisikin perehtyä ilman erillistä oppiainetta, läpäisymenetelmällä, asiayhteyksissä. Näin varmaan tulee vähitellen tapahtumaankin.

Käyttäjän magi kuva
Marko Grönroos

Jep, juuri noin pienistä asioista on kyse siinä, miksi Ahvenjärvi on väärässä. Suurin osa ohjelmointitarpeesta ei ole ohjelmointityötä, vaan pientä juttua siihen sun tähän tarpeeseen. Toinen juttu on sitten se, että vaikkei varsinaista ohjelmointitaitoa oppisikaan, opitaan hahmottamaan tietokoneen toimintaa paremmin, aivan kuten ihmisen fysiologian tunteminen on hyvä juttu, vaikkei kaikista tulisi lääkäreitä.

Pasi Tolonen

Uskonnon opetuksen voisi hyvinkin korvata ohjelmoinnilla.

Käyttäjän eirikr kuva
Antti Ukkonen

Jos tulevaisuus on sitä, että pitää kyetä roboteille kertomaan, mitä haluaa, ei siitä mitään haittaakaan ole.

Jos samalla haravalla käy läpi kaikki kouluaineet, huomaa, että siellä on paljon turhaa roskaa joka on hyödyttömämpää kuin se, että osaa ohjelmoinnin alkeet maailmassa, jossa ohjelmointi liittyy kaikkeen.

Käyttäjän grohn kuva
Lauri Gröhn

Logiikkasi ns. kusee. Suhteellisesti ottaen ainakin 90 prosenttia koulun opiskelusta pitäisi olla kemiaa, koska materia todellakin liittyy kaikkeen.

Käyttäjän eirikr kuva
Antti Ukkonen

En minä puhunut suhteellisuudesta yhtään mitään. Lähinnä siitä, että jos ajattelee, ettei alkeellinen ymmärrys ohjelmoinnista hyödytä työelämää katsoen, niin mikä niistä aineista oikeastaan hyödyttää ja onko esim. peruskoulun tehtävä oikeastaan millään tavalla valmistaa lasta työelämään.

Minä näen mielelläni omat kakarani kyllä käyttämässä vaikkapa arduinoa välineenä samalla tavalla kuin itse käytin puukkoa vuoleskeluun. Teknologiaa pitää pyrkiä hallitsemaan tai se hallitsee sinua. Pelkän loppukäyttäjän osa on orjan osa.

Harri Salonen Vastaus kommenttiin #28

Kai nyt ymmärrät, että näet omat lapsesi toteuttamassa iskän unelmia? Tällä ei välttämättä ole mitään tekemistä sen kanssa, mitä lapset oikeasti haluavat tehdä..

Hyvä matematiikan osaaminen hyödyttää ohjelmoinnissa paljon enemmän kuin ohjelmoinnin alkeiden pakkotuputtaminen. Nyt efektiivisesti halutaan laskea matematiikan opetuksen tasoa (karsimalla opetettavia asioita), jotta saadaan kaikille perustietämys ohjelmoinnista.

Matemaattisesti orientoituneella ei ole vaikeuksia oppia ohjelmointia. Mutta millä korvataan opettamatta jääneet asiat matematiikassa, kun tavoitteena on vaan luoda ihmisiä, jotka tietävät vähemmän kaikesta, mutta laajemmalta alueelta?

Peruskoulun pitäisi olla perustieteitä varten ja nyt tungetaan jatko-opiskelujen yleissivistäviä aineita koska se on.. trendikästä? Tässä ei olisi mitään vikaa, jos opetus olisi valinnaista, mutta se on nyt tärkeästä opetuksesta pois.

Käyttäjän eirikr kuva
Antti Ukkonen Vastaus kommenttiin #31

Eivät ne ole mitään unelmia, minun tehtäväni vanhempana on antaa lapsille eväät pärjätä siinä maailmassa, mihin he kasvavat. Olen riittävän onnistunut, jos he ovat muutakin kuin loppukäyttäjiä ja kuluttajia.

Matematiikan ja ohjelmoinnin suhteesta en ole ihan vakuuttunut. Perusduunissa aika vähän tarvitsee, mutta olen kyllä huomannut nykyään harmittelevani, että menin siitä mistä aita on matalin omassa koulunkäynnissäni. Toki voin aina palata asiaan.

Viimeiseen kappaleeseesi en osaa sanoa oikein mitään. Minä näen, että koko peruskoulusysteemi on pelkkä itsetarkoituksellinen reliikki, joka pitäisi lyödä nurin ja rakentaa uusiksi.

Käyttäjän topira kuva
Topi Rantakivi Vastaus kommenttiin #86

Matematiikkaa ja fysiikkaa sekä kemiaa täytyy tuntea, jos aikoo jotain koodata ohjelmaa tai peliä.

Se on vähän sama kuin koodari, joka sanoo ettei painovoimalla ole väliä, ettei millään matematiikalla tai fysiikalla ole väliä. Olkoon maapallo litteä.

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi Vastaus kommenttiin #28

Minä en kritisoi sitä, että tietotekniikan periaatteita opetetaan koulussa. Kyllä siitä varmasti monille on hyötyä ja siksi esim. joku yläasteen ATK-kerho tai lukion valinnainen tietotekniikka ovat erinomainen asia. Mutta tulevaisuuden digitalisoituvassa maailmassa pärjääminen on minusta aivan kummallinen perustelu sille, että koko ikäluokalle jo pikkulapsina pitäisi opettaa koodaamista.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #28

Suhteellisuudesta:

Ukkonen: " ...että osaa ohjelmoinnin alkeet maailmassa, jossa ohjelmointi liittyy kaikkeen."

Eikä liity. Mutta materiaalit/kemia liittyy kaikkeen. Koulussa pitäisi opettaa pääasiassa kemiaa siis?

Toivottavasti tunnistat harhasi.

Käyttäjän eirikr kuva
Antti Ukkonen Vastaus kommenttiin #45

Tunnistan. Ei liity kaikkeen. Liittyy moneen!

Käyttäjän pekkapylkkonen kuva
Pekka Pylkkönen

En pidä sitä lainkaan huonona asiana. Koodaamisen alkeet opettavat äärimmäisen selkokielistä ajattelua ja algoritmien käyttöä ongelmanratkaisussa. Analyyttinen ja systemaattinen ajattelu kehittyvät. Minusta koodaus voi hyvinkin tukea matematiikan opetusta - ja tietysti muutakin oppimista.

Voisin hyvin kuvitella että oppilaille esimerkiksi funktion käsite selkeytyy nimenomaan ohjelmoinnin kautta paremmin kuin perinteisellä luokkaluennolla. Tai evoluution merkitys kun kirjoittaa "luonnonvalintaan" ja "satunnaisiin mutaatioihin" pohjautuvan tekoälyn.

Enää ei ohjelmointitaidottomalla sorvarillakaan tee oikein mitään. Lisäksi koodaus on erittäin tasa-arvoistava taito: kenellä tahansa on mahdollisuudet menestyä isosti parin satasen työkaluilla. Ja onhan meillä koulussa uskonto jolta kyllä riittää tyhjäkäyntitunteja hyödyllisempäänkin käyttöön.

Jari-Matti Mäkelä

Oma kokemus on, että imperatiivisilla kielillä koodanneilla on täysin vinoutunut käsitys funktiosta. Imperatiivinen funktio ei ota sisään tavaraa ja pulauta ulos jotain, vaan imperatiivinen funktio saattaa muuttaa lähtöarvoja ja kaikkea muutakin, mihin vaan saa otteen. Tämä ajatusmaailma tukee matemaattista ajattelua johonkin pisteeseen asti, mutta sen jälkeen se aiheuttaakin jo asennevammoja.

Puhdas funktionaalisuus olisi "matemaattiseen" koodaamiseen paljon parempi lähtökohta, mutta monelle ylivoimaisen vaikeasti omaksuttava konsepti. Puhtaissa funktionaalisissa kielissäkin joudutaan tekemään kompromisseja esim. datan jatkuvuuden ja joukkojen mahtavuuksien osalta, koska datatyypit ovat äärellisiä.

Käyttäjän erkkilaitila1 kuva
Erkki Laitila

Olen tutkinut reilun vuoden aikana Jyväskylän yliopistolle nimenomaan ohjelmoinnin opetusta eri maissa kouluissa, mutta myös siihen liittyviä laajempia aiheita, kun olen päätoiminen systeemiajattelun tutkija ja kehittäjä, ohjelmistotekniikan insinööri ja informaatioteknologian tohtori.

Olen samaa mieltä kuin Sauli ja Lauri. "Koodausta kaikille koululaisille" aihe on liian nörttimäinen peruskoulun alaluokille, eikä sovi kuin tietylle osalle poikia. Tytöt saattaa kyllästyä siihen, vaikka Linda Liukas sitä kovasti kampanjoikin.

USA:ssa aletaan sen sijaan jo 5-vuotiaille opettamaan kouluissa systeemiajattelua. Heillä on hieno materiaalipaketti www.watersfoundation.org. Systeemiajattelusta voi siirtyä ohjelmointiopetukseen, koska siinä opetetaan vastaavia yleisempiä teorioita ja tekniikoita sitä varten.

Englannissa teemana on Computational thinking eli laskennallinen ajattelu. Siinä yhdistetään matematiikka, laskettavuus ja ohjelmointi. Se on tavallaan systeemiajattelun osa-alue, koska siinä tähdätään ohjelmoitavuuteen, robottien ominaisuuksiin ja tietotekniikan haasteisiin yleensä.

Monissa Euroopan maissa ohjelmoinnin opetus on jo alkanut ala-asteilla (Ranska, Viro, Saksa..), ja tiettyjä helppoja perustyökaluja käytetään, esimerkkinä Scratch. Kyllä tytötkin Suomessa voivat Scratchia oppia. Tarmo Toikkanen on siinä ykköshenkilö Suomessa, samoin Tero Toivanen.

Itse suosittaisin jo alaluokille Suomeen systeemiajattelua USA:n tapaan ja Suomessa Nina Maunu kampanjoi sitä omilla tunneillaan.

Systeemiajattelu liittyy monialaisuuteen ja sen avulla voi selittää visuaalisestikin yhteiskuntaa, luonnon järjestelmiä, politiikkaa, vuorovaikutuksia, organisaatioita, yrityksiä ja tavallista ihmistä arjessaan. Jos lapset kouluissa ensiksi oppisivat sen, se auttaisi heitä paitsi opiskelussaan, koko elämänsä kun heillä on tarpeen siirtyä erilaisiin tehtäviin.

Olen kirjoittanut aiheesta kirjan "Systeemiajattelun tekniikka tehostamassa arkiajattelua". Se on tarkoitettu kaikille päättäjille ja tietotyötä soveltaville (esite: http://goodreason.fi/wp-content/uploads/2015/05/Go...)

Jussi Säntti

Ompa reilu irtiotto todellisten ohjelmoijien ajatusmaailmasta.

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi

Erkki, kiitos erinomaisesta kommentista!

Käyttäjän magi kuva
Marko Grönroos
    «"Koodausta kaikille koululaisille" aihe on liian nörttimäinen peruskoulun alaluokille, eikä sovi kuin tietylle osalle poikia. Tytöt saattaa kyllästyä siihen, vaikka Linda Liukas sitä kovasti kampanjoikin.»

Pitäisikö myös (korkeampi) matematiikka ja fysiikka poistaa oppiaineista, koska ne sopivat vain tietylle osalle poikia? Jostain maantiedon tähtitieteen jutuista nyt puhumattakaan. Ja runous äidinkielestä, kun se sopii vain tietylle osalle tyttöjä? Tietenkin koulussa opetetaan alkeita valtavan laajasta asioiden määrästä, enkä nyt näe ohjelmoinnin poikkeavan siitä, että pojille opetetaan teknisessä työssä elektroniikkaa ja höyläämistä. (Miksei opeteta tytöille?)

Mikä systeemiajattelun rooli tässä keskustelussa nyt oli? Se on varsin laaja meta-aihe, joka ei siis ole mikään "valitse tämä tai tuo" suhteessa ohjelmointiin tai muuhunkaan tekniseen osaamisaiheeseen. Ohjelmointi kuten vaikka kemian opetuksessa tehdyt kokeet antavat juuritason konkretiaa, systeemit ovat aivan toinen taso. Ihminen ylipäätään hahmottaa ja oppii käsitteellisen maailman konkretian, prototyyppien, kautta. Siksi niistä pitää lähteä bottom-up-suunassa ennen mitään kovin käsitteellistä. Ohjelmoinnissa on tietenkin myös valtavan laaja käsitteellinen systeemitasonsa, jonka hahmottaminen on osa oppimista.

Petri Muinonen

Sovitaan vaikka niin, että koodaamisesta työurana kiinnostuneille tehdään valinnaisaine, johon sisältyy koodaamista, Intian kulttuurin perustietämyspaketti ja menolippu ko. maahan,jossa moinen työ ehkä vielä v. 2025 ("ohjelmoivien alakoululaisten" kasvettua täysi-ikäisiksi) on tarjolla, vaikkei sillä enää sielläkään itseään elätä? :D

Käyttäjän vepsa kuva
Kimmo Vepsä

Aika raju väite tutkijalta sanoa, että koodaus ei oikein sovellu tytöille. Tervetuloa katsomaan opetustamme Ulvilan Vanhankylän kouluun. Kaikki tytöt ja pojat ovat innolla mukana koodaustunneilla.

Käyttäjän askokorpela77 kuva
Asko Korpela

Kiitos hienosta puheenvuorosta. Paljon asiaa, ajan tasalla.

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen
Käyttäjän NikoSillanp kuva
Niko Sillanpää

Koodaaminen millään laadullisesti siedettävällä tasolla vaatii kohtuullista matemaattista tietämystä. Huomattavalla osalla populaatiosta ei ole riittävää kognitiivista kyvykkyyttä sellaisen tason saavuttamiseen.

Käyttäjän janikorhonen kuva
Jani Korhonen

Koodaamista on monenlaista ja monentasoista, eikä kaikissa niistä todellakaan tarvita juurikaan matemaattista tietämystä.

Arttu Tanner

- Puhut siitä, että määrittely on tärkeää. Vaikka (kuten aiempi komentoija totesi) nykyään tehdään harvoin projekteja tuollaisella vesiputousmallilla (ensin määrittely, sitten toteutus, sitten valmis), niin silti on tärkeää, että myös määrittelijät ymmärtävät mitä tietokoneet osaavat tehdä helposti ja mikä niille on vaikeaa. Miksi on vaikka hyvin helppo liittää luontokuvaan automaattisesti sijainti, mutta hyvin hankalaa määritellä kuva automaattisesti vaikkapa kirjosiepoksi. Jos ei tiedä, miten tietokoneet ja tietokoneohjelmat toimivat, on nykyisen maailman käsittäminen aika hankalaa.

- Suurin osa maailman koodareista on keskinkertaisia (aivan määritelmällisestikkin). On erittäin paljon koodaustyötä, joka ei ole mitenkään erityisen hankalaa. Monissa töissä myös yksinkertaisesta koodaustaidosta on etua: voi vaikkapa automatisoida sähköpostivastauksia tai koodata näppärän pikkumakron excel-taulukkoon.

- Mikä älytön argumentti yleensä on, että jos kaikki eivät tule huipuksi, niin silloin sitä ei kannata opettaa. Todella harva tulee huipuksi, silti asioita kannattaa opettaa.

- Ohjelmoinnin ymmärtäminen auttaa ymmärtämään muita ongelmia ja sopii hyvin opiskelun tueksi. Ohjelmoinnissa idean joutuu miettimään tarkasti jolloin omat ajatuksetkin selkenevät. Vaikkapa Newtonin mekaniikan mallintaminen yksinkertaisessa ohjelmointiympäristössä saattaa avata asiaa paljon paremmin ja olla paljon mielenkiintoisempaa kuin kaavojen ja kuvaajien tutkiminen.

Käyttäjän grohn kuva
Lauri Gröhn

Romaanien lukeminen auttaa ymmärtämään ihmistä. Ohjelmointi ei.

Arttu Tanner

En kyllä täysin ymmärrä asiayhteyttä sillä:
- En ole väittänyt ohjelmoinnin auttavan ymmärtämään ihmistä.
- En ole väittänyt, että ohjelmointi ja romaanien lukeminen olisi keskenään poissulkevia toimenpiteitä. Yhtä aikaa molempien tekeminen toki voi olla haastavaa.

Käyttäjän DanielMalinen kuva
Daniel Malinen

Kirjallisuus on loistavaa, moni kabunokirjallisuuden teos kertookin päähenkilön ihmiselämästä ja matkasta. Hämmästyttävää myös on kuinka televisio-ohjelmista, piiretyistä ja sarjakuvistakin voi oppia kaikkea erikoisuuksia kuten nyt vaikka asterixista ranskalaista kulttuuria tai akuankasta historiaa ja politiikkaa.

Arttu Tanner

Ja se on kyllä aika paksu väite, että koodaus olisi ala-aste -ikäisille jotenkin mahdottoman hankalaa. Itse koodasin sujuvasti C64:n Basic:ia 10-vuotiaana, 12-vuotiaana jo jonkin verran PC-assemblyä. Enkä pidä itseäni mitenkään eritysenä lapsinerona.

Käyttäjän grohn kuva
Lauri Gröhn

Tuollaisilla minä tai kaveri argumenteiilla myydään uskomuslääkintääkin, hohhoijaa.

Koodaaminen tyhmentää.

Arttu Tanner

Ja varmaan ihmiset myös jatkavat uskomuslääkkeiden ostamista, jos vasta-argumentit ovat tasoa "hohhoijaa". Tuolle "koodaaminen tyhmentää"-tason väittelytaktiikalle taisi olla ihan latinankielinen nimikin.

Koitin tuoda esille, että ohjelmointi ei lähtökohtaisesti ole mitenkään vaikeampaa kuin monet muut koulussa opetetut asiat. Jos olet eri mieltä, sinulla on varmasti tästä viitteitä tutkimuksiin.

Isompi otos ohjelmointitaitoisista ala-asteelaisista löytyi muutama kuukausi sitten, kun Oulun yliopistossa oli lego-ohelmoinnin SM-kisat (en muista kilpailun nimeä tarkasti valitettavasti). Siinä 4-6 -luokkalaiset olivat rakentaneet ja ohjelmoineet lego-robotteja, jotka osasivat seurata viivaa, kiertää esteitä ja löytää uudelleen seurattavalle reitille. Ei jää enää kauas teollisuusrobotista.

Petri Muinonen Vastaus kommenttiin #51

"Koitin tuoda esille, että ohjelmointi ei lähtökohtaisesti ole mitenkään vaikeampaa kuin monet muut koulussa opetetut asiat. Jos olet eri mieltä, sinulla on varmasti tästä viitteitä tutkimuksiin."

Niin koetit, joo. Mutta epäonnistuit, koska todistamisen taakka on sinulla: viittaus "muhun ja kavereihin" ei todista mitään. Jos saat tuolle omalle väitteellesi ensiksi jotain tukea, sitten vasta on perusteet pyytää Lauria tuomaan viitteitä vastakkaisiin tutkimuksiin.

Näin se menee, (lähde)kriittisen lukijan syynissä.

Arttu Tanner Vastaus kommenttiin #59

Hyvä, että olet kuitenkin konsistentti tämän "minä ja mun kaverit" -väittelylinjan tuomitsemisessa:

Perttu Pulkkinen 13.10.2015 11:18
Pakko on aina epäilyttävää, olen varma, että monille koodaus olisi tervanjuontia.
Itse otin yläasteella valinnaisena aineena atk:n ja nautin siitä.

Petri Muinonen 13.10.2015 12:23
+ 1 * peukku ylös *

Pertun kokemus kelpaa, mun ja muutaman opettajan ja rehtorin ei.

Käyttäjän janikorhonen kuva
Jani Korhonen

Eihän suurinta osaa koulussa opetetuista taidoista tarvita työelämässä. Tuskin ohjelmoinnin opettamisen tarkoitus on, että kaikista tulisi ohjelmoijia. Opetetaanhan koulussa ainekirjoittamistakin, eikä sen ideana ole, että kaikista tulisi dekkarikirjailijoita.

Ohjelmoinnin voi hyvin ajatella olevan yleissivistykseen kuuluva taito. Siinä ikään kuin opetellaan keskustelemaan tietokoneiden kanssa. Kuten Ahvenjärvi itsekin kirjoittaa, prosessoripohjaisia vempeleitä tosiaan alkaa olla siellä sun täällä. Ei minusta ole huono ajatus, että koulussa opetettaisiin, mitä niiden laitteiden sisällä tapahtuu, ja joitain tapoja kommunikoida niiden kanssa.

Ohjelmoinnin opetuksen voi ajatella olevan ikään kuin uuden modernissa maailmassa tarvittavan kielen opettamista. Mistä tulikin mieleeni, jos ollaan huolissaan siitä, että ohjelmoinnin opetus vie aikaa tärkeämpien aineiden opettamiselta, niin tunnit ohjelmoinnin opettamiseen voisi ottaa ruotsin kielestä. Ruotsinkielisten ihmisten kanssa voi jutella englanniksi, ruotsalaiseen kulttuuriin voi tutustua suomenkielisistä lähteistä ja tulevaisuudessa ruotsin (ja minkä tahansa muun kielisen) tekstin voi kääntää tietokoneella -- jos osaa käyttää sitä.

Käyttäjän grohn kuva
Lauri Gröhn

Varsin surkeaa atgumentointia:

"suurinta osaa koulussa opetetuista taidoista tarvita työelämässä. Tuskin ohjelmoinnin opettamisen tarkoitus on, että kaikista tulisi ohjelmoijia. Opetetaanhan koulussa ainekirjoittamistakin, eikä sen ideana ole, että kaikista tulisi dekkarikirjailijoita."

Ainekirjoituksessa opitaa etenkin argumentointia ...
Muutenkin vertaus kusee.

Hohhoijaa:
"Ohjelmoinnin voi hyvin ajatella olevan yleissivistykseen kuuluva taito. Siinä ikään kuin opetellaan keskustelemaan tietokoneiden kanssa"

Myös täydellisen harhainen analogia:

"Ohjelmoinnin opetuksen voi ajatella olevan ikään kuin uuden modernissa maailmassa tarvittavan kielen opettamista."

Modernin maailman tarpeet ovat ihan toisen suuntaisia.

Käyttäjän magi kuva
Marko Grönroos
    «Ainekirjoituksessa opitaa etenkin argumentointia»

Sinulla argumentointitaito vaikuttaa rajoittuvan sanaan "hohhoijaa". Olen tästä useamman kertaa huomauttanut koskien blogikirjoituksiasikin, että vain taivastelet, et argumentoi.

Petri Muinonen Vastaus kommenttiin #50

Josko tuo taivastelukin on pohjimmiltaan ohjelmointia samassa mielessä kuin sisällöntuotanto sinulle? Saahan se sinulta aina aikaan tietyn reaktion :D

Käyttäjän janikorhonen kuva
Jani Korhonen

- " Sellainen koodaaminen, josta esimerkiksi työelämässä olisi jotain hyötyä EI OLE MIKÄÄN JOKAMIEHEN TAITO, EIKÄ TULE KOSKAAN OLEMAAN."

Koskaan ei pitäisi sanoa "ei koskaan"...

Tomi Koivisto

Tämä on ihan uskomaton ketju :D Ehkä kannattaisi tosiaankin ohjelmoinnin ohella käydä yleisesti ottaen kaikki tietotekniset asiat "how stuff works" ihan yksinkertaistetuilla malleilla ja kiinnostavilla ja "hauskoilla aeimerkeillä

Joni Haapasalo

Hauska ketju! Näköjään me suomalaiset saamme riidan aikaiseksi aiheesta kuin aiheesta! Kuinkahan monella täällä on oikeasti kokemusta koodaamisesta? Keskustelun kiivaustasosta päätellen, niin ei kauhean monellakaan! Pääasia, että pääsee ottaa miehestä mittaa - oli se laji mikä hyvänsä! 8D

Petri Muinonen

Kun kysyt: minulla ei niin monen monta tuhatta riviä. Mutta ohjelmointi oli kuitenkin merkittävä osa leipätyötäni niin kauan kun en ollut IT-alalla, vaan yliopistolla, töissä. Näin jouduin ohjelmoimaan, koska siellä ohjelmien tarve oli tutkimus-spesifinen ja numeerisia mallinnustyökaluja yms. ei ollut valmiina mistään saatavilla. Numeeristen tulosten visualisointi hoitui sitten ihan valmisohjelmin, joihin saattoi ehkä joutua joitain makroja väsäämään.

Missä näet riitaa? Minä näen vain heikompia ja vahvempia argumentteja, väittelyssä alakynnessä ja voitolla olevia keskustelijoita :D

Käyttäjän uninenmies kuva
Tuomo Niemelä

@Haapasalo
Luulen nimenomaan tästä ketjusta löytyvän aika paljonkin ohjelmointikokemusta. Mutta hitto kun en 2 päivän tunteinakaan ole vielä ehtinyt tätä ketjua loppuun asti :D

Itse asiassa on pakko kysyä uudistuksen vastustajilta ovatko takapajuisuudessaan mahdollisesti piilopersuja(TM)?

Käyttäjän deneidez kuva
Petri Pakarinen

Ohjelmistot menevät koko ajan siihen suuntaan, että käyttäjä voi niitä konfiguroida tai muokata. Täsmälleen sama ilmiö kuin peleissä modaus. Jos haluaa käyttää tehokkaasti ohjelmaa, niin voi joutua muokkaamaan sitä. Tuohon muokkaukseen tarvitaan yksinkertaista tietämystä ohjelmoinnista, koska muokkaus mahdollistetaan yleensä yksinkertaisella skriptikielellä.

Käyttäjän vepsa kuva
Kimmo Vepsä

Moi, kuten huomaat, niin jostain syystä nämä +50 ihmiset näkevät tässä jotain "pahaa". Oppilaat koulussani "koodaavat" ekaluokasta lähtien ja suhtautuvat tähän kuten muidenkin tietojen ja taitojen oppimiseen. En oikein ymmärrä koko keskustelua siitä, mitä taitoja ei pitäisi opettaa. Itse en ymmärrä, miksi kaikkien täytyy opetelle virkkamaan. Ei hirveän tärkeä perustaito tulevaisuuden työmarkkinoille. Itse en osaa ja olen pärjännyt. Terveisiä, Kimmo Vepsä, reksi

Käyttäjän grohn kuva
Lauri Gröhn

Käden taidot kehittävät aivoja, koodaaminen jumiuttaa.

Petri Muinonen Vastaus kommenttiin #77

Tästä täysin samaa mieltä, kulloisenkin ohjelmointikielen keksijän laittamiin rajoihin kangistuminen tappaa luovuuden totaalisesti.

Kuvitelkaa nyt: käytä vartti tai puoli tuntia koululaisen aikaa siihen, että hän joutuu saalistamaan syntaksivirheitä, puuttuvia pilkkuja tai kenoviivoja, muutaman rivin ohjelmakoodipätkästä! Mm. välimerkkivirheiden ja lauserakenteen tarkastaminen äikän aineesta on paljon yleishyödyllisempi ja koulun tarkoitusta vastaava tehtävä.

Ovatko nuo ohjelmointia yleishyödyllisenä osaamisena pitävät henkilöt niin täysin nörttejä, etteivät ymmärrä ympäröivää maailmaa ja keskeisempiä työelämän vaatimuksia laisinkaan, vai mikä heitä oikein riivaa? Siis mikä estäisi oppimasta ohjelmointia vasta silloin, kun se oikeasti tulee tarpeelliseksi (mm. monissa korkeakouluissa ja ammatillisissa opinnoissa)???

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #83

Kyllä lukiossa voisi olla yksi kurssi kaikille vähän ammatinvalintaa valmistelevasti, mutta ilman noita robottileikkejä.

Petri Hautamäki Vastaus kommenttiin #83

En nyt varsinaisesti ota kantaa siihen, että pitäisikö ohjelmointia opettaa ala-asteelta lähtien kaikille ja miten se mahdollisesti tulisi tehdä. Mutta sen verran täytyy sanoa, että tämä ketju on ollut varsin viihdyttävää luettavaa. Suurena syynä tähän pidän erästäkin parivaljakkoa, joista ensimmäinen käy säännöllisesti kertomassa kuinka milloin mikäkin kehittää aivoja ja koodaaminen puolestaan vain jumittaa niitä, jonka jälkeen toinen käy ikään kuin heittämässä lihaa luiden ympärille. Kiitos näistä!

Kuten muukin teknologia, myös ohjelmointikielet kehittyvät jatkuvasti hurjaa vauhtia. Monissa kielissä on nykyään mahdollisuus metaohjelmointiin, eli itse kielen ohjelmoimiseen. Tämä tarkoittaa sitä, että "ohjelmointikielen keksijän laittamia rajoja" ei käytännössä ole, vaan voit halutessasi kehittää kieltä edelleen vastaamaan paremmin omia tarpeitasi. Mikäli tämäkään ei riitä, kukaan ei estä sinua myöskään luomasta täysin omaa kieltäsi. Sellaisen käytännöllisyydestä en tiedä, mutta mahdollista se on. Mikä tässä siis on se juttu, mikä tekee ohjelmoinnista jotenkin niin kauhean rajoittavaa ja aivoja jumittavaa?

Myöskin puuttuvat pilkut ja muut syntaksiin liittyvät asiat ovat enenevissä määrin jäämässä historiaan, sillä nykyään monissa kielissä esimerkiksi puolipisteet rivien lopussa ovat vapaaehtoisia. Jonkinlainen rakenteellisuus tulee tietenkin aina säilyttää, mutta niinhän sitä täytyy osata laskintakin näppäillä oikeassa järjestyksessä, mikäli haluaa saada haluamansa lopputuloksen.

Kylmä fakta on se, että ohjelmistoprojektin onnistuminen riippuu pitkälti myös asiakkaasta - mikäli asiakas ei ymmärrä ohjelmistotuotannon perusasioita, ei hän välttämättä osaa keskittyä oikeisiin asioihin. Hän voi esimerkiksi pyytää täysin vääriä asioita, ja pahimmassa tapauksessa tämä voi johtaa projektin täydelliseen epäonnistumiseen. Asiakasta voi tietenkin yrittää jonkin verran ohjata oikeaan suuntaan, mutta mikäli he eivät haluamaansa yhdestä paikasta saa, he voivat ostaa sen muualta. Koska tulevaisuudessa yhä useampi henkilö pääsee / joutuu olemaan mukana ohjelmistoprojekteissa, olkoonkin se sitten vaikka siellä asiakkaan puolella, olisi oleellista, että myös heillä olisi ohjelmistotuotannon perustiedot hallussa. Näkisin siis, että ainakin jossain vaiheessa peruskoulua olisi hyvä opettaa perustiedot näistä asioista ihan kaikille oppilaille. Halukkaat voisivat sitten lisätä tietämystään valinnaisilla jatkokursseilla.

Jari-Matti Mäkelä Vastaus kommenttiin #133

Olet 60 vuotta jäljessä. Lispissä ei lauseita erottavia puolipisteitä ole tarvittu ikinä. Metaohjelmointia tukevia kieliä on myös ollut jo ikuisuus. Pistetään nyt vaiks http://www.cs.indiana.edu/pub/techreports/TR194.pdf

Opetuksessa on ikuisuus myös ollut visuaalisia Lispejä:
https://en.wikipedia.org/wiki/Logo_%28programming_...
http://snap.berkeley.edu/

Jari-Matti Mäkelä Vastaus kommenttiin #83

Nykyään kun opetuksessa käytetään myös visuaalisia kieliä (Scratch, Snap jne), syntaksin nyanssit ovat vähemmän oleellisia. Iso osa syntaksikikkailuista on sitä perua, että ohjelmat jäsennetään LR/LL-tyylisesti, jolloin tietynlainen formaali muotti on tärkeä. Toivoisi kyllä ihan ammattilaisillakin, että ASCII-pohjaisuudesta joskus päästäisiin. Käännöstyökalut ovatkin koko ajan menneet enemmän abstraktin syntaksipuun suorien muokkausten suuntaan.

Käyttäjän usjussi kuva
Heikki Karjalainen

Hyvä kirjoitus Ahvenjärveltä

Olin nuorempana Cobol- ohjelmoija ja syteemisuunnittelija. Silloin jo tuli esiin se, että sen kielen kyllä oppii, vaikka vaivojen kautta, MUTTA ...

... ohjelmoijan tärkein tehtävä ei ole itse asiassa ohjelmointi, vaan ymmärtäminen siitä, mitä tulee ohjelmoimaan. Monipuolinen tieto siitä alueesta, mitä ohjelmoi, monipuolinen kokemus laajasti ottaen lähes kaikesta liiikkuvasta ja liikkumattomastakin.

Pahin esimerkki muutaman vuoden takaa oli kaikkia sanomalehtiä koskevan levikkiohjelmien synnyttämien saati sitten ilmoitusmyyntijärjestelmät asiakaspintoineen.

Huonon ohjelmoinnin ja tietämyksen puutteen (määtittely) syntyi ohjelmistorakenne joka kuormitti kapasiteettia niin, että "rautaa" jouduttiin ostamaan tuplamäärin niistä ohjelmista suoriutuaksemme.

Nyt lähdetään väärästä päästä liikkeelle koodauksen opettelusta- sen oppii, mutta elämää ei opi kokematta elämää.

Käyttäjän magi kuva
Marko Grönroos

Tämä on erittäin tärkeä pointti, että kaikki ohjelmointi lähtee sovellusalueen tuntemisesta. Se ei silti ole mitenkään poissulkeva teknisen tekemisen kanssa vaan ne täydentävät toisiaan, ihan yhtä lailla kuin että venettä rakentavan timpurin on hyvä tietää paljon purjehtimisesta. Ilman veistotaitoa siitä ei kuitenkaan tule mitään.

Sanot, että tarvitaan "monipuolista kokemusta laajasti ottaen lähes kaikesta liiikkuvasta ja liikkumattomastakin". Ohjelmointi on osa sitä laajaa kokemusta!

Sitä kouluissa juuri annetaan, monipuolinen ymmärrys maailmasta ja tekemisen taidot.

Käyttäjän usjussi kuva
Heikki Karjalainen

Kyllä, mutta koulu on vasta koulu. Kokemus tuo sen osaamisen nyansseineen ja myös virheiden välttämiseen.
Jos koodaus käsitetään tänään vain peliohjelmien luomisessa, olemme hirveän väärällä tiellä.

Käyttäjän magi kuva
Marko Grönroos Vastaus kommenttiin #136

Niin tietenkin. Ei koulussa ammattilaisia vielä tehdä, ei ohjelmoijia, rokkitähtiä eikä kirjailijoita.

Käyttäjän buimonen kuva
Börje Uimonen

Opetetaan kaikille laajasti matematiikkaakin vaikka elämästään valtaosa selviää neljän peruslaskutoimituksen hallinnalla.

Koodauksen opettaminen on hyvä katsaus digitalisaation syövereihin. Silloin ne lapset jotka havaitsevat koodaamisen ja oman loogisen ajattelumallin tukevan toisiaan osaavat hakeutua myöhemmin alalle.

Itse olin silloin 30+ vuotta sitten varma, että minusta tulee kemisti tai biologi. Lyhyt ohjelmoinnin perusteet kurssi yliopistolla ohjasi ammatinvalinnan kerralla tietotekniikan pariin. Hyvä niin, vaikken olekaan lopulta varsinaisesti ohjelmoinut kovin paljon. Järjestelmähankkeiden johtamisessa teknologian riittävästä ymmärtämisestä on etua.

Käyttäjän VilleHeiskanen kuva
Ville Heiskanen

Juuri näin ajattelen myös itse. Koodauksen kurssista voi helposti tehdä sellaisen, että se sopii kaikille taitotasoille, eli matematiikan hyvä tai huono hallinta ei ole kynnyskysymys. Olisi lähinnä yleissivistävää opettaa lapsille miten ohjelmia tehdään. Vaikka valtaosa ei tarvitse taitoja mitenkään, niin joukosta voi löytyä aina niitä, joille tulee johdatus alalle. Heidän innovaationsa voivat lopulta olla tärkeitä yhteiskunnallisesti.

Yksinkertaisesti opettamisen voisi jakaa kahteen osioon: 1. Miten ohjelma tuottaa jotain interaktiivista näytölle ja 2. Miten ohjelmoilla pystyy ohjaamaan laitetta. Nämä molemmat kohdat ovat tulevaisuuden yhteiskunnassa yhä merkittävässä roolissa ja perusymmärrys siitä, miten palikat sopivat yhteen, olisi hyvä olla opetuksessa.

Käyttäjän grohn kuva
Lauri Gröhn

Kun joku vielä kertoisi mitä hyötyä tuosta on. Haitat moninaisia.

Käyttäjän buimonen kuva
Börje Uimonen Vastaus kommenttiin #78

Antaa erityisesti tytöille luontevan pakollisen tutustumisen tietotekniikan syövereihin. Tietotekniikka on edelleen vahvasti sukupuolittunut ammattikunta, vaikkei vahvoista lihaksista ole siinä mitään hyötyä. Monella tytöllä olisi luontaista lahjakkuutta alalle, mutta ei mitään syytä tutustua siihen tarkemmin.

Käyttäjän SamiKuhmonen kuva
Sami Kuhmonen Vastaus kommenttiin #78

Vaikkei trolleja saisi syöttää, voisit edes vaivautua objektiivisesti keksimään mitä haittaa on näiden oppimisesta? Vaiko sama kuin yleensäkin tiedon lisääntymisestä: ei voida enää huijata niin helposti ja tasa-arvo paranee? Se on toki ikävää :(

Tomi Koivisto

Jes, kaikissa asioissa liian kapea-alainen tietämys, liian suuri keskittyminen yhteen asiaan vie suurempaa kokonaisnäkemystä pois. Nythän on niin kenttä aiheessa kuin aiheessa on niin pirstaloitunut että harvalla on todellista tietämystä kaikesta. Silloin myöskään demokratia ei toimi kunnolla jos kaikki äänestäjät on ns. pahvipäitä :D

Käyttäjän erkkilaitila1 kuva
Erkki Laitila

Tässä ketjussa on valtaisa määrä mutukäsityksiä, mikä panee naurattamaan. Kaikki väittävät silti ihan vakavalla naamalla.

Pienessä Suomessa ei kannata mennä yritys-erehdys-menetelmällä jalat edellä puuhun, vaan parhaista maista pitäisi saada kokemusta ja opetussuunnitelmarunkoja. Maailma kansainvälistyy; tämän palstan monilla opeilla suomalaiset koululaiset jäisivät kehityksestä paitsi.

Nyt on kuitenkin jo valittu koodausta kaikille - teema, mikä melko varmaan aiheuttaa ahdistusta ainakin opettajille, mutta IT kouluttaja - järjestö omalla työllään pyrkii järjestämään opettajille opetusta.

Linjakkaampi valinta USA:n ja Englannin tyyliin olisi ollut hieno valita Suomen opetussuunnitelmaksi: ensin holistinen systeeminäkökulma ja sitten laitteet ja koodi.

Käyttäjän JuhoJoensuu kuva
Juho Joensuu
Käyttäjän uninenmies kuva
Tuomo Niemelä

Osallistu Laitilakin ihan huumorintaju mukana. Itselleen on hyvä nauraa, kunhan ei ota sitäkään (itseä) liian vakavasti. Ei se Suomi tämän ketjun keskusteluun kaadu.

Jos Suomi oikeasti on niin vahva ICT:ssä, kuin mainostetaan, eikö riitä tietää, mitä ulkomailla suurin linjoin tehdään?

Jos Suomen tulevaisuudesta välität, suosittelen käymään vaikka tuolla:
https://www.suomenuutiset.fi/talousviisaat-pohtiva...

"Computing thinking" kaikkine suomennoksineen pitäisi kieltää Kotuksen tätien kaulimen uhalla ja ottaa käyttöön ensiavuksi tarjoamasi systeemiajattelu.

Käyttäjän vepsa kuva
Kimmo Vepsä

Pidetäänhän asiat oikeissa mittasuhteissa. Toimin ison alakoulun rehtorina ja koodaus on ollut meillä kolmannen luokan iso juttu. Oppilaat ovat tutustuneet koodaukseen ja tehneet pieniä sovelluksia. Osa oppilaista ovat innostuneet asiasta ja saaneet kipinän kehittää omaa taitoaan. Yhden luokan oppilaat ovat opettaneet koko koulun muut oppilaat ja osan opettajista koodaamaan. Itse en ole vielä oppitunnille ehtinyt mukaan. On mielestäni vaikeaa ajatella, että mitkä tiedot ja taidot ovat oppilaille turhia. Annamme täällä koulussa monenlaista tietoa elämän eri osa-alueilta. Tutkimme ilmiöitä ja pohdimme, miten maailma ympärillämme rakentuu. Koodaus on yksi tällainen juttu. Oppilaat ovat innoissaan asiasta ja ymmärtävät tätä kautta, miten teknologinen ympäristö toimii. Meidän lapset astuvat tulevaisuudessa työelämään, joka sisältää työtehtäviä joita tänään emme tunne. Koodaus on antanut meille mahdollisuuden kurkata koneen sisään. Oppilaille se on jännittävä hetki. En näe mitään syytä tätä asiaa paheksua. Ja aloitamme myös koodikerhon niille oppilaille, jotka haluavat omaksua vähän enemmän. Onko pannunalusen virkkaaminen valmistautumista huomisen työelämään?

Käyttäjän grohn kuva
Lauri Gröhn

Virkkaaminen kehittää aivoja. Koodaaminen jumiuttaa.

Lapsille todennäköisesti tarjotaan harhaisia mielikuvia koodaamisen varhaseisen aloittamisen hyödyistä. Haittoja on enemmän.

Käyttäjän usjussi kuva
Heikki Karjalainen

Kyllä !

Kädentyön taidot oppimisen kannalta auttavat myös elämästä selviämiseen saati soittamisen opettelu eri instrumenteilla tai jopa voimistelu tai marjanpominta.

Käyttäjän DanielMalinen kuva
Daniel Malinen

Kyllä tietokoneen ja älylaitteen käyttö jumittaa aivoja, syy ei kuitenkaan ole ihmisessä vaan tämän helppoa haluavissa ja energiatehokkuus hakuisissa aivoissaan, aivan kaikilla. Älylaitteen käytäjä joutuu käyttämään vähemmän aivojaan ja siitä se kierre lähtee.

Käyttäjän rutanen1965 kuva
Jari Rutanen

..ehdottomasti samaa mieltä Saulin kanssa!

Itsekin koodarina väittäisin, että koodaaminen sopii ehkä prosentille väestöstä.

Tuosta prosentista prosentti on sitä ydinporukkaa "guruja" joka vie koko alaa eteenpäin tyyppiä Linus Torvalds et co.

Suurissa ohjelmistoprojekteissa keskeisiä ongelmia ovat vaatimusmäärittely, kuten Sauli mainitsee, sekä projektinhallinta. Ohjelmistotekniikka on vasta kolmantena jos sitäkään.

----

Koulussa lapsukaisille pitäisi tarjota oikeaa, esim projektiluonteista, tekemistä pulpetissa kököttelyn sijaan. Sekä luovaa toimintaa: kirjoittaminen, näytteleminen, käsityöt, kuvataide, musiikki ..

Lapsukaisemme ovat kyvykkäämpiä ja lahjakkaampia kuin ymmärrämmekään.

Annetaan heille mahdollisuus näyttää se!

Käyttäjän teresammallahti kuva
Tere Sammallahti

Ei kai kukaan olettanutkaan, että tarhasta tai peruskoulusta tulee kovaksi keitettyjä koodaajia, joista jokainen mullistaa maailman? Automaatio ja tietotekniikka ovat niin olennainen osa jokapäiväistä elämäämme, että koodauksen perusteita voidaan pitää yhtä relevantteina opintoina kuin matematiikkaa, maantietoa ja biologiaa.

Yhtä hyvin voisi sanoa, ettei ole järkeä opettaa lapsille koulussa fysiikkaa, koska suomalainen liike-elämä ja akatemia ei tarvitse harrastelijafyysikoita.

Ironista tässä on se, että kritiikki tulee kristillisdemokraatilta, joka eittämättä ajattelee erillisten uskontotuntien olevan jotain tarpeellista.

Käyttäjän grohn kuva
Lauri Gröhn

Kerropa muutamin sanoin, miten koodaus auttaa lasten maailmankuvan kehittymisessä. Se ja kulttuurin siirto ovat koulun päätehtäviä.

Käyttäjän teresammallahti kuva
Tere Sammallahti

Minä kun kuvittelin, että koulun tehtävä on opettaa ihmisille yleissivistystä ja taitoja, joista on myöhemmin hyötyä.

Miten matematiikka auttaa lasten maailmankuvan kehittymisessä tai kulttuurin siirrossa? Entä fysiikka?

Suomi on hukassa, jos täällä ajatellaan, että ihmisille ei tulisi opettaa edes perusteita yhdestä maailman isoimmista teollisuudenaloista, jotka ovat läsnä elämässämme jatkuvasti ja enenevissä määrin.

Petri Muinonen Vastaus kommenttiin #106

Onnittelut vakuuttavasta trollauksesta :)

Käyttäjän teresammallahti kuva
Tere Sammallahti Vastaus kommenttiin #108

En minä ole mitään trollannut, mistä sait sellaista päähäsi?

Käyttäjän hilkkalaronia kuva
Hilkka Laronia

Koodaus ei ees ole ylivoimasta, mutta mitä järkeä opetelle ykstyiskohtasta asiaako maailma muuttuu ja sen voi hyvin opetella, jos tarttee.

Jarkko Sakkinen

Saulia lainatakseni mielestäni biologian opetus pitäisi lakkauttaa, koska hyväksi biologiksi ei voi tulla kuin määrätietoisen opiskelun, kova työn ja pitkän kokemuksen kautta. Samoin uskonnon opetus pitäisi ehdottomasti lakkauttaa, koska kaikki eivät usko Jumalaan, vaikka kirkkoon kuuluvatkin.

Käyttäjän anttialfthan kuva
Antti Alfthan

En oikein käsitä mikä tässä on ongelma ja mitä tässä taivastellaan.

Algoritmien ja yksinkertaisten systeemien ymmärtäminen on perustaito/-tieto siinä missä puun veisto ja puun syiden ymmärtäminenkin. Kyse on ajattelusta ja luovuudesta, eväistä siihen. "Koodaamisen" opettaminen viisaasti toteutettuna tukee monia muita aineita koulussa: matematiikkaa ja fysiikkaa tietysti, mekaniikkaa - siinä tarvittavaa ajattelua - jos sitä tarkastellaan, mutta myös aineita missä oppilas voi toteuttaa itseään esimerkiksi pelien suunnittelussa tai perinteisen koulunäytelmän valaistuksen ja musiikin tekemisesä. Mahdollisuuksia on hyvin paljon.
Me emme voi tietää millaiseen maailmaan lapsemme kasvavat, eivät todennäköisesti siihen mitä kuvittelemme, johonkin muottiin puristaminen ei ole hyväksi, mutta avaimien tarjoaminen tulevaan sopeutumisen helpottamiseksi ei voi olla väärin tai vähemmän viisasta.

Käyttäjän grohn kuva
Lauri Gröhn

Virkkaamisessa, kokkauksessa jne. käytetään algoritmeja. Koodausta ei tarvita tuon vuoksi.

Petri Muinonen

Juurikin noin. Algoritmien laatiminen on eri asia kuin koodaaminen tai ohjelmoiminen; jälkimmäinen on vain yksi tapa saada tuloksia algoritmia soveltaen.

Täällä tuntuu olevan tärkeintä vain suoltaa some täyteen käsitteitä, käsittämättä itse mitä niillä yleisesti, oman pään ulkopuolella, ymmärretään! Jospa sovittaisiin, ettei jokainen kommentoija yritä määritellä käsitteitä uudelleen, voitaisiin jopa alkaa keskustellakin - ohitsepuhumisen sijasta.

Käyttäjän anttialfthan kuva
Antti Alfthan

Jos sana "algoritmi" jotenkin hiertää, voi kommentoija Gröhn puolestani työntää sen kyberneettisen systeemin ulostulon tukkeeksi. Lupaan puolestani välttää sanan "output" käyttöä tekoälykkäässä seurassa.

Käyttäjän topira kuva
Topi Rantakivi

95@

Minä kävin peruskoulussa muutaman tunnin virkkaamisessa, mutta se ei vain soveltunut minulle lainkaan enkä ole nykypäivänäkään käyttänyt virkkaamista lainkaan.

Sinä aikana peruskoulussa pakotettiin niin, että pojat siirtyivät virkkomiseen ja tytöt käsityöhön. Molemmissa kehnot tulokset.

Oikeasti pitäisi jo ekaluokkalaisesta lähtien, että kokeilee molempia asioita eikä vain erikseen poikien ja tyttöjen luokiksi. Ne ovat epärehellisiä.

Käyttäjän vepsa kuva
Kimmo Vepsä

Juuri näin. En itsekään kyllä ymmärrä tätä asian problematisointia. Koulussani koodataan ja se on lapsista hauskaa. Meillä on jopa koodikerho alkamassa. Annamme monenlaisia avaimia oppilailla moniin eri oviin. Tämä on yksi. Emme me koodaa ydinsukellusveneen ohjausjärjestelmiä, mutta pieniä, hauskoja asioita. Koodaamalla koneen tekemään omia juttuja, oppilas saa ajatuksen siitä, miten moni asia toimii. Haluamme kouluna olla mukana kehityksessä ja antaa lapsille hyvät valmiudet kohdata uudenlainen maailma.

Käyttäjän grohn kuva
Lauri Gröhn

Puuhastelu vailla olennaista oppimista on monista hauskaa. Mutta koulun tarkoitus ei ole toimia leikkikouluna...

Käyttäjän topira kuva
Topi Rantakivi Vastaus kommenttiin #146

Vaan antaa eväitä elämän tielle. Sama pätee ammattikouluihin, korkeakouluihin, yms.

Käyttäjän perttupulkkinen kuva
Perttu Pulkkinen

Pakko on aina epäilyttävää, olen varma, että monille koodaus olisi tervanjuontia.

Itse otin yläasteella valinnaisena aineena atk:n ja nautin siitä.

Käyttäjän Taukovihko kuva
Timo Kilpiäinen

Suomi oli paras mahdollinen Suomi 1970-luvulla. Kaikki sen jälkeen tullut on roskaa ja epämiellyttävää.

Tosiasiassahan Ahvenjärven kannattaisi ottaa selville, mitä se koodaaminen kouluissa oikeastaan tarkoittaa ennen kuin vetää hernettä nenäänsä.

Se tarkoittaa logiikan, perustason syy-seuraussuhteiden ja matemaattisten mallinnusten perustaitojen opettelua niiden teknologioiden avulla, jotka meillä nykyään ovat käytössä.

On ihan turha hurskastella omalla osaamisellaan, jos ei jaksa tai ymmärrä ottaa selvää, mitä sillä "koodaamisen tuomisella kouluihin" oikeasti tarkoitetaan. Ei siellä laiteta alakoululaisia koodaamaan c++:lla sen sijaan, että opeteltaisiin lukemaan ja kirjoittamaan.

Valitettavasti vaan valtava osa ihmisistä näkee ihan oikeasti, että nykypäivän uudet asiat ovat automaattisesti surkea juttu, koska en minäkään niitä tarvinnut pienenä.

Aivan... ja siksi nyt vastustat ihan fiksua uudistusta vaan sillä perusteella.

Tervetuloa katsomaan vaikkapa legorobottien rakentelua tai leppäkertturobottien ohjelmointia kouluihin. Siitä sen näkee mikä ajatus siinä on. Ei tarvi olla niin hemmetin peloissaan ja ärtynyt ihan turhasta.

Käyttäjän MikkoValjakka kuva
Mikko Valjakka

Mielestäni Sauli teit nyt pedagogisen erehdyksen. Aikoinaan opetin BASICia sihteereille aikuiskoulutuskeskuksessa, ja samaa asiaa kyseltiin, että mitä järkeä siinä on. Mutta paras vastaus tuli eräältä opiskelijalta, joka sai ahaa-elämyksen: "Nyt ymmärrän, että tämä on vain tyhmä kone, joka ei tiedä mitä tekee!" Tämä on juuri se asia, joka koodaamisesta tulisi kaikkien tietää.

Käyttäjän magi kuva
Marko Grönroos

Tämä on minustakin yksi keskeinen asia – asioiden toiminnan ymmärtäminen. Sen avulla ymmärretään asioiden kyvyt ja rajat.

Tulee mieleen eräs tätä kiivasta Lähi-Itä-debaattia koskeva juttu: USA-pelko Lähi-Idässä. Erityisesti arabikulttuuria tuntevat ovat kertoneet, että useimmilla ihmisillä on aivan epärealistiset käsitykset siitä, mihin länsimaat tai erityisesti USA kykenevät teknisesti. Käsitykset vaikuttavat lähtevän viime vuosikymmeninä tuputetuista elokuvista, joissa on paljon scifi-elementtejä. Ajatellaan, että USA:n kyky nähdä ja valvoa satelliiteilla ja jäljittimillä on kuin scifi-elokuvista. Kun tekniikan ja ohjelmistojen edes perusfysikaalisia rajoitteita ei hahmoteta, vainoharhaiset teoriat lähtevät jylläämään.

Sama perustuntemuksen tarve pätee biologiaan ja fysiikkaan. Ihan ihmisten kykyjen hahmottaminen ja sairauksien arvailu edellyttää jonkinlaista realistista käsitystä kehon toiminnasta. Sikäli kun jopa puolet hereilläoloajastamme nykyään kuluu ohjelmistojen kanssa vuorovaikuttamiseen, jonkinlainen käsitys niiden olemassaolon luonteesta on hyödyllistä sekä käytön että vikatilanteiden ymmärtämisen kannalta.

Petri Muinonen

Seuraava askel onkin sitten havaita, että "Olen vain tyhmä koodari, joka ei tiedä mitä tekee". Valitettavan monilla IT-ammattilaisillakaan tuota oivallusta ei tule koko työuran aikana.

Testaus ja laadunvarmistusammattilaiset teettävät tuon oivalluksen saaneilla OIKEILLA koodareilla sen, mitä ne ensimmäiset koodarit jättivät tekemättä. Asiakas ja lopulta me kaikki, maksamme laskun. Tuottavuusloikan tekeminen olisi siis tosikoodarien kouluttautumisesta kiinni, ei niinkään kaiken Kansan viemisestä aloitustasolle.

Myönnän, että tietysti ensikiinnostuksen herättämisessä parilla hassulla koodaamisen oppitunnilla voi olla paikkansa. Muttei pakollisessa perusopetuksessa sen laajemmalla kokonaisuudella. Logiikka sen sijaan: jees! Algoritmikehitys myös, eikä tosiaankaan vaadi ohjelmointia!

Jari-Matti Mäkelä

Jos keskustellaan opetuksen tavoitteista, minusta peruskoulussa on ihan ok, että opetettaisiin sellaisia kansalaistaitoja, että ihmiset hahmottaisivat esim. tietoturvaan liittyviä perusjuttuja koulussa. Nykyään kun on pilvipalveluita, tiedon ja tiedonkäsittelyn kontrolli voi olla jossain ihan muualla, täysin vieraalla kolmannella osapuolella. Tämäkin on vaikea kokonaisuus, mutta kansalaisilla pitäisi olla perusymmärrys asiasta. Käyttäisin tässä analogiana kotia, jota ei osata lukita. Nykyään on myös toisenlaisia haittasysteemejä, jotka lukitsevat itsensä käyttäjältä silloinkin, kun käyttäjä ei halua. Varmaan asiaan olisi löydettävissä sellaisia abstraktiotasoja, joita ihan kadunmies tai tämän edunvalvoja ymmärtäisi.

Toinen asia on, että olisi kiva, jos myös it-alan ulkopuoliset ihmiset hiukan hahmottaisivat, minkä kokoluokan ongelmia tietotekniikalla voi ratkoa ja missä ajassa ja millä hinnalla. Tämäkin on vähän epämääräistä, kun tekniikka kehittyy niin nopeasti. Tällä on merkitystä nyt ainakin kun ihmiset tekevät hankintoja sekä kotona että firmoissa ja erityisesti valtiolla.

--

Ammattilaisten osalta osaamattomuudesta voi varmaan syyttää oppilaitoksia. Suuret sisäänotot, pintapuoliset kurssit (esim. käytännön osuus jätetty kokonaan pois kustannussyistä ja kurssi on vain luennoitava kirjatentti), liian matala vaatimustaso, kovat tulostavoitteet valmistumismäärissä ja oppilaitosten metriikoissa korostetaan valmistumismääriä eikä laatua erityisemmin mitata. Ainakaan opettajan näkökulmasta niitä huippuja ei kyllä niin hirveän suurta prosenttia valmistu koko oppilasmäärästä..

Käyttäjän Taukovihko kuva
Timo Kilpiäinen

Tässäpä vielä muutama esimerkki niistä graafisista käyttöliittymistä, joiden avulla ohjelmointia voidaan opettaa perusopetuksessa.

https://scratch.mit.edu/

http://www.kodugamelab.com/

Ja täältä voi lukea muuten käytännön toteutuksesta ideoita

http://koodi2016.fi/ops.html

Jotta jos nyt vaikka otettaisiin se pää perseestä pois ja puhuttaisiin asioista oikein.

Kyllä muuten taas ihan suoraan sanottuna vituttaa 1970-lukulainen Suomi

Toivo Myyrä

Luettuani tämän pitkän viestiketjun tulin siihen tulokseen, että osa kommentoijista ei oikeasti tiedä mitä koodaus on ja mihin sitä tarvitaan. Koodauksen opetusta peruskoulussa on perusteltu sillä, että siitä on hyötyä työelämässä. Yrittäjänä ihmettelen kenelle siitä on hyötyä? Palkattuani suunnitteluinsinöörin suunnittelijaksi ja antanut hänen käytettöönsä kaikki työhön liittyvät tarpeelliset ohjelmistot ja sovellukset, ei hänen tarvitse tietää käyttämiensä ohjelmien koodista yhtään mitään. Paljon tärkeämpää on, että hän osaa käyttää työtehtävien edellyttämiä ohjelmia tehokkaasti. Jos hän on henkilökohtaisesti kiinostunut koodaamisesta, tehköön sen omalla ajallaan.
Itse käytän tavanomaisten toimisto-ohjemien lisäksi CAD- ja kuvankäsittely (Photoshop ym.) ohjelmia. Nämä kaikki ovat niin monipuolisia ja sisältävät lukuisia työnkulkuun vaikuttavia työtapoja, että niiden täydellinen hallinta on tosi haastavaa. Jos aikoo näitä ohjelmia tehokkaasti käyttää, ei aikaa jää koodaamisen opetteluun, joten jätettäköön se todellisten asiantuntijoiden tehtäväksi.
Olen itse ihan mielenkiinnosta koodannut omat kotisivut, mutta ei sitä voinut työaikana tehdä. Meillä on paljon vapaa-ajanharrastuksia, joita ei peruskouluissa opeteta. Koodaamisen sijasta lapsille pitää peruskoulussa mieluimmin tarjota liikuntaa ja taide/kädentaitoja sisältävää opetusta.

Käyttäjän janikorhonen kuva
Jani Korhonen

Joo, asian perustelu työelämän tarpeilla on kyllä huono. Ei peruskoulun ohjelmointitunneilta tule ammattiohjelmoijia sen enempää, kuin liikuntatunneilta tulee ammattiurheilijoita tai kotitaloustunneilta tulee ammattikokkeja.

Peruskoulun tehtävä on olla yleissivistävä koulutus. Sen tulee mahdollisimman hyvin tarjota niitä tietoja ja taitoja, joita nykyisessä ja mahdollisimman hyvien arvausten mukaan tulevaisuuden yhteiskunnassa tarvitaan. Pieni tutustuminen tietokoneiden toimintaan istuu minun mielestäni tähän tarkoitukseen erittäin hyvin.

En tuon Ahvenjärven artikkelin enkä tämän koko pitkän ketjun lukemisen jälkeenkään ymmärrä, että miksi ohjelmoinnin opetus olisi mitenkään huono juttu. Koulussa opetetaan niin paljon turhaa tietoa, että jos ohjelmoinnin opetteluun käytettävä aika otetaan oikeista tunneista, niin koulutuksen taso kokonaisuutena paranee.

Käyttäjän buimonen kuva
Börje Uimonen

Koulussa opetetaan paljon sellaista, josta juuri sinun yrityksessäsi ei ole hyötyä. Jossain toisessa saattaa olla. Koodaaminen käsitteenä on lisäksi sen verran väljä ja työkalut sen verran korkealla tasolla pyöriviä, ettei sitä ihan "oikeaa" koodausta monessakaan firmassa tapahdu, eikä taatusti koulussakaan. Sanoo hän joka on joskus kirjoittanut myös assembleria.

Reino Jalas

Viime vuonna IT-alan markkinatutkija IDC julkaisi 97% prosenttia, eli käytännössä koko maailmaa koskevan arvionsa ammattimaisten ohjelmistokehittäjien määrästä.

    Ammattimaisia ohjelmistokehittäjiä ........... 11.005.000
    Harrastaja ohjelmistokehittäjiä ................... 7.534.500
    YHTEENSÄ .............................................. 18.530.500

Ohjelmistokehittäjät jakautuvat alueellisesti näin:

    -Amerikan manner .................. 32,59%
    -EMEA, Eurooppa, Afrikka .... 30,39%
    -Aasia/Tyynenmeren alue ...... 37,02%

Erikseen mainitaan että koko maailman ammattimaisten ohjelmistokehittäjien eli koodarien määrästä USA:ssa on 19,2% (2.1 milj) ja sen perässä Kiina 10,1% (1,1 milj.) ja Intia 9,8% (1,07 milj.).

---
Vastaavasti EU-alueella tietokonehommat eli Eurostatin mukaan Computer related activities liiketoiminta saa aikaiseksi 174,5 Mrd € arvoisen liiketoiminnan, ja henkilöstö siellä jakautuu näin:

    Computer programming activities ............ 1.021.500 henkeä
    Computer consultancy activities .............. 1.031.600 henkeä
    Computer facilities management activities ..... 169.000 henkeä
    Other IT-technology and service activities ..... 392.800 henkeä
    Computer related activities total ......... 2.614.800 henkeä

Suomessa noista 2.614 miljoonasta työskentelee 43.600 henkeä. Vastaavasti esim. Tanskassa 46.300, Ruotsissa 99.400 ja Saksassa 483.700 henkeä.

---
Blogistin mainitsema Linda Liukas esitteli muutama viikko sitten omia ohjelmointitöitänsä 10 vuoden takaa. Tosin ne “ohjelmoinnit” osoittautuivat lopulta Al Goren fanituksen web-sivujen teoksi, puuhastelemiseksi HTML:n ja CSS-tyylitiedostojen kanssa.

Kaiken kaikkiaan se että lindat ja poliitikot touhottavat ohjelmoinnin opettamisen tärkeydestä peruskoulusta lähtien, se saattaa asiana karkealla tasolla, ja ainakin hehtaarilleen olla hiukan oikealla suunnalla.

Nimittäin pikkuisen yllättäen yllä olevassa listassa jäämme jälkeen jopa Tanskasta. Vaikka Nokian peruja pidämme itseämme tällaisena IT-teknologian itsetietoisena ihmemaana. Pitäisihän Suomen sentään Tanska pesaista, tällaisella IT-teknologian listalla, ja olla osaltaan vientituotteidemme keskimääräistä kg-hintaa nostattamassa.

Tietenkin sitä Lindan ja poliitikkojen mainostamaa koodauksen opettelemisen tärkeyttä pitää kuulijakunnan itse osata purkaa auki. Että mikä tässä nyt oikein on tärkeätä ja mitä tällä ajetaan takaa.

Varsinainen kodinkirjoitus on tärkeä osa-alue ilman muuta. Mutta se ei välttämättä ole se tärkein ja kannattavin asia digitalisoituvassa maailmassa. Vähän niinkuin Ruotsin IKEA:lla ei ole kannattavinta pitää laajamittaista omaa puusepäntuotantoa Ruotsissa, kalusteita tekemässä.

---
Ja kun sitä koodauksen hypetystä nyt tosiaan tungetaan kurkusta alas, niin myös se koodausasian todellinen merkitys ja suuruusluokka kannattaa kuulijan koettaa hahmottaa mielessänsä.

Eurostat löysi koko Suomesta tosiaan vain vaivaiset 43.600 henkeä jotka saavat elantonsa Computer related activities toimialueelta.

Vaikka Suomessa saataisiin tämä “koodaamisen toimialue” kovin koulutusponnistuksin kaksinkertaistettua, tuplattua 10 v. aikana, niin se tarkoittaisi kuitenkin vain 43.600 uutta työpaikkaa.

Työttömiä on Suomessa ne tunnetut 400.000 henkeä. Koodaaminen on tärkeä osa-alue, mutta se yksinään ei vaan ole se ihmeläääke jolla Suomen työllisyystilanne tästä 10 v. aikanakaan korjataan.

Petri Muinonen

Reinon antamien lukujen valossa olisi ainakin yhtä hyvä opettaa pakollisena vaikkapa maanviljelystä & metsänhoitoa, niistäkin on harrastustasolla iloa varmaan ainakin yhtä suurelle joukolle ihmisiä kuin ohjelmoinnilla. Suomessahan on näitä "tahattomia" metsänomistajia ja aarimaan vaalijia suurin joukoin - kuka tahansa heistä voisi innostua ammattimaiseen toimintaan ja rakentaa harrastusosaamiselleen seuraavan kasvuyrityksen :D

Käyttäjän janikorhonen kuva
Jani Korhonen

Kyllä sitä muistaakseni ympäristöopin tunneilla opetettiinkin. Nykytilannetta tosin en tiedä, kun ei ole omia lapsia, joiden koulunkäyntiä pääsisi seuraamaan.

Petri Muinonen Vastaus kommenttiin #126

Maa- ja metsätalous -nimisessä yläkoulun valinnaisaineessa ymmärtääkseni kyllä, mutta ympäristöopissa ei ainakaan alakoulussa näytetä käytävän läpi kuin keskeisimmät kotimaiset viljelylajit ja niiden maantieteelliset esiintymisrajat, viljelyn vaiheet ja ajankohdat - itse tekniikasta tai metodeista ei ole puolta sanaa. Se ehkä tulee ymmärretyksi, ettei maissia kannata yrittää avomaa-viljellä Suomessa

Painopiste on siis enemmän lajien tunnistamisessa ja toisaalta biologian puolelta esim. yhteyttämisessä ja solun toiminnassa

Käyttäjän janikorhonen kuva
Jani Korhonen Vastaus kommenttiin #141

Juuri niin, ja olettaisinkin, että myös ohjelmoinnin tunneilla käytäisiin ainakin ala-asteella läpi vasta yleiset perusteet asiasta ja yksityiskohtaisempaan tekniikkaan siirryttäisiin myöhemmin.

Jari-Matti Mäkelä

Luin ihan mielenkiinnosta Liukkaan kirjan, koska halusin ottaa selvää, mitä sillä koodaamisella mahdetaan tarkoittaa nykyään. Kirjan ensimmäinen puoli on lyhyt fiktiivinen, kuvitettu tarina, joka ei varmaankaan eroa hirveästi muista 3--5-vuotiaiden tarinakirjoista. Tarinaan on upotettu "tieto- ja kontrollirakenteita" tarinaa eteenpäin vievien "tehtävien" muotoon, mutta pakko sanoa, että jos vanhempi ei ohjelmointia osaa ja osaa painottaa näitä kohtia, niin tämä tarina menee kyllä varmasti yhdestä korvasta sisään ja toisesta ulos, eikä opeta mitenkään paremmin kuin mikä tahansa muu lasten tarina, jossa esiintyy lukuja..

Kirjan toisella puolella on tehtäviä ja jossain kuvassa vilahtaa Scratch-tyylinen ympäristö. Tässä nyt ihan oikeasti oli yritystä imperatiivisen ohjelmoinnin perusrakenteiden opettamisen suuntaan. Voi siis sanoa, että se on askeleen lähempänä ohjelmointia kuin HTML/CSS ja UI/UX. Minusta tämä on silti niin kevyt johdatus aihepiiriin, että sitä on ihan pakko toistaa ja toistaa oikealla tietokoneella, jotta jotain ylipäänsä oppisi. Kirja on myös ihan liian lapsellinen jo kouluikäiselle. Se siis sopii ehkä parhaiten tietokoneista viehättyneelle esikoululaiselle.

--

Ainakin tässä omassa kolmikymppisten sukupolvessa on ihmisiä, jotka ovat IT-alalla, mutta osaavat hädin tuskin koodata. Tämä ei kuitenkaan ole iso ongelma, koska alalla on monenkirjavia tehtäviä ja tosiaan koska ohjelmistokomponentit ovat isoja ja konfiguroitavia, ilman koodaustaitoakin netin ohjeita seuraamalla pääsee aika pitkälle. Esim. pelejä voi tehdä pelinteko-ohjelmilla alusta loppuun ihan välttävällä skriptaamistaidolla. Skripteissä ei välttämättä edes ole IF/FOR-lauseita vaan pelkästään peräkkäisiä käskyjä peliolioille. Voi olla, että pohjatiedot ohjelmoinnista auttaisivat ihmisiä jossain määrin, mutta kyllä se liiketoiminta varmaan jatkossakin syntyy siitä, että on oikeassa paikassa oikeaan aikaan ja keksii hyviä ideoita.

Minua huolettaa enemmän se, mistä Suomi saa jatkossa huippuosaajat ja miten koulujärjestelmä kohtelee ihan huippuja. Ja koulun jälkeen, joutuvatko he muuttamaan pois, koska osaamista vastaavia töitä ei ole.

Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

Sähkötekniikkaa pitää ruveta opettamaan alakoululaisille. Kaikki toimii nykyään sähköllä. Käyttäjien olisi hyvä tietää miten laitteet toimivat.

Käyttäjän janikorhonen kuva
Jani Korhonen

Sitä opetetaan jo. Ala-asteella ympäristö- ja luonnontieto nimisessä oppiainekokonaisuudessa ja yläasteella perehdytään asiaan tarkemmin fysiikan ja kemian tunneilla.

Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

Oops, tarkoitin siis elektroniikkaa. Ja digitaalitekniikkakin olisi varmaan perusteltavissa samoin perustein. Analogiaelektroniikka kuitenkin ensin.

Juha Vesamäki Vastaus kommenttiin #129

Tuohon elektroniikkaan liittyy nykyisin hyvin läheisesti koodaus, ja varsinkin digipuolelle.

Käyttäjän janikorhonen kuva
Jani Korhonen Vastaus kommenttiin #131

Juuri niin, eli olemme siis Lehtosen kanssa samaa mieltä: Koodaus kouluihin!

Käyttäjän topira kuva
Topi Rantakivi

128@.
Ei ainakaan vihreiden puolueessa. Surkutus on suuri.

Käyttäjän HannuValtonen kuva
Hannu Valtonen

Koululaisille piisaa sähköviisaus, kun koplataan leegon sähkömoottori vetäviin pyöriin ja paristoon. Siinä se sähköoppi, eikä yhtään enempää.
Toisille syntyy mielenkiinto miks ja kui, toisille ei.

Sähköturvallisuus on taas oma alueensa.

Nappulatekniikka opitaan aivan muilla opeilla. Mikä sen opin nimi onkaan, niin sitä pitää olla. Saattaa jopa olla koodausta. Ensin pitäisi kuitenkin perustaa nappulatekniikan professuuri vaikkapa Turkuun. Sen jälkeen toivottavasti syntyy kansainvälinen standardi, jota voidaan opettaa mukulille yhteiskuntaopin tunneilla.

Jari-Matti Mäkelä

Minua kiinnosti koulussa se, miten sitä sähkövirtaa ja puolijohdepiirejä voisi ohjelmoida ja simuloida tietokoneella (ihan itse alusta asti). Opettajat pallottelivat aika pitkälle yliopistotasolle asti ennen kuin alkoi saada vastauksia. Toivottavasti nyt kun kouluihin tulee koodaamista, niin asioista innostuneimmat saavat apua differentiaalilaskentaan ja fourier/laplace-muunnoksiin heti eikä vasta 10 vuoden päästä.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #168
Jari-Matti Mäkelä Vastaus kommenttiin #172

Jos viittaat tuohon viimeiseen ajatukseen, niin näkisin, että yksi tärkeimmistä asioista, joita koulussa voisi oppia, olisi tiedonhaku. Kun oppilaalla on aito motivaatio oppia jotain, se on aika otollinen tilanne saada aikaan oppimistakin.

Opettaja ei voi tietää kaikesta kaikkea, mutta voisi auttaa tiedonhaussa ja tukea tiedonhaun menetelmiä eikä luoda sellaisia keinotekoisia rajoja, että jokin tieto on liian vaikeaa ja sitä ei vielä tarvitse osata "tällä tasolla". En osaa sanoa, miten merkityksellistä sirpaleinen tieto eri aiheista on verrattuna "kokonaisuuksiin", joita koulussa yleensä opetetaan kursseilla. Uskoisin silti, että se toimisi apuna myöhemmin, jos alalle on enemmänkin kiinnostusta, kun asiat tulevat eteen jäsennetymmin osana jotain kokonaisuutta. Aiempi osaaminen voisi parantaa oppimistuloksia ja lyhentää opiskeluaikaa. Ja tosiaan jos nyt haluaa harrastaa vaikkapa koodaamista huvikseen, niin ei jää jumiin ongelmiin ja jätä siksi projekteja tekemättä.

Käyttäjän hexu980 kuva
Heikki Aukee

Huomattavasti hyödyllisempi olisi kymmensormijärjestelmän käytön oppiminen. Sen opettaminen pitäisi olla ohjelmassa kyllä. Tuottavuus nousisi siten jokaisella merkittävästi ilman "rakettitieteen" omaksumista ja hyöty tulisi näin kaikkeen toimintaan.

Itse olen tehnyt ict-hommia melko monipuolisesti, ja voin vakuuttaa Saulin olevan oikeassa. Loogisen ajattelun käytön ja ongelmien alkutekijöihin purkamisen taidon omaksuminen ovat kyllä hyödyllisiä taitoja yheiskunnallistenkin asioiden puolella. Noiden taitojen harjoittelu on kyllä hyödyllistä.

Ainakin minusta tuntuu kuin nykyään mielipide olisi jotenkin merkittävä asia asioiden valinnassa, ja syväanalyysi asioista täysin merkityksetöntä, vaikka mielestäni yksityiskohdat ratkaisevat kaikessa. Tuolla vain haluan sanoa, että nuo taidot ovat tärkeitä, mutta edellyttääkö noiden taitojen omaksuminen ja hallitseminen koodauksen opettamista. Epäilen vahvasti.

Jari-Matti Mäkelä

Tuottavuutta voi nostaa kirjoitusnopeutta kehittämällä yhtä hyvin kuin projekti nopeutuu 1000-kertaisesti palkkaamalla Intiasta 1000 kertaa nykyistä enemmän koodareita. Miten olisi ohjelmointikielen vaihtaminen johonkin tuottavampaan -- olethan kokeillut jo Haskellia ja Idristä? Martin-Löf-tyyppiteoriaan perustuvissa kielissä ainakin on melko suuri ilmaisuvoima.

Käyttäjän hexu980 kuva
Heikki Aukee

Ehdotinko mielestäsi 10-sormijärjestelmän opettamista koodaamisen nopeuttamiseksi vai koodaamisen opettamista 10-sormijärjestelmän hyödyntämiseksi? Kumpikaan ei ollut tarkoitukseni, ja jos niin tulin asian ilmaisseeksi, pyydän anteeksi huonoa kielen hallintaa. Olen vähän liian nopea kirjoittaja, mikä sekin voi olla välillä ongelmana.

Jari-Matti Mäkelä Vastaus kommenttiin #175

Taisin lukea huolimattomasti. Ajattelin tosiaan, että viittaat tuottavuudella tähän koodauskontekstiin. Onhan kirjoitusnopeudesta apua yleisesti.

Käyttäjän heikkileivo kuva
Heikki Leivo

Peruskoulun tarkoituksena on antaa kaikille lapsille samanlaiset perusvalmiudet. Vaikka peruskoulussa luetaankin biologiaa, kaikista oppilaista ei tule biologeja. Mutta joistain tulee sairaanhoitajia, lääkäreitä, eläinlääkäreitä - ja biologeja. Kaikkia biologia ei kiinnosta, mutta niistä tulee varmasti oikein hyviä omalla alallaan, jotka saavat biologiasta kipinän jo ala-asteella. Kipinä tuo motivaatiota opiskeluun ja tiedonjano kasvaa. Tietoa taas on helppo ahmia silloin, kun aivot ovat kehittymisessä kiivaimmillaan. Net kaikki muut, joista ei tullut sairaanhoitajia, lääkäreitä, eläinlääkäreitä tai biologeja eivät kuluttaneet aikaansa turhaan, vaan saivat biologiaan liittyen tärkeää yleissivistystä.

Sama kuvio voidaan nähdä muissakin peruskoulussa opetettavissa asioissa ja aihealueissa. Biologian tilalle voidaan laittaa mikä tahansa muu peruskoulun oppiaine. Ohjelmointiin liittyvien perustaitojen opettelusta ei ole kerrassaan mitään haittaa. Tokikaan kaikista oppilaista ei tule isona koodaria, mutta eikai kukaan kuvittele jotain niin hassua?

Btw, minäkin olen täysipäiväinen ohjelmoija.

Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

70-luvulla kouluni aloittaneena tulee mieleen, että joukko-oppi oli silloin pop. Ei sikseen, etteikö sisältäisi hyödyllisiä käsitteitä, mutta oli ek-toka-luokkalaiselle liian abstrakti käsitekokonaisuus. Analogiaa ympäröivään maailmaan ei osannut muodostaa kun piirrettiin pallukoita paperille.
Lieköhän tuo tullut sittemmin taas jossain kohtaa "muotiin" perusopetuksessa.

Kuitenkin jo vuonna 80 (muistaakseni) tutustuin basic-ohjelmointiin. Se upposi kaaliin paremmin, mutta monelle aikalaiselle kaverille kyse oli salakirjoituksesta, eivät tajunneet siitä mitään.

Mitään siitä ei jäänyt (kuvittelisin), vaikka aloinkin täysipäiväiseksi koodariksi 25 vuotta myöhemmin. Looginen ajattelu oli sisäänrakennettuna, ei sitä tarvinnut opetella ja olisiko siihen edes pystynyt..

Käyttäjän uninenmies kuva
Tuomo Niemelä

Sitten ne kaikki joukko-alkio-kuvaus joukkoon asdf -lapsukaiset menivät opiskelemaan insinööriksi ja huomasivat, etteivät moisilla yleissivistävillä käsitteillä tee loppuelämässä mitään? Ja päästyään eduskuntaan lopettivat koko hörhöilyn.

Tämä kieltämättä liippaa jo läheltä aihetta. Itsekin vielä jouduin tuohon opetukseen, mutta jotenkin kykenin sisäistämään idean. Kuten tavutuksenkin.

Jari-Matti Mäkelä

Joukko-oppihan on monen tietojenkäsittelytieteen teorian takana. Pääsitkö koulusta läpi tietämättä mikä on Turingin kone? Tiedätkö miten se määritellään matemaattisesti? Oletko koodannut Javalla tai jollain oliokielellä? Jos luokat Kissa ja Koira ovat Eläin-luokan mukaisia, minkä tyyppijoukon mukaisia olioita voit sijoittaa Eläin-tyyppiseen muuttujaan? Kai käyttämissäsi kielissä oli Set-tietotyyppi? Esim. https://docs.oracle.com/javase/8/docs/api/java/uti...

Käyttäjän JosefiinaKauppila kuva
Josefiina Kauppila

Parasta tässä keskustelussa on se, kun ainakin yli puolet ovat ulkona siitä todellisuudesta minkälainen on nykyinen koulu, sekä mikä on oppilaan ja sähköisten välineiden nykyinen rajapinta. Sitä itseasiassa harva opettajakaan tietää.
Parasta tässä asiassa olisi kuunnella nuoria ja oppilaita, sillä heidän sosiaalinen elämänsä rakentuu pitkälti sähköisen verkon varaan - halusitte sitä tai ette. Eikä mene aikaakaan kun myös opiskelu rakentuu samoin kuten sosiaalinen elämä.
Nuorten aika kuluu pitkälti juuri niiden asioiden ääressä, jolloin koodaamisesta tai sen hahmottamisesta on hyötyä. Monet pelaajat päätyvät päivittäin työskentelemään servereiden kanssa ja monet bloggaajat itse rakentavat blonginsa pohjaa myöten. Suurin osa nuorista tulee kaikesta huolimatta oppimaan asian tavalla tai toisella, joten miksi tätä ei voitaisiin nyt koulussa opettaa?
Ymmärrän että uudet asiat voivat pelottaa, mutta #2015.
Ylipäätänsä tämän asian opettaminen kouluissa lisää ongelmaratkaisukykyä ja matemaattista ajattelumallia, joka on valitettavasti hukassa monelta. Eli tässä kenellekään ei olla heti naamalle paiskaamassa Javaa tai C++. Kannattaisi myös ottaa asioista selvää, ennen kuin suutahtaa sillä tällä ns. koodaamisen opettamisella on pitkälti puhuttu pseudokoodaamisen opettamisesta. Maissa, joissa tätä opetetaan (Esim. Viro) nähdään selvästi tuloksia juurikin ongelmienratkaisun kehittyneessä ajatustavassa.
Miksi pitää pelätä jonkin asian opettamista? Ei minullekaan uskontoa tullut opettamaan pappi, enkä ole vieläkään pappi. Minulla on siitä huolimatta peruskäsitys ko. oppiaineen asioista, vaikka siitä ei ole minulle uraa kehittynyt.
Mistä tiedän tämän asian? Koska päätin peruskoulun 2013, eli aika vasta ja olen nykyisin tietojenkäsittelytieteen ylioppilas.

Reino Jalas

"Monet pelaajat päätyvät päivittäin työskentelemään servereiden
kanssa ja monet bloggaajat itse rakentavat blonginsa pohjaa
myöten."

Peruskoululaiset ovat rakennelleet omia kotisivujaan ja HTML:ää siinä sivussa jo 15 vuotta. Nykyään valmiin blogialustan käyttäminen on periaatteessa jo tuotakin helpompaa.
Entistä vähemmällä "koodausosaamisella" vaikka Googlen alle saa oman ilmaisen Blogspot blogisivuston pystytettyä.

Kysymys kuuluu että mitä pitäisi opettaa siellä koulussa IT-puolelta? Jos lukujärjestykseen merkataan vaikka joka viikolle 2 h verran "Modern IT Technology" -oppiainetta, niin mitä siellä on hyvä opettaa?
Semmoista mistä tytötkin tykkää. Ja kun C++ ja nyt jo Javakin todetaan liian obsolete kamaksi.

Tässä koodauksen opettamisessa kyse ja pohde on kuitenkin Opetusministeriön tasoisesta hankkeesta. Keskeinen ajatus ei ole oppilaiden omien harrasteiden tukemisessa.

Vaan siitä että se opetettava asia olisi jatkossa hyödyllistä. Antaisi suomalaisille nuorille jonkinlaista kilpailuetua Aasian ja USA:n ja muun Euroopan kanssa työtilaisuuksista ja mahdollisesti uusia business-ideoita pääkopasta ulos raapiessa.

Käyttäjän magi kuva
Marko Grönroos

Blogspotissakin koodaamisella saa siis tyylitettyä (CSS) ja luotua interaktiota. Kokeile vaikka seuraavaa (pahoittelen että Puheenvuoro rikkoo muotoilun):

<input type="button" value="Napsauta mua" onclick="napsautus()"/>
<p id="teksti">Terve!</p>

<script language="javascript">
function napsautus() {
document.getElementById("teksti").innerHTML = "<p>Aah, ihanaa</p>";
}
</script>

Vastaavanlaisia voi varmasti tehdä aika monella muullakin blogi- ja sisältöalustalla. No osassa on tietoturvasyistä sanitisoitu, mutta ei siis esim. Blogspotissa/Bloggerissa.

    «Keskeinen ajatus ei ole oppilaiden omien harrasteiden tukemisessa. Vaan siitä että se opetettava asia olisi jatkossa hyödyllistä. Antaisi suomalaisille nuorille jonkinlaista kilpailuetua Aasian ja USA:n ja muun Euroopan kanssa työtilaisuuksista ja mahdollisesti uusia business-ideoita pääkopasta ulos raapiessa.»

Ei peruskoululaisille voi opettaa yhtään mitään työtilaisuuksia tai bisnesideoita tuputtamalla. Lapset oppivat leikkimällä, usein aivan turhia juttuja. Jos haluat, että joku kiinnostuu mistään, sen on nimenomaisesti tuettava omia harrastuksia. Itselleni ensimmäiset ohjelmat olivat pelejä, musiikkipiipityksiä, demografiikkaa, tähtiharrastusta tukevia juttuja ja muuta sellaista. Tutut urheilijatyypitkin vääntävät ohjelmia vaikka suunnistuksen splittiaikojen tai muun harjoitteluseurannan teemoilta.

Ei tietenkään lapsille opeteta bisnesohjelmistojen suunnittelua. Yhtään sen enempää, kuin peruskoulun äidinkielen tunneilla opetetaan bisnessopimusten laatimista.

Jos nyt jotain karkeaa listaa vedän hihasta, tietokoneen peruskäytön lisäksi lapsille mielenkiintoisia ja hyödyllisiä asioita voisivat olla esim.:

  • Luominen, koulutehtävien teosta alkaen, kirjoittamalla ja piirustusohjelmilla
  • Ohjelmoinnin esiaskeleet: parametrisointi, säännöt, jne. Esimerkiksi tekstityylien käyttö kirjoittamisessa, sähköpostin suodatussäännöt, jne.
  • Kuvaus- ja tyylikielet (HTML, CSS, jne)
  • Taulukkolaskenta, makrot ja muu sellainen perusautomatisointi
  • Animaatiot, sääntöpohjaisuus ja interaktiivisuus (pienimmille lapsille esim. Scratch, sitten vaikka HTML 5 + JS)
  • Robotiikka ja muu laiteohjelmointi (IoT, jne)
Käyttäjän MarkusLehtonen kuva
Markus Lehtonen

Koodaaminen on verbinä vaikea, voi tarkoittaa melkein mitä vaan, jossa asioita kuvataan koodeilla. Kielikin on koodia?

Mutta jos puhutaan ohjelmoinnista tarkoitettaneen ongelmien ratkaisua ohjelmointikielten avulla. Ohjelmointikieliä ovat mm.

https://fi.wikipedia.org/wiki/Luettelo_ohjelmointi...

Esim. HTML tai CSS eivät ole ohjelmointikieliä. Voitaisiin siis edes pitää sisällöntuotantoon ja sen esittämiseen liittyvät käsitteet, ja ns. business-logiikka erillään.

Jos muksut opetetaan "koodaamaan", mitä heille siis opetetaan?

Käyttäjän janikorhonen kuva
Jani Korhonen

Luokilla 1–2 opetellaan antamaan yksikäsitteisiä komentoja ihmiseltä toiselle. Ohjelmointi on käskyjen antamista tietokoneelle, ja tässä pohjustetaan sitä.

”Opetellaan antamaan tarkkoja ohjeita, esimerkiksi ota ‘kolme askelta eteenpäin’ – ei ‘ota kolme askelta’, jotka voisivat olla sivulle tai taakse”, Pahkin sanoo.

”Tässä opitaan sitä, että täsmälliset ohjeet tuottavat täsmällistä toimintaa, ja epämääräiset ohjeet tuottavat epämääräistä toimintaa.”

Luokilla 3–6 aletaan perehtyä tekemiseen, joka on lähempänä ohjelmointia. Työkaluna ei vielä ole varsinainen ohjelmointikieli vaan jokin visuaalinen ohjelmointiympäristö, jossa työskennellään käytännössä hiiren avulla, ei kirjoittamalla.

”Tässä kohden vaihdetaan ihminen koneeseen. Silloin välillä pitää olla jokin kieli – näillä luokilla käytännössä jokin graafinen ohjelmointikieli”, Pahkin selittää.

”Ohjelmointia voidaan harjoitella raahaamalla tai siirtelemällä asioita. Löydetään niitä erilaisia komentoja, joita on esimerkiksi [MIT:ssä kehitetyssä lasten ohjelmointiympäristössä] Scratchissakin vain muutama. Sen jälkeen ruvetaan näillä muutamilla komennoilla löytämään esimerkiksi toistoja. Kaikkia näitä voidaan nopeasti oppia.”

http://koodi2016.fi/ops.html#section-1

Käyttäjän janikorhonen kuva
Jani Korhonen

Ja tuli tuosta kysymyksestäsi vielä mieleen, että Ahvenjärvi taisi tarkoitushakuisesti valita artikkelissaan käyttää sanaa "koodaus" sanan "ohjelmointi" sijasta. Teknisempi pienen piirin puuhasteluun viittaava termi hämää lukijaa ajattelemaan, että nyt siellä tuhlataan opettajien ja oppilaiden aikaa johonkin hyödyttömään näpertelyyn. Tuolta Koodi2016 sivustolta löytää parempaa tietoa siitä, mistä ohjelmoinnin opetuksessa on kyse.

Käyttäjän magi kuva
Marko Grönroos

Minustakin on tavallaan parempi puhua epämuodollisesti "koodauksesta", joka kattaa ohjelmoinnin lisäksi tiedon esittämisen esimerkiksi juuri merkintäkielillä. Tosin Ahvenjärven käyttötarkoitus taisi tosiaan olla vähättelevä.

Sinällään hyvin alkeellista interaktiota voi tehdä jo pelkällä HTML:llä ja CSS:llä, kuten animaatioita. Voiko sitä sitten kutsua jo ohjelmoinniksi, on vähän rajamailla.

Käyttäjän Pekka Toivonen kuva
Pekka Toivonen

Nykylapset säätävät ja tulevaisuuden lapset koodaavat.

Pakkoruotsin voisi korvata pakkokoodauksella.

Käyttäjän HannuValtonen kuva
Hannu Valtonen

Bravooo,
Olin jo todella peloissani, ettei kukaan Arkadianmäeltä oivalla, minne ollaan menossa koodausmarkkinoinnissa.

Sopii varmaan sinne yhteiskuntaopin sekaan yleistieto-osastolle, missä esitellään muutakin tietokäsittely...digitaatiota.

Jossain vaiheessa ne todelliset koodaajat löytyvät, harrastuksen kautta korkeammalle opiskeluasteelle.

Koodaaja, mitä kaikkea se pitääkään sisällään. Parast aikaa koodaan aatoksiani alfabeeteillä näppäimistöltä näytölle.

Käyttäjän DanielMalinen kuva
Daniel Malinen

Monessa kommentissa perusteltiin koodaaamisen tarvetta ihmisen halulla tietää miten jokin esine toimii. Väite on mielestäni väärä. Mielestäni ihminen haluaa tietää mihin esinettä voi käyttää, hän haluaa olla keseliäs ja soveltaa. Sen seurauksena tosin syntyy nokkelia "väärinkäyttöjä" kuten jakkara sohvapöytänä, veitsi ruuvumeisselina, vesilasi kastelukannun, tuoli tikapuuna ja niin edelleen. Monesti esineen tai taidon halutaan oikeasti olevan helppo, simppeli ja kätevä.

T Piepponen

Koodari puskee abstraktia koodia, jonka avulla ehkä printataan talo.

Kirvesmies "koodaa" käsiensä välityksellä talon.

Toinen osaa koodata ja toisella pysyy höylät temmit käsissä.

Että josko nyt vaan edes yritettäisiin tunnistaa kunkin "hyvät taipumukset" ja pistettäisiin kukin oikeaan kohtaan *ilmaisemaan itseään*?

Aki Sirviö

Tietotekniikan osaaminen on tärkeä taito. Sitä opiskelevat mummot ja papatkin. Osaamista tarvitaan monien arkipäiväistenkin asioden hoitamiseen. Miksi se olisi höynäyttämistä? Ei peruskoulusta valmistu matemaatikkoja eikä historiotsijoita eikä minkään muunkaan alan ammattilaisia. Näitä taitoja silti opetetaan peruskoulussa. On harhaanjohtavaa perustella torjuvaa väitettä sillä, että peruskoulusta ei valmistu alan ammattilaisia.

Tietokone on voimakas työväline. Löytyykö yhtään alaa, missä ei hyödynnettäisi tietotekniikkaa. Ei taida, sitä käyttävät matemaatikot, muusikot, taiteilijat, kirjailijat, suunnittelijat, kirjanpitäjät jne. Ohjelmointi on taito, jolla tietotekniikka saadaan tekemään sitä, mitä itse haluaa. Kyseessä on supertaito. Tekniikka ei tule vähentymään vaan lisääntymään. Uuden tekniikan tuomat mahdollisuudet kasvavat jatkuvasti. Siitä kertoo myös tietotekniikan jatkuva kasvu. Meidän lapsemme tarvitsevat koodaustaitoa paljon enemmän kuin me tai meidän vanhemmat. Velvollisuutemme on antaa heille mahdollisuus pärjätä elämässä.

Käyttäjän grohn kuva
Lauri Gröhn

Siis mitä osaamista tarvitaan? Ikäänkuin autokoulu lastentarhaan?

Pärjäämisen kannalta ohjelmointi peruskoulussa on haitallista lasten kehitykselle, koska jumiuttaa neuroplastisesti aivot. Lukiossa voisi olla jokin kurssi.

Tekniikka tekniikkamielessä tule vähenemään kun laitteet ja softa edelleen kehittyvät.

"Supertaito" on jo nyt menneen talven lumia. Sisältöjä luodaan tehokkaasti työkaluilla, ei ohjelmoimalla.

Aki Sirviö

"Aivot eivät ole kone – aivot ovat puutarha
Viime aikoina aivotutkimuksessa onkin noussut kovaan huutoon aivojen muovaantuvuus, eli neuroplastisuus. Vaikka aivoista voidaankin osoittaa erikoistuneita alueita, eivät nämä alueet ole tarkalleen määriteltyjä. Kuten neuroplastisuutta tutkinut psykiatri Norman Doidge kertoo, on jopa tapauksia, joissa ihminen on syntynyt täysin vailla toista aivopuoliskoaan – ja kyennyt silti kehittymään enimmäkseen normaalisti toimivaksi ihmiseksi.

Aivot kehittyvät harjaantumisen kautta. Niiden hermostokytkösten luonne, jotka ovat aivotoimintasi keskiössä, määräytyy sen perusteella, mitä teet, mitä luet, mitä katsot ja mitä kuuntelet. Aivot eivät suinkaan ole kone, jonka toiminta on määräytynyt syntymästä asti. Aivot ovat kuin puutarha, jonka kukoistus riippuu siitä, miten sitä hoidetaan." - http://ajattelunammattilainen.fi/2012/02/20/aivot-...

Käyttäjän LassiJskelinen kuva
Lassi Jääskeläinen

En ehkä kutsuisi tätä höynäytykseksi, mutta ihan hyviä pointteja.

Käyttäjän grohn kuva
Lauri Gröhn

Lasten leikit ovat iät ajat sisältäneet komentojen antamista leikkikavereille. Pitääkö "algoritmit" nyt tuoda opetussuunnitelmaan kun leikit on korvattu aivoja neuroplastisesti jumiuttavilla kännykköillä, joista on tullut lasten kavereita?

"Luokilla 1–2 opetellaan antamaan yksikäsitteisiä komentoja ihmiseltä toiselle. Ohjelmointi on käskyjen antamista tietokoneelle, ja tässä pohjustetaan sitä." Opetussuunnitelma syksy 2016.

Tosikavereita! Harhaista haitallista "kehitystä" vahvistetaan...

Käyttäjän kainiemelainen kuva
Kai Niemeläinen

Olen jossain määrin samaa mieltä kanssasi. Koodauksen opettaminen ei sinällään ole automaattinen kansakuntamme pelastus. Prosessityö, käsite- ja tietomallit ovat tärkeitä osioita ennen koodauksen aloittamista. Jokainen projekti- tai tuotepäällikkö arvostaa kuitenkin käytettävyysasiantuntijoitaan ja koodareitaan: sitä, että käyttöliittymäsuunnitelman toteuttajilla on ammattitaitoa ja ideoita muodostaa määrittelystä käytettävä sovellus. Sovellus, joka tuntuu käyttäjästään käden jatkeelta.

Itse halusin lukiossa oppia koodaamaan. Halusin tulla koodaamisen ammattilaiseksi. Opintoni suoritin kuitenkin kaupallisella alalla. Toki suuntautumisvaihtoehtona oli tietojenkäsittely. Tärkeintä oman elämäni ja urani kannalta olivat koodauksen perustaitojen lisäksi systeemityön perusteet ja tietokantaopinnot.

Opintojeni jälkeen olin lähinnä harrastajakoodari. Suunnittelin työkseni ja koodasin muutamia tuotantokäyttöön jääneitä sovelluksia. Olen koodannut riittävästi, että ymmärrän tietomallit ja koodaamisen perusteet. En koe, että taidot olisivat olleet ainakaan haitaksi määrittelytyössä, sovellus- ja käytettävyyssuunnittelussa ja tuotekehityksessä.

Tietomallit, käsitemallit, koodaaminen, prosessityö ovat matemaattisia taitoja. Valmiuksia tähän työhön luodaan matematiikan ja fysiikan tunneilla. Koodaamisen opettaminen antaa syvyyttä ja auttaa löytämään matematiikan lainalaisuuksia muuallakin kuin luvuissa. Nämä lainalaisuudet toteutuvat kaikkialla sovellustyössä, jokaisessa määrittelyn vaiheessa, prosessityössä, käsitteissä, tietomallintamisessa, tavassamme käyttää ja ymmärtää sovelluksia ja tietenkin koodaamisessa itsessään.

Käyttäjän kimmokivela1 kuva
Kimmo Kivelä

Erinomainen kirjoitus! Pidän tavasta ajatella, jota voisi laajentaakin. Koulussa on paljon säästökohteita.

1. Mihin ihmeeseen tarvitaan liikunnanopetusta, jos kaikista ei kuienkaan tule ammattiurheilijoita.
Urheilusta kiinnostuneet kyllä löytävät alansa muutenkin.

2. Ja mihin tarvitaan kuvaamatatiota kun kaikesta ei kuitenkaan tule taiteijoita, sutikoot omalla ajallaan.

3. Ja musiikinopetus. Bändejä perustetaan vapaa-ajalla, ja musiikkiopistot ovat olemassa.

4. Ja matematiikka, mihin sitä tarvitaan kun kaikki laskevat kaiken kuitenkin koneella,
eikä kaikista tule kirjanpitäjiä.

Ja 5. Mihin ihmeeseen sitten vielä tarvitaan uskonnonopetusta kun kaikista ei kuitenkaan tule pappeja ja sitäpaitsi – koko uskontohan vain aiheuttaa tappeluita tyjänpäiväisistä asioista.

Käyttäjän kainiemelainen kuva
Kai Niemeläinen

6. Historian opettamisen voisi senkin lopettaa. Historioitsijoita on paljon vähemmän kuin koodareita.
7. Biologeja niitäkin on vain muutamia, kyllähän biologiasta kiinnostuneet voivat vapaa-ajallaan samoilla pusikoissa
8. Maantiede, kuinkakohan monta maantieteilijää ylipäätään Suomessa on?
9. Fyysikkoja taitaa olla useita satoja, olisiko tuhansia? Tuskin niitä kuitenkaan on yhtä montaa kuin ammattiurheilijoita, ei ainakaan niin paljoa kuin koodareita.
9. Kemistejä ei myöskään tule kuin muutamista ikäluokassaan.
10. Englanti, Saksa, Ranska ym: Eihän kielenkääntäjiä tai tulkkeja tule yhtään enempää kuin kemistejäkään.

Lopulta Suomen kouluissa voidaan keskittyä olennaiseen. Oppiaineina on vain äidinkieli ja "pakko"ruotsi! Niin ja yhteiskuntaoppi: näinä aikoina, kun rakennamme uusia hallintohimmeleitä (maakuntamalli) tarvitsemme runsaasti lisää uusia harrastajapoliitikkoja.

Voitto Tapio

Peruskoulu antaa yleissivistystä lapsille (ja muutamille ulkomailta muuttavillekin). Ihminen kehittyy hallitsemaan itseään ja ympärillä olevia asioita, tulemaan toimeen lähimmäistensä kanssa (lähimmäinen on se, jonka kanssa on tekemisissä, kuka tahansa).

Turhiksi en noita sanoisi, mutta kaikessa on kehittämisen varaa. Mikä on enemmän hyödyllistä kuin jokin muu, on vaikea kysymys. Yhdelle on hyötyä yhdestä, toiselle toisesta. Pääasia on siis se perustuksen laskeminen, elämän peruseväiden antaminen sopivassa laajuudessa ja syvyydessä.

Koodausta on tosiaan monella tasolla ja monenlaista. Jos opetus on tällä alueella yleissivistävää ja innostavaa, kannatan sitä. Jos se on kovin abstraktia eli käsitteellistä, en kannata sitä. Oppimisen ilo on tärkeää.

Suomalaisten päässälaskutaito on nuorilla ikäluokilla huono, paljon huonompi kuin 70-luvulla opiskelleilla, ennen joukko-oppi-boomia kertotaulun oppineilla. Tiedän tämän olevan erittäin totta monen lapsen isänä ja nuorten opettajana. Päässälasku on tärkeä taito, koska sen avulla vastaukset yksinkertaisiin matemaattisiin kysymyksiin saadaan paljon nopeammin kuin laskimilla ja molemmat kädet ovat vapaina muuhun toimintaan.

Uskonto ei ole pelkästään jumaliin uskomista, vaan se riippuu henkilöstä. Jokainen uskoo johonkin ja jokainen arvostaa (tai jumaloi) jotakin. Jokaisella on omat kiinnostuksen kohteensa, joihin he uhraavat rahansa ja aikansa. Evoluutioteoria on uskontoa, koska se ei perustu pelkästään tieteeseen, vaan sisältää paljon uskomuksia ja kehäpäätelmiä, joita ei ole voitu tieteellisesti todistaa. Ateismi on uskontoa, kapitalismi ja kommunismi ovat uskontoja joillekin ihmisille. Jokaisella on omat fanaatikkonsa ja jalustalle nostetut esikuvansa. Nämä kaikki aiheuttavat jopa sotia tyhjänpäiväisistä asioista. Kaikilla uskonnoilla ei ole pappeja.

Uskonnon opetus on erittäin tärkeää, koska niitä on niin paljon ja koska niiden kanssa vain on tultava toimeen, halusi tai ei. Tämä kuuluu avaintaitoihin Suomen menestyksen tiellä maailman markkinoilla. Ilman tietoa uskonnoista ja kulttuureista kaupat jäävät helposti syntymättä ja Suomi köyhtyy entisestään.

Jari-Matti Mäkelä

Koulussa pakollinen "musiikin" opetus on kyllä ollut perinteisesti lähinnä ihmisten laulattamista yhteen ääneen ilman tuntiakaan asiaan liittyvää teoriaopetusta. Se että 'laulu' vaihdettiin 'musiikiksi' lukujärjestyksessä ei tee ihmisistä yhtäkkiä mitään musiikin moniosaajia, kun opetuksen sisältö ei päivity. En tiedä montaakaan musiikin harrastajaa, joka pelkällä laulattamisella olisi oppinut soittamaan instrumenttia, kun harva oppii laulamaankaan. Vähän sama juttu kun en tiedä ketään, joka olisi tietokoneen virtanappia rämpyttämällä oppinut koodaamaan.

Kirjoitin toisaalle seuraavat analogiat, jos koodaus kouluaineena oli kuin musiikki ja liikunta:

Liikunta koodauksena olisi sitä, että kaikille niille annetaan arvosanaksi 7, jotka ovat lähinnä vain kiinnostuneita "tietoteknisestä ajattelusta" ja haluavat varmistaa toimintakykynsä tietoyhteiskunnassa. Tämä ihan sen takia, että oppilaat oppisivat sellaisen asennevamman, että kaikkien pitää olla huippuja tai ovat luusereita eivätkä koskisi tietokoneeseen ikinä koulun jälkeen. Kouluopetus keskittyisi parhaiden seulomiseen parhaista ja siksi oppitunnilla olisikin 0 tuntia teoriaopetusta ja 100% ajasta pelkkää huippukoodarien kisaa toisiaan vastaan samalla kun luuserit istuvat vaihtopenkillä ilman tietokonetta.

Musiikki koodaamisena olisi sitä, että on 0 tuntia teoriaopetusta tai hyvin niukasti teoriaa, jolla ei käytännössä tee mitään palkallisessa tai edes harrastekoodaamisessa. Jokainen oppitunti olisi ihan samanlainen ja oppilaat opettelisivat monotonista koneen virtanapin painamista vailla järkeä (triangelin soitto), hello worldien kirjoittamista (nokkahuilun soitto yhtenä vuonna) ja koko loppuaika koulussa päätehtävä olisi katsoa silmä kovana, missä järjestyksessä opettaja painaa nappeja näppäimistöltä ja apinoida perässä (laulutunnit erityisesti yläasteella). Kaikki luovuus ja oppiminen on kielletty.

Marjukka Lamminpaa

Sauli Ahvenjärvi on nostanut esille tärkeän kysymyksen miksi koulussa pitää opettaa koodausta. Tunnistan tässä sadun keisarin vaatteista: ohjelmointi on hienoa, tietenkin sitä pitää opettaa. Jos ajattelen toisin, tunnustan oman pätemättömyyteni, vaatteettomuuteni, häpeäni.

Moni kirjoittaja onkin myös alkanut kysyä viisaasti, mitä ohjelmointi on ja alkanut oman kokemuksensa perusteella sitä ja sen tärkeyttä perustella. Käy selville, että se voi olla monenlaista: eräs kieli, täsmällistä käskyttämistä, logiikkaa ja yllättäen myös lapsia innostanutleikki tietokoneella esim Scratch (raapiminen). Viimeksimainitusta on kokemusta kokeiluista. Lapset ovat osaavan ohjaajan avulla innostuneet sitä hyvin muovautuvilla aivoillaan (neuroplastisuus) kokeilemaan.

Joku kommentoija muistaa alkiot ja oliot joukko-opista ja miten siinä kokeilussa kävi Tarkoitus oli -70-luvulla innolla opettaa matemaattista loogista ajattelua kaikille ikäluokille. Tulos oli, että kaupan kassalla oli vaikeutta hahmottaa ilman laslukonetta takaisin annettavan rahan määrää. Oli tingitty peruslaskutoimitusten harjoittelun määrästä logiikan opiskelun hyväksi. Yksi oppikirjasukupolvi siihen käytettiin kustantajien iloksi, mitään korvaamatonta vahinkoa ei ehtinyt tapahtua. Palattiin sitten vai vihkaa perustaitojen usein mekaaniseenkin harjoittamiseen. Ilman perustaitoja on vaikeata tehdä järkeä vaativia sovelluksiakaan.
Tosiasia on, kuten joku kirjoitti, että varsinaisesta matematiikan opiskelusta, neljän perustaidon harjoittamisesta vähentyy opetusaika.

Viimeinen lukemani kirjoittaja onkin turhautuneena kysynyt, mikä onkaan peruskoulussa tarpeen. Kaiken tiedonhan saa helposti wikiä klikkaamalla älykännyynsä.
Opetus onkin nopeasti muuttumassa teemoiksi, sirpaleiksi ja saarekkeiksi. Miten nämä liittyvät toisiinsa, mikä on minkin tiedon arvo kokonaisuudessa, mitä hoksaa kysyä ja onko omalla kokemuksella ja tiedolla enää mitään merkitystä tässä valmiin tiedon maailmassa...

Mielenkiintoinen onmyös uuden matematiikan alueen opetuksen aloitus: 2016 aloitamme; mutta vielä ei suurin osa opettajista ole saanut aiheeseen koulutusta, edellä mainitun Scratchin lisäksi oppimateriaalit? Hyppy tuntemattomaan tässä muutenkin resurssipulaa kärsivässä maassa.

Luotan kuitenkin opettajien rationalisuuteen. Varmastikin tietotek iikan käyttö työvälineenä lisääntyy ja arkipäiväistyy. 1-2-luokkalaiset käyttävät niitä satujen lukemiseen ja omien tekemiseen ja oppivat siinä sivussa sosiaalisuutta, ryhmätyötä, mielikuvitusta, rohkaistuvat luomaan uusia juttuja niin kuin tuon ikäiset vielä aivojenkäytöltään plastiset vain pystyvät tekemään. Ja.sitten he.kysyvät.opeltaan (jotka päin vastoin kuin tällä palstalla kommentoineet henkilöt) ovat suuremmalta osalta niitä tyttöjä, että voitaisko mennä kentälle pelaamaan sitä jalkkista.
O tempora, o mores! Onkohan mitään uutta vieläkään sen pyörän ja kynän jälkeen keksitty?

Käyttäjän sauliahvenjarvi kuva
Sauli Ahvenjärvi

Kiitos tästä rakentavasta ja harkitusta kommentista! Oma alkuperäinen kirjoitukseni oli YLE:n jutun laukaisema jokseenkin spontaani purkaus asiaan, jota toki olin miettinyt ja huolestuneena seuraillut jo pitkään. Hyvä ja selvästikin tarpeellinen keskustelu tästä on syntynyt ja minäkin sinun tavallasi luotan siihen, että järkevät opettajat pystyvät kääntämään käytännön opetustyössä tämän asian toimivaksi osaksi opetuksen kokonaisuutta. Oppisisällöt kehittyvät jatkuvasti, ja tietotekniikan opetuksessa tullaan varmasti vielä palaamaan siihen kysymykseen, onko koodaaminen todellakin se teema, johon rajallisia resursseja jo ala-asteelta lähtien kannattaa satsata. Vai onko tällä aihealueella kenties vielä tärkeämpiä perustietoja ja -taitoja, joita lapset tarvitsevat selvitäkseen ja menestyäkseen nopeasti muuttuvassa maailmassamme.

Käyttäjän grohn kuva
Lauri Gröhn

Tämä on täydellisen harhainen mantra:

"Kaiken tiedonhan saa helposti wikiä klikkaamalla älykännyynsä."

Jos perustiedot puuttuvat, ei osaa tehdä oikeita kysymyksiä ja arvioida saadun vastauksen luotettavuutta. Wikikään ei ole luotettava: Miksi nousuvesi on kaksi kertaa vuorokaudessa...

Käyttäjän TomiAalto1 kuva
Tomi Aalto

Suomi on maailmalla tunnettu mm. siitä, että teknologian taso on meillä korkea. Suomi on monella teknologian alalla ollut jopa edelläkävijä. Teknologiateollisuuden osuus bruttokansantuotteestamme on viimeisen kolmenkymmenen vuoden aikana ollut merkittävä. Nokian hiipuminen ja sitä kautta koko teknologiateollisuuden alasajo on tällä hetkellä suurin yksittäinen syy vaikeaan taloustilanteeseemme. Tähän on pitänyt reagoida.

Kannattaa vilkaista tulevaisuuteen sen pohjalta, missä muu maailma menee. Mitä on odotettavissa teknologian saralla lähitulevaisuudessa? On todennäköistä, että seuraavat suuret aluevaltaukset teknologiamarkkinoilla tehdään robotisaation ja entisestään yleistyvän automaation parissa. Teknologiateollisuus tulee tarjoamaan valtavasti työtä tulevaisuudessa. Tähän kannattaa suomalaisten nuorten valmistautua.

Moni on ymmärtänyt väärin uuden opetussuunnitelman sisältämät ohjelmointitaitoihin liittyvät sisällöt ja tavoitteet. Tiivistettynä sisällöt ja tavoitteet ovat seuraavat:

Luokat 1-2:
Tieto- ja viestintäteknologinen osaaminen (Laaja-alainen osaaminen L5)
Matematiikka, S1 Ajattelun taidot

Luokat 3-6:
Tieto- ja viestintäteknologinen osaaminen (Laaja-alainen osaaminen L5)
Matematiikka (Käsitteelliset ja tiedonalakohtaiset tavoitteet T14, Ajattelun taidot S1)

Luokat 7-9:
Tieto- ja viestintäteknologinen osaaminen (L5)
Matematiikka (Käsitteelliset ja tiedonalakohtaiset tavoitteet T20, Ajattelun taidot ja menetelmät S1)
Käsityö (Kokeilu S3, sulautetut järjestelmät)

Kuten huomataan, painopiste ohjelmoinnin opetuksessa on matematiikassa, joskin sitä voi opettaa minkä oppiaineen sisällä tahansa. Sana ohjelmointi voitaisiin aivan hyvin muuttaa muotoon: Looginen ajattelukyky, jonka kehittämistä tuskin kukaan vastustaa.

Ymmärrän kynnyksen, joka monella opettajalla on ohjelmointia kohtaan. Onneksi löytyy erinomaisia sivustoja ohjelmoinnin opetuksen tueksi. Esim.

http://koodi2016.fi/
https://code.org/
https://scratch.mit.edu/

Opetan itse tällä hetkellä ohjelmointia koulussa 3.-6. -luokkalaisille ja tiedän kokemuksesta, että lapsi omaksuu oleelliset ohjelmointiin liityvät taidot ja periaatteet keskimäärin varsin nopeasti. En siis todellakaan allekirjoita Sauli Ahvenjärven näkemystä ohjelmoinnin opetuksesta peruskoulussa.

Käyttäjän grohn kuva
Lauri Gröhn

Kun Nokia ja sen alihankkijat jätetään pois, ei SUOMI ole ollut kummoinenkaan teknologiamaa. Kun Suomessa on yksi fiksu ihminen, USA:ssa on 100+ (+ tulee siirtolaisista)

Lapsilla on paljon hyödyllisempääkin tekemistä kuin jumiuttaa aivojaan ohjelmoinnin valmisteluun ja ohjelmointiin. Esimerkiksi virkkaus perustuu algoritmeihin ja käsillä näpelöinti kehittää neuroplastisesti aivoja.

Kertotaulukin on lasten osalta kussut jo pitkään ...

Hyvää tarkoittavat hölmöt ovat kautta aikojen sawneet paljon pahaa aikaan ...

Käyttäjän TomiAalto1 kuva
Tomi Aalto

Mahdoitko lukea edellistä kommenttiani? Ohjelmoinnin opetus tarkoittaa käytännössä ennenkaikkea loogisen ajattelukyvyn opettamista. Jos jonkun mielestä virkkaaminen on siihen hyvä keino, niin suotakoon se hänelle.

Ei loogisen ajattelukyvyn kehittämistä tarvitse sen kummemmin valmistella. Annetaan esim. ekaluokkalaisille paritehtävä: toinen oppilas antaa silmät sidottuna olevalle oppilaalle käskyjä selvitä esterata läpi. Tätähän ohjelmointikin hyvin pitkälti on. Peräkkäisten käskyjen antamista vallitsevien ehtojen puitteissa.

Suomi tulee putoamaan kilpailusta lopullisesti, jos ajattelutapa ja asenne on tuo, että 'Suomi ei ole kummoinenkaan teknologiamaa'. Kyllä muuten on. Ja pitäisi olla. Suomalaiset on fiksu ja yritteliäs kansa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #211

Tuo loogisen ajattelukyvyn "opettaminen" ohjelmoinnin valmistelun ja ohjelmoinnin kautta on suuri harha.
Lasten pihaleikitkin opettavat enemmän sitä.

Tärkein taito työelämässä sosiaalinen kommunikaatio. Tietokoneen kanssa puuhastelu haittaa sitä. Kirjojen lukeminen vie ikäänkuin toisten pään sisään ja on kouluaikana ja myöhemminkin yksi elämän hyödyllisimistä asioista.

Näistä keskusteluistakin huomaa selvästi, että asiaa viedään putkeen, vaikkei ole kunnollista näyttöä hyödyistä. Missä se looginen ajattelu luuraa? Haitoista on runsaasti näyttöä.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #212

Eikö tuo esimerkkini kahden oppilaan (lapsen) käskyleikistä ollut juurikin pihaleikkiä? Kuinka monta kertaa pitää toistaa, ettei loogista ajattelukykyä tarvitse välttämättä opettaa tietokoneavusteisesti?

Työelämän taitojen priorisoiminen ei liity aiheeseen millään tavalla. Ohjelmoinnin opetuksessa on kyse siitä, millaisia valmiuksia oppilaillemme annetaan tulevaisuuden työssäosaamista varten. Matemaattiset ongelmanratkaisua ja loogista ajattelukykyä kehittävät valmiudet tuskin ovat kovin huono idea.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #213

Mutta kun eivät kehitä. Fiksut oppivat itse, keskinkertaiset eivät juuri ollenkaan, tyhmät eivät koskaan. Kertotaulukin hakusessa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #213

Mutta kun eivät kehitä. Fiksut oppivat itse, keskinkertaiset eivät juuri ollenkaan, tyhmät eivät koskaan. Kertotaulukin hakusessa.

Ainekirjoitusta parempaa loogisen ajattelun kehittämisen metodia ei tiedossani ole. Ohjelmointi jää kauas taakse. Myös luovuudessa.

Jari-Matti Mäkelä Vastaus kommenttiin #211

Kyseenalaistan ainakin itse, ovatko opettajat ihan sisäistäneet loogisen ajattelun luonnetta, jos loogista ajattelua kehittää ainoastaan looginen ajattelu -nimikkeen alla annettava triviaali alkeellisen tietokoneen kömpelö matkiminen tuohon tapaan. Tuollaiset keinotekoiset pelit eivät liity kovinkaan suoraan siihen, mitä tietotekniikka ja tietotekninen yhteiskunta nykyään on. Koneissa on abstraktiokerroksia kerroksien päällä. Eikö esimerkiksi pokeri tai shakki pelinä kehitä ajattelua yhtään? Tai väittely? Tai perusteleva kirjoittaminen?

Otetaan esimerkiksi robotiikkaa. Se on totta, että Arduino-robottien liikuttelu onnistuu yksinkertaisilla suuntakäskyillä. Mietitään kuviota vähän eteenpäin. Nykyään robotiikkaa käytetään monimutkaisissa teollisissa sovelluksissa ja esim. tekoälyllä ohjautuvat autot ja nelikopterit käyttävät ihan eri tason matematiikkaa siellä taustalla. Jos et päädy alalle rakentamaan näitä laitteita, minusta oleellisempaa on käsittää merkityksiä kuin oppia implementoimaan alkeellisia laitteita. Mihin kaikkeen teknologiaa käytetään ja mihin sitä voidaan tulevaisuudessa käyttää? Koodin kirjoittaminen ei luo uusia käyttötapoja. Edes korkean tason speksien kirjoittaminen ei luo suoraan uutta. Siinä on oltava taustalla jotain ideaa siitä, mikä on tarpeen, mikä myy jne. Tämähän on se ongelma Suomessakin. Meillä on kouluissa tonnin iPadit ja rahaa lapioidaan projekteihin ihan sikana. Koodausta ylistetään. Ongelma on vaan siinä, että kun jotain HUS:n terveydenhuoltojärjestelmääkin ollaan hankkimassa, niin ollaan ihan hukassa. Ei ole mitään visiota, mitä ollaan ostamassa.

Toinen asia, mitä kritisoin, ovat nuo opetusvälineet. Esim. Scratch ei ole mitään muuta kuin vanha 50-luvun Fortran tai Algol paketoituna visuaaliseen muottiin. Se tukee todella heikosti abstraktioita, jotka ovat ohjelmoinnissa ja ohjelmien suunnittelussa yksi tärkeimpiä ominaisuuksia. Minusta se on ihan oikeasti mielenkiintoinen kysymys, miksi Scratch opettaa niin hyvin koodaamaan, mutta puhtaasti tekstuaalinen muoto ei. Esimerkkinä

https://upload.wikimedia.org/wikipedia/commons/d/d...

ja

when(flag.clicked) {
forever {
if (key(right_arrow).pressed)
move(10.steps)
}
}

Tuo Scratch on lasten leluympäristö ja yo. koodi kovan luokan ammattilaisten käyttämää Scala-kieltä, jonka suunnitteluun on osallistunut alan johtavia tutkijoita viime vuosilta.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #226

Scratch:in hyvä puoli on mm. siinä, että oppilaan ei tarvitse tuntea syntaksia, siis ohjelmointikielen kielioppia. Jos lapselle aletaan opettaa kielellistä ohjelmointia, niin hän kyllästyy tunnissa, koska ei saa aikaiseksi riittävän mielenkiintoisia tuotoksia. Scratch:in avulla oppilas saa ensimmäisen oppitunnin aikana aikaiseksi hauskoja ja innostavia lopputuloksia. Kokemusta on.

Scala ei näytä olevan sen kummallisempi kieli kuin Java tai Python. Ja tuo esimerkkisi on varsin yksinkertaista koodia. Peruskoulussa tuota voisi alkaa opettaa 6. luokasta ylöspäin oppilaan taitotasosta riippuen.

Jari-Matti Mäkelä Vastaus kommenttiin #255

Mikä tahansa nykyinen kieli voidaan visualisoida Scratch-tyylisesti. Scratchin ongelma on, että se on hyvin rajoittava järjestelmä. Kielellisesti se on takapakkia jopa Pascalista ja Logosta, joita aiemmin koulussa opetettiin. Scratch mahdollistaa aika heikosti kontrolli- ja data-abstraktioiden ilmaisun toisin kuin käytännön ohjelmointikielet.

Scalan takana on paljon enemmän tutkimusta kuin Javalla ja Pythonilla. Yksi merkki tästä on se, että sillä voidaan vaikeitakin asioita voidaan esittää yksinkertaisella tavalla tarpeen tullen. Olet kyllä oikeassa siinä, että sitä voisi opettaa melko nuorillekin.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #257

"Mikä tahansa nykyinen kieli voidaan visualisoida Scratch-tyylisesti."

No onko esim. Scala visualisoitu? Tai Java, Python, C, C#, Ruby, Basic, Pascal jne.? Tällä hetkellä visuaalisista ohjelmointiympäristöistä Scratch on rajallisuudestaan huolimatta yksi parhaimmista ohjelmointiympäristöistä. Kun sitä voi käyttää sekä online- että offline-versioina, tarjoaa se aika paljon mahdollisuuksia yhteistoiminnalliseen ohjelmointiin, oman koodin jakamiseen ja muilta oppimiseen.

Scratch on tarkoitettu 6-12-vuotiaille, joskin iäkkäämmätkin voivat sen kanssa aloitella ohjelmointia. Kun oppilas ymmärtää ohjelmoinnin perusperiaatteet, voi hän halutessaan siirtyä oikeisiin kielellisiin ohjelmointiympäristöihin. Oppilaiden taito -ja osaamistasot vaihtelevat erittäin paljon ohjelmoinnissa. Siksi on hyvä, että löytyy ns. jokaiselle jotain. Scratch soveltuu pienille, Scala ym. isommille.

Jari-Matti Mäkelä Vastaus kommenttiin #258

Ymmärsin tästä peruskoulujen opetussuunnitelmasta, että kaikista ei tehdä koodareita. En ole kovin huolissani niistä, jotka jatkavat ohjelmoijiksi. Muiden osalta vaan mietin, antaako Scratch kovin hyvää kuvaa siitä, miten tietokone toimii tai mitä ohjelmointi on. Osallahan se koodaus jää siihen eivätkä ehdi jatkaa siitä eteenpäin.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #259

Juuri näin. Ei ole tarkoituskaan, että kaikista tulisi koodareita. Peruskoulussa opetetaan musiikkia, mutta vain harvoista tulee muusikoita, koulussa opetetaan liikuntaa, mutta vain harvoista tulee urheilijoita. Käsitöitä, kuvaamataitoa, jne opetetaan myös. Tarkoitus on antaa laaja ja kattava yleissivistävä pohjakoulutus, josta on hyvä jatkaa eteenpäin. Uskon kuitenkin, että ohjelmoinnin sisällyttäminen OPS:iin tulee vaikuttamaan mm. siten, että aiempaa useampi nuori kiinnostuu ohjelmoinnista ja aikanaan työllistyy sellaiselle alalle, jossa ohjelmointitaidoista on hyötyä.

Käyttäjän grohn kuva
Lauri Gröhn

"Ihmisen ajattelu ei ole pääsääntöisesti loogista. Logiikka on ennemminkin akateemisten nokkelikkojen kehittämä systeemi ennustaa yhdenlaisten, sinänsä ihan käyttökelpoisten ajatteluprosessien tuloksia. Koska johdonmukainen ajattelu tuottaa usein toivotunlaisia tuloksia, on logiikka tietynlaisen ajattelutavan kuvantajana mitä loistavin. Se on siis kelpo työkalu – mutta kehno selitysmalli.

Looginen ajattelu ei ole myöskään ainoa tehokkaan ajattelun muoto. Esimerkiksi lateraalinen ajattelu voi tuottaa usein tuloksia monin verroin ketterämmin. Yleismaailmallisena ihmisen toiminnan selittäjänä logiikka tekee kehnoa jälkeä. Filosofin kammion ulkopuolella kun ihminen useimmiten on, hyvässä ja pahassa, irrationaalinen eläin."

http://ajattelunammattilainen.fi/2010/03/05/onko-a...

Käyttäjän TomiAalto1 kuva
Tomi Aalto

http://www.schooleducationgateway.eu/en/pub/news_e...

https://www.techinasia.com/singapore-introduce-pro...

http://www.itworld.com/article/2696639/application...

http://techland.time.com/2012/07/16/can-we-fix-com...

http://www.euractiv.com/sections/eu-code-week-2014...

Muu maailma menee menojaan ja Suomi jää teknologian takapajulaksi, jos emme ota asiaa tosissamme.

Oletaan, että ennen kuin ohjelmointia alettiin opettaa kouluissamme, noin yksi promille oppilaista innostui ohjelmoinnista oma-aloitteisesti ja hankki taidoillaan itselleen sellaisen ammatin, jossa tarvitaan ohjelmointitaitoja. Uuden opetussuunnitelman myötä on realistista odottaa, että vähintään prosentti oppilaista innostuu ohjelmoinnista ja hankkii tulevaisuudessa itselleen ammatin ja työpaikan, jossa tarvitaan ohjelmointitaitoja. Kymmenkertainen määrä. Idea on siis löytää mahdollisimman paljon jyviä akanoista mahdollisimman varhaisessa vaiheessa. Ne, jotka eivät tule koskaan tarvitsemaan ohjelmointia ammatissaan, saavat matemaattista ja loogista ajattelukykyä kehittävää koulutusta, mikä ei varmaankaan ole pahitteeksi kenellekään. Eiköhän sekin kuitenkin lueta yleissivistäväksi koulutukseksi.

Käyttäjän grohn kuva
Lauri Gröhn

Suomen tulevaisuus ei tule rakentumaan puoliautisten koodareiden varaan.

Bisneksessä loogisuus ei ole mikään etu, eikä koodaus sitä edes kehitä, vasn jumiuttaa neuroplastisesti aivoja.

Luepa edellinen viestini.

Käyttäjän TomiAalto1 kuva
Tomi Aalto

http://www.iftf.org/fileadmin/user_upload/images/w...

Institute of the Future:n hahmotelma tulevaisuuden työpaikoista kertoo hieman enemmän, kuin neuroplastiseen bisnesajatteluun orientoituneet skeptikot.

Käyttäjän grohn kuva
Lauri Gröhn

Joo. Kymmenestä tulevaisuuden taidosta yksi sliippaa hieman koodaamista.

Käyttäjän TomiAalto1 kuva
Tomi Aalto

Rise of smart machines and systems - ohjelmointitaitoja tarvitaan todella paljon. (esim. robotisaatio, älylaitteet, älykäs tuotanto)

Computational world, Massive increase in sensors and processing power makes the world a programmable system. - Ohjelmointitaitoja tarvitaan todella paljon (esim. automaation jatkuva yleistyminen)

Globally connected world - ohjelmointitaitoja tarvitaan todella paljon (esim. verkossa toimivat palvelut)

New media ecology - ohjelmointitaitoja tarvitaan todella paljon. (esim. kommunikointiteknologia, sosiaalinen media, tiedonvälitys jne.)

Maailma digitalisoituu, sille emme mitään mahda. Digitaalisten palvelujen tuottaminen, älykkäät laitteet ja automaation yleistyminen tulevat tarjoamaan valtaosan tulevaisuuden työpaikoista.

Käyttäjän grohn kuva
Lauri Gröhn

Katso ny kuitenkin linkistä, mitä taitoja tarvitaan, äläkä höpise omiasi. Skill = taito

Käyttäjän TomiAalto1 kuva
Tomi Aalto

Nuo isot kuviot ovat työssä tarvittavia taitoja ohjaavia (drivers) aloja, elinkeinoja tai yhteiskunnan rakenteita. Mitkä keskellä näkyvistä pienistä kuvioista (taidot) ovat mielestäsi sellaisia, jotka eivät liity millään tavalla ohjelmointiin?

Käyttäjän grohn kuva
Lauri Gröhn

Vain yksi jonkin verran edellyttää. Kysehän oli lasten ohjelmointikoulutuksen autuudesta. Ohjelmointikoulutus haittaa monia noista kymmenestä.

Käyttäjän TomiAalto1 kuva
Tomi Aalto

Perustele.

Tutkipa esim. oheisen sivuston vinkkejä, miten ohjelmointia voisi lapsille opettaa.

http://csunplugged.org/

Ainoa noista kymmenestä em. taidosta, joka ei suoranaisesti liity ohjelmointiin, on transdisciplinarity. Kaikki muut taidot ainakin oman työkokemukseni perusteella liittyvät. Oleellisesti.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #228

Ai että "liittyvät"? Kun lapsille haitallinen ohjelmointikoulutus on pitkällä tähtäyksellä haitallillista kaikille noista taidoista. Logiikkasi kusee.

Ville Takanen

On varmasti totta että mikroprosessorit olivat taannoin harvinaisia. Mielestäni meidän on kuitenkin aika päivittää ajatuksiamme. Ohjelmointi on aikamme yleissivistystä.

http://hub.elisa.fi/ohjelmoinnin-opiskelu-on-aikam...

Käyttäjän grohn kuva
Lauri Gröhn

Väite, että ohjelmoinnissa oppi loogista ajattelua (linkki), on täydellinen harha. Sen näkee myös toistuvasti kouluohjelmoinnin puolustajien kirjoituksissa, joista looginen ajattelu loistaa olemattomuudellaan. Ja anekdoottitofstelu on heilke yhteistä uskomuslääkinnn kanssa (linkki).

Mikroprosessorit tulivat käyttöön jo 70-luvulla...

Höpöä 35 vuoden takaa:

Kun aikaisempien aikojen kulttuurin ja kielen yleisväline oli latina, tulee tietotekniikasta nyt vastaava ihmimillsen toiminnan yleisavain.
(Kurt Wikstedt, Nokia elektroniikan johtaja)

Tietotekniikan soveltaminen ja hyväksikäyttö antavat tilaa luovuudelle, kun välttämättömät rutiinit hoidetaan koneella.
(Jaakko Castren, Tietojenkäsittelyliiton hallituksen puheenjohtaja)

Atk-ihminen kuuluu omaan rotuunsa. Hän on luova, ennakkoluuton ja seikkailunhaluinen.
(Hanna Yliluukko, lukion rehtori)

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen

Ohjelmointi sinällään ei ole eikä tule olemaan yleissivistystä, mutta ns. computational thinking tullee sitä olemaan. http://juusovuorinen.puheenvuoro.uusisuomi.fi/2046...

Käyttäjän grohn kuva
Lauri Gröhn

Ongelma on juuri tuossa ongelmallistamisessa. Ei kirjailija, taiteilija, säveltäjä, luova suunnittelija ... ole ratkaisemassa ongelmia, vaan luomassa artefakteja. Kysymykset ovat tärkeämpiä kuin vastaukset.

Timo Viitanen Vastaus kommenttiin #233

"Ongelma on juuri tuossa ongelmallistamisessa. Ei kirjailija, taiteilija, säveltäjä, luova suunnittelija ... ole ratkaisemassa ongelmia, vaan luomassa artefakteja. Kysymykset ovat tärkeämpiä kuin vastaukset."

Kannattaa myös pystyä järjestelmälliseen työhön ja ongelmanratkaisuun niiden luovien visioidensa toteuttamiseksi. Tulee mieleen eräs tuttu joka kovassa humalassa alkaa innoissaan kertoa olevansa aivan maailmaamullistavan vision äärellä, mutta sitten ei ikinä onnistu kertomaan mitään konkreettista siitä visiostaan :P. Tai tämä taiteiden tohtori: http://www.teemumaki.com/essayskissa.html . Ei siis sinun viesteistäsi, mutta tästä neuroplastisesta ideaali-ihmisestä jota maalaat, joka ei ole pilannut luovuuttaan ajattelemalla loogisia kokonaisuuksia eikä tutustumalla edes pintapuolisesti mihinkään konkreettiseen taitoon.

Ymmärrän tämän neuroplastisuus-settisi niin, että lapset - ja miksei aikuisetkin, helposti jäävät koukkuun näpräämään jotain aivotonta ja mekaanista peliä, vaikka tetristä tai pasianssia. Koet että ohjelmointi on kokonaisuudessaan yhtä aivotonta toimintaa kuin nämä. Mutta ohjelmoijahan pystyy ilmaisemaan miltei minkä tahansa matemaattisloogisen mallin minkä ihminen voi kuvitella, eikä toimintaa ohjata pelimäisillä palkinnoilla ja rangaistuksilla. Mielestäni kuvaamallasi tavalla mekaanista tuossa on lähinnä alkeet ja kielioppi, kuten mitä tahansa kieltä opetellessa. Tai matematiikassa kertotaulu, jota ilman on hankala edetä enemmän ajattelua vaativiin aiheisiin.

Isokokoiset ohjelmistot ovat ehkä monimukaisimpia ihmiskunnan rakentamia artefakteja; niiden rakentamistyöstä on jatkuvasti automatisoitu pois mekaanista nypläystä, ja jätetty jäljelle ihmisen ajattelua vaativia osia joita ei osata vielä teettää koneella (https://neil.fraser.name/news/2013/06/19/). Toki jos toteutetaan teollisuudessa kymmenettä samanlaista potilastietokantaa niin luovaa työtä on aika vähän, samaten kuin arkkitehdilla joka käsketään suunnittelemaan määrätyn kokoinen neliskanttinen varastohalli.

Oletko katsonut näitä leluja mitä ohjelmoidaan harrastuskannalta esimerkiksi Shadertoy'hin (esim. https://www.shadertoy.com/view/XsBXWt) tai demofestivaaleille (esim. https://www.youtube.com/watch?v=RCh3Q08HMfs)? Jälkimmäisiä tietysti on mukana tekemässä usein muusikoita ja graafikoita. Meinaatko ettei noissa ole mukana mitään luovuuden murua, vaan tuollaisten toteutus on pelkkää aivotonta ja turmiollista Angry Birdsin pelaamista? Nuo tietysti vaativat kovan teknisen osaamisen, mutta olen ollut mukana pitämässä ohjelmoinnin alkeiskursseja tuoreille lukiolaisille, ja siellä on näkynyt aika luovaa settiä vähälläkin osaamisella.

Pidätkö matematiikkaa yhtä turhana asiana? Heitän esimerkin missä hyvin opetetut ohjelmoinnin alkeet voisivat auttaa matematiikan opetusta. Lukion pitkän kursseilla hankalia asioita ovat integrointi sekä differentiaaliyhtälöiden ratkaisu. Monella on vaikeutena kehittää intuitiivinen kuva mistä näissä on kyse: ne koetaan mielivaltaiseksi kaavojen manipuloinniksi.

Yksi peliohjelmoinnin perustemppu on Eulerin menetelmä, jolla lasketaan pelihahmojen liikeratoja perusfysiikan mukaan. Algoritmiin menee kymmenisen koodirivia, jotka alakoululainenkin ymmärtää hyvin selitettynä. Kun paikkavektoriin lisätään suuntavektoria, palikka liikkuu suorassa viivassa, ja kun suuntavektoriin lisätään esimerkiksi painovoimaa kuvaava luku, se tippuu paraabelirataa. Ei tarvita kovin montaa opetustuntia että porukka saa rakennettua tällä vaikka aurinkokunta- tai rakettimalleja. Tällä pohjatiedolla lukiossa olisi helppo raja-arvojen määrittelyn jälkeen kertoa, että (määrätyssä) integroinnissa vain tiputetaan Eulerin menetelmän aika-askelta kohti nollaa. Samalla porukalle selviäisi nykyistä aikaisemmin yksi tärkeimmistä matematiikan ja fysiikan yhteyksistä.

Todellisuudessa ei varmaan nähdä valtakunnallisesti niin hyvää opetusta että siitä olisi mitään iloa, mutta aina saa haaveilla.

Jari-Matti Mäkelä Vastaus kommenttiin #241

Tietokoneilla voi visualisoida ja tukea myös symbolista laskentaa ja kaavojen manipulointia. En puhu nyt lukion matematiikasta vaan ylipäänsä yliopistotason algebrasta ja laskennan malleista ja ohjelmointikielistä. Näihin on panostettu ihan liian vähän tähän asti. Tämä on myös siis ihan eri asia kuin Scratch. Scratch on Fortran käännettynä graafiseksi. Se ei ole Idris tai Haskell tyyppisysteemin osalta visualisoituna.

Simo Kivimäki

Ohjelmoinnin perusteiden ymmärtäminen on erittäin tärkeä kansalaistaito ja kuuluu opetussuunnitelmaan osaksi muuta matemaattista opetusta. Tietotekniikka on niin iso osa nykyihmisen arkipäivää, että jokaisen tulisi ymmärtää edes vähän mikä saa laitteet hyrräämään.

Ymmärrän, jos Sauli on 80-luvulla jupustellut ATK:ta, ja kommentoi asiaa siltä pohjalta. Noista ajoista asiat ovet kuitenkin jonkin verran muuttuneet.

Käyttäjän grohn kuva
Lauri Gröhn

Tuota jankkausta on kuultu iät ajat, mutta edelleenkään yhtään kelvollista perustelua ei ole esitetty.

Simo Kivimäki

Miksi lentokone pysyy ilmassa tai laiva pinnalla? Ympäröivän maailman ymmärtäminen on kaiketi tärkeää, eikö vain?

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #236

Ei mikään perustelu tuolle "erittäin tärkeälle".

Pitääkö autoa ajaessa tietää miten polttomoottori toimii?

Simo Kivimäki Vastaus kommenttiin #237

Tuonkin ymmäräminen on tärkeää ja siksi se opetetaan peruskoulun fysiikantunneilla.

Jos haetaan kuitenkin analogiaa ohjelmoinnin perusteiden ymmärtämiselle, sanoisin että pitää ymmärtää, että autossa ON jonkinlainen moottori, joka saa renkaat pyörimään. Mielestäni tämä on erittäin tärkeää tietää, kun lähdetään ajamaan autoa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #238

Ellet ole oskilloskoopilla tutkinut mikprosessorin väylien signaaleja, et sinäkään ymärrä miten tietokone toimii.

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen Vastaus kommenttiin #239

Lauri: Kyse on toimintaperiaatteesta, ei fysikaalisista ilmiöistä. Väylien signaalit viittaavat sähkövirtaan. Kun Turing keksi tietokoneen toimintaperiaatteen, hänellä ei ollut oskilloskooppia eikä hänellä kyllä ollut käsitystä siitäkään, että 2000-luvulla "koneet" eivät enää toimi hänen periaatteidensa mukaan. Hän kuitenkin oli siinä viisas, että pohti millaisia ongelmia hänen tavallaan ajatella voi ratkaista.

Tietokoneen toiminnan perusta ei ole elektroniikka tai laitteet, vaan tapa ajatella. Sitä tapaa ajatella esitteli meille esimerkiksi Turing. Se, miten tietokone toimii fyysisesti, on aivan toinen asia.

Eihän ydinvoimaakaan olisi ellei Einstein olisi keksinyt, että massalla ja energialla on jokin yhteys. Mutta massan ja energian välisen yhteyden keksiminen on johtanut uusiin sovelluksiin, ei oskilloskooppi.

Yleissivistyksen kannalta oleellisinta on juuri sen ymmärtäminen, missä tietokone on hyvä. Kun ymmärtää, miten se kone "ajattelee", oppii soveltamaan ja arvioimaan, mitkä inhimillisen elämän asiat voisi jättää koneen huoleksi ja miksi. Siksi se computational thinking on niin tärkeää.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #245

Etpä tiedä mistä kirjoitat. Softa ei toimi ilman prosessoria, piiriarkkitehtuuria jne. Koululaisten ei tarvitse noista tietää, mutta jos joku haluaisi todella YMMÄRTÄÄ...

Tapa ajatella ei ole kuin PINNALLISTA yleisymmärystä. Tuon vuoksi ei koodausta tarvitsisi tuoda peruskouluun, jossa fysiikkakin jää useimmilta pinnallisen pänttäämisen tasolle.

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen Vastaus kommenttiin #247

Moi Lauri!

En ymmärrä, mitä tässä yhteydessä tarkoittaa "tapa ajatella ei ole kuin PINNALLISTA yleisymmärrystä", joten en osaa kommentoida.

Jari-Matti Mäkelä Vastaus kommenttiin #251

Turing ei keksinyt fyysisen tietokoneen toimintaperiaatetta. Aiemmin oli jo mm. tämä https://en.wikipedia.org/wiki/Difference_engine

Turingin kone on abstrakti matemaattinen laskennan malli, jonka pointtina oli esim. todistaa pysähtymisongelma tai sen ratkeamattomuus. Se ei ole lähelläkään sitä, miten tietokoneet toimivat. Vertauksesi Einsteiniin on sikäli väärin, että E=mc^2 pätee universaalisti, mutta tietokoneet eivät perustu Turingin koneeseen, joten se on lähinnä kiva sivutulos, jolla voi osoittaa laskettavuuteen liittyviä asioita, mutta ei paljon muuta.

Ohjelmistotuotannossa on nykyään niin monta abstraktiotasoa, että oleellisempaa olisi opettaa ehkä tätä kykyä abstrahoida ja jotain järkevän tason abstraktiota. Scratch esimerkiksi mallintaa asioita sellaisella tasolla, jota lähinnä käytetään triviaaleissa Arduino-projekteissa. Tosielämässä ohjelmistokokonaisuudet ovat ihan erilaisia.

Tietotekniikkaa opiskelevat ehtivät täydentää tietojaan moneen otteeseen opiskelun aikana, mutta en itsekään ole ihan varma, antaako Scratch-tason raapaisu aiheeseen riittäviä eväitä tajuta tietotekniikkaa. Se on myös aika kaukana siitä, miten ihmiset potentiaalisesti tulevat käyttämään tekniikkaa jatkossa. Esim. ohjelmointikielet ovat menneet jatkuvasti deklaratiivisempaan suuntaan, komponenttipohjaiseksi ja korkeammalle abstraktiotasolle. Scratch-tyylinen opetus on imperatiivista ja käsittelee varsin matalan tason juttuja. Se voi osalle olla liian abstraktia samaan tapaan kuin joukko-oppi jo tästä syystä, että vastaavan abstraktiotason kanssa ei tule ikinä myöhemmin toimimaan.

Simo Kivimäki

Uskoisin ymmärtäväni tietokoneen toiminnan ja myös ohjelmoinnin perusteet.

Lopulta kai kyse on siitä, mitä kukin pitää tärkeänä; Vielä tovin meillä taitaa olla sellainen kalapuikkoviiksisukupolvi, joiden mielestä ATK on saatanasta ja internet pitäisi räjäyttää. Toisten mielestä digitalisaatio on jo niin pitkällä, että ohjelmoinnin perusteiden ymmärtäminen on erittäin tärkeä kansalaistaito.

Petri Muinonen

Ja vielä eräiden muiden mielestä digitalisaatio on jo niin pitkällä, ettei ohjelmoinnin perusteiden opettamisella koulussa ENÄÄ ole merkitystä kansalaistaitona, kuten vielä joskus 80- tai jopa 90-luvulla

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen

Petri: Nyt ollaan asian äärellä!

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #248

Niinpä.

Logo-kieltä opetettiin jo vuonna 1984 ala-asteen ekaluokkalaisille. Tavoitteet olivat kovat:

- Edelläkävijänä toimii Herttoniemen ala-asteen tietokonekerho.

- Sopimukseen kuuluu myös, että me hoidamme sitten myöhemmässä vaiheessa valmistuneiden jakelua muualla Suomessa. (Hanketta tukeen Yhdyspankin tiedotuspäällikkö)

-Tietokonemusiikkiakaan ei ole unohdettu, kuten ei myöskään vammaisten käyttämää tietotekniikkaa.

- Helsingin yliopiston psykologian laitos tekee ala-asteen tietokonekerhosta seurantatutkimusta, jotta selvitettäisiin atk-tenavien edistyminen.

Mitään olennaista ei tuosta kokeilusta jäänyt käsiin. Mitään ei opittu. Nyt ollaan aikalailla samassa tilanteessa kuin silloin 30 vuotta sitten!

http://grohn.vapaavuoro.uusisuomi.fi/kulttuuri/170...

Jari-Matti Mäkelä

Jos mietitään nykyään ohjelmistoalaa, iso osa ohjelmista on täysin valmiita loppukäyttäjälle. Ei mitään tarvetta ohjelmoida. Lisäkoodia voi ostaa ja ladata ilmaiseksi plugineinä vaikkapa Photoshopiin tai Wordpressiin ilman koodaustaitoa.

Toinen taso on kustomoitavat asiantuntijasoftat. Esimerkiksi tietokannat. SQL-kieli ei noudata "koodaamisen" logiikkaa eli imperatiivista kieltä vaan relaatioalgebraa. Scratch-koodaus ei paljon tässä auta. Voin kuvitella, että jatkossa tekoälyn määrä lisääntyy asiantuntijasysteemeissä ja kielten abstraktiotaso vain nousee.

Meillä on myös IaaS/SaaS-tyylisiä palveluita, virtuaalikoneet ja imaget asennettavissa pilveen hiiren klikkauksella ja järjestelmissä deklaratiivinen tai graafinen konfigurointi, varsinaista "koodausta" eli Turing-täydellisen imperatiivisen kielen käyttötaitoa ei tarvita. Tähän on jatkuvasti pyritty kustannusten laskemiseksi, jotta yhä useampi ihminen pystyisi tekemään entistä enemmän. Pystyt säätämään tällä tavoin vaikkapa verkkokaupan ihan vaan vuokraamalla pilveä ja muutaman rivin konfiguraatiolla ja asentelemalla valmiita paketteja. Varmasti perinteinen unix-tyylinen koodaus auttaa tässäkin, mutta jos tulevaisuutta miettii, nämä palvelut lähinnä yksinkertaistuvat ja paranevat käyttäjäystävällisyydellään jatkossa. Toivoa sopii, että koodauksen opetus vastaa tähän eikä 80-luvun atk-ongelmiin.

Käyttäjän grohn kuva
Lauri Gröhn

"Mikäli atk-opetuksen pääpaino sijoittuu ohjelmoinnin opetukseen, olisi se yhtä nurinkurista kuin jos opetettaisiin säveltämistä, jotta oppilas oppisi käyttämään levysoitinta." Kauppalehti 2.8.1984

Käyttäjän TomiAalto1 kuva
Tomi Aalto

Kun olen lukenut näitä sinun kommenttejasi, taidan ymmärtää, miksi vastustat ohjelmoinnin tuomista perusopetukseen. Ongelma on, että termi 'ohjelmointi' ei sovellu siihen, mihin uusi OPS nyt pyrkii. Ymmärrät ilmeisesti sanan ohjelmointi mekaaniseksi koodaamiseksi, koodin kirjoittamiseksi ja jonkun sellaisen loppuunsaattamiseksi, joka on jo melko pitkälle suunniteltu ja rakenteellisesti toteutettu. Koska tottahan tämä on, ohjelmointi ymmärretään tavallisesti näin.

Iso-Britanniassa käytetään termiä 'computing', joka siis on osa yleissivistävän opetuksen opetussuunnitelmaa. Suomen kielessä meillä ei ole tätä termiä vastaavaa sanaa. On yritelmiä, kuten 'ohjelmoinnillinen ajattelu' tai 'algoritminen ajattelu', mutta eivätpä nekään kovin toimivia ole. Kyse on joka tapauksessa luovaan toimintaan ja ongelmanratkaisuun tähtäävä oppimisen muoto, jonka tavoitteena on tukea oppilaan kasvamista digitalisoituvaan yhteiskuntaan.

Käyttäjän JuusoVuorinen kuva
Juuso Vuorinen

Moi Tomi!

Kyllä meillä on oikein hyvä ja täysin computing -sanaa vastaava sana, se on tietotekniikka.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #261

Moi Juuso!

Ihan hyvä, mutta koska viimeiset 30 vuotta on Suomea ajettu tietoyhteiskunnan jäseneksi (lähinnä rautaa hankkimalla), on ollut automaattista tietojenkäsittelyä ja tieto- ja viestintätekniikkaa, niin luulenpa, että mikään tieto-liitteinen sana ei ole tällä hetkellä riittävän innostava (mediaseksikäs) termi. Tosin ei ohjelmointikaan kovin innostava termi ole. Mutta pidetään ideapannu lämpimänä... :-)

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #263

Mitään tietoyhteiskuntaa ei ollut eikä tullut, oli vain TIETOISTETTU, tietokoneistettu yhteiskunta. Suomi tantui tietoyhteiskuntana.
Nyt samaa epäonnistunutta puuhastelua jatketaan nimellä digitalisaatio. Digitalisaatio alkoi jo 70-luvulla. Itsekin olin silloin kehittämässä prosessiriohjattuja hissejä ja puhelinkeskuksia.

Käyttäjän TomiAalto1 kuva
Tomi Aalto Vastaus kommenttiin #265

Eli itsekin työllistyit digitalisaation parissa. Kuten sadattuhannet muutkin. Työpaikoista on kyse. Sekä osaamisesta. Haluammeko, että suomalaiset osaavat, vai luovutammeko suosiolla ja ostamme osaamisen ulkomailta? Jos osaaminen on meillä, ovat työpaikat meillä.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #274
Käyttäjän AnttiKoskela kuva
Antti Koskela

Koodaamisen perusteet on nykyään oleellisempi taito kuin vaikkapa biologia, maantiede, kemia tai fysiikka.

Kaikki noista ovat pakollisia aineita yläkoulussa ja lukiossa. Miksi sitten ei koodauskin?

Eivät kaikki pakolliset aineet nytkään ole sellaisia, että ilman niitä "ei selviä elämässä". Ei kai sellaisia olekaan kuin äidinkieli ja matikan alkeet. Silti muitakin pakollisia aineita on toista kymmentä.

Käyttäjän grohn kuva
Lauri Gröhn

Täydellinen harha.

Ei tarvitse oppiskella säveltämistävoidakseen käyttää levysoitinta. Kauppalehti 3 vuotta sitten.

Toimituksen poiminnat