Tietoa koodikirjasta
Koodikirja-projektin tavoitteena on tuottaa Koodikoululle oppikirja ja auttaa alakoulujen opettajia vuonna 2016 opetussuunnitelmaan sisällytettävässä ohjelmointiopetuksessa.
Innostukseni Koodikirja-projektiin syntyi Koodikoulu-tapahtumien valtavasta suosiosta sekä havainnosta, etten löytänyt Koodikoulun tueksi soveltuvaa opetusmateriaalia. Aika hyvälle suomenkieliselle koodauskirjalle on kypsä.
Suositut Koodikoulu-tapahtumat saivat alkunsa minun ja tyttäreni yhteisistä koodaustunneista. Niissä olen saanut jakaa sitä tietoa ja iloa, jota olen itse saanut koodauksesta. Koodikirjan avulla voin jakaa samaa iloa ja tietoa kaikille halukkaille.
Miksi Koodikirja on tärkeä
Koodikoulu tarvitsee tuekseen itseopiskeluun soveltuvaa suomenkielistä opetusmateriaalia, sillä kaikilla ei ole mahdollisuutta päästä Koodikouluun paikan päälle.
Alakoulujen opettajat tarvitsevat opetusmateriaalia ohjelmoinnin opettamiseen.
Minun mielestäni tämän materiaalin tulee olla kaikkien saatavissa ilmaiseksi. Ja paras tapa tuottaa tämä materiaali on tehdä se avoimen lähdekoodin periaatteella. Yhteistyössä on voimaa!
Kenelle Koodikirja on
Nykymuodossaan koodikirja soveltuu parhaiten vähintään 4-vuotiaiden lasten ohjelmoinnin opetteluun vanhemman kanssa. Jatkossa Koodikirja toivottaasti tukee paremmin myös alakoulujen opettajia.
Jo 4-vuotias voi saada onnistumisen elämyksiä koodauksesta, mutta tarvitsee vanhemman tuekseen. Oma kokemukseni koodailuista 4-vuotiaan tyttäreni kanssa on, että koodaus yhdessä on hauskaa, ja siinä oppii paljon muutakin kuin koodausta. Toisaalta 4-vuotiaalle monet koodaukseen liittyvät abstraktit käsitteet ovat luonnollisesti hyvin haastavia, joten oppiminen ei välttämättä ole salamannopeaa. Tärkeintä on, että oppiminen on hauskaa. Hankaliin yksityiskohtiin ei kannata jäädä jumiin.
Itse aloitin koodaamisen 8-vuotiaana, pääasiassa lukemalla VIC-20:n ohjekirjaa ja kopioimalla sieltä pieniä ohjelmanpätkiä, joita sitten muuttelin ja vähitellen ymmärsin, miten voin tehdä aivan omia tietokoneohjelmia. Toivon, että koodauksen opettelu onnistuu kouluikäisiltä itsenäisestikin Koodikirjan avulla. Vanhempien tuki on kuitenkin korvaamatonta, ja opettelu yhdessä on hyvin antoisaa.
Vaikka kirja onkin suunniteltu lapsille, voi siitä myös nuori tai aikuinen oppia paljon. Kirjasta oppii ihan oikeita koodaustaitoja, ei pelkästään lasten leikkejä. Matka Koodikirjasta ammattikoodariksi on toki vielä pitkä.
Miksi koodaus on tärkeää
Moni Internetin tukipilari, kuten Linux, MySQL, IRC ja SSH ovat suomalaisten koodarien työtä. Kaikissa näissä intohimoiset koodarit ovat rakentaneet jotain itselleen tärkeää koodaustaidoillaan.
Koodi on tulevaisuudessa ja jo nykyään merkittävä suomalainen vientituote. Nokian loistava menestys rakentui osaltaan puhelimien ohjelmistojen eli koodin varaan. Myöhemmin kilpailijat tulivat ohi vielä paremmilla ohjelmistoillaan. Tällä hetkellä menestyksekäs suomalainen peliteollisuus tarvitsee valtavasti lahjakkaista koodareita. Ilman hyviä koodareita menestystä ei tule, ja toisaalta jos ja kun sitä tulee, niin samalla työllistetään paljon muitakin huippuammattilaisia.
Kaikki toimii nykyään koodilla. Kotonasi löydät koodilla toimivia laitteita yllättävän paljon: uunit, liedet, mikrot, televisiot, autot, lämpöpumput sisältävät nykyään prosessorin, joka suorittaa koodia.
Koodausta kannattaa opetella nuorena. Se on hauska harrastus, josta tulee myöhemmin monelle työ. Koodausharrastus ja ohjelmoinnin opettelu kehittää analyyttistä ajattelua ja ongelmanratkaisukykyä.
Koodaustaidoista on hyötyä muissakin ammateissa kuin ohjelmoijana. Esimerkiksi
- Johtavassa asemassa tehdään päätöksiä IT-järjestelmien hankinnasta. Jos ymmärrät IT-järjestelmiä, teet parempia päätöksiä.
- Suuri osa kaikesta työstä tehdään nykyisin tietokoneella. Koodarit ovat tietokoneen tehokäyttäjiä, ja suoriutuvat monenlaisista tehtävistä tehokkaasti, koska osaavat niksit ja pystyvät usein automatisoimaan tehtäviä, ja siten säästämään työaikaa.
- Tieteellisessä tutkimuksessa käsitellään usein suuria datamääriä. Koodaustaidoilla tämä käy tehokkaasti.
Koodaus on tulevaisuuden kansalaistaito ja voi olla suuri menestystekijä sekä henkilökohtaisella että jopa kansainvälisellä tasolla.
Lisää asiaa koodaustaidon tärkeydestä ja koodauksen opettamisesta löytyy Koodi2016 -sivustolta, jota olen itsekin ollut tukemassa.
Miksi koodaus on hauskaa
Useimmat lapset nauttivat rakentelua erilaisilla rakennuspalikoilla. Koodaus on myös rakentamista, mutta rakennettavat asiat voidaan herättää eloon. Koodari luo omia pelejään ja maailmojaan, joissa hän voi itse määrätä säännöt.
Itse tein lapsena paljon erilaisia pelejä. Eräs näistä ole osakekauppapeli, jota kokoonnuimme monesti pelaamaan isolla porukalla tietokoneen ääreen. Myös aikuisena olen tehnyt kymmeniä vapaa-ajan koodausprojekteja, milloin mihinkin aiheeseen liittyen. Pelejä, apuohjelmia, 3D-moottoreita, open-source kirjastoja ja niin edelleen. Nytkin päässä pyörii pari hyvää mobiilisovellusideaa.
Koodaus on hauskaa!
Miten Koodikirja opettaa koodausta
Koodikirjassa koodausta lähestytään “koodikylpy”-menetelmällä, eli tutustutaan koodaukseen hauskojen esimerkkien kautta ja samalla opetetaan yleisiä ohjelmoinnin käsitteitä pienissä annoksissa.
Harjoituksia tehdään paljon ja asioita kerrataan paljon. Samat käsitteet esitellään monta kertaa eri esimerkkien kautta.
Mitä Koodikirja maksaa
Koodikirja on käyttäjilleen ilmainen.
Myös Koodikirjan lähdekoodi on avointa, joten se on nyt ja tulee jatkossakin olemaan kaikkien saatavilla, ilmaiseksi. Koodikirja on siis vapaasti käytettävissä, kopioitavissa ja levitettävissä ei-kaupalliseen käyttöön.
Koodikirjan lähdekoodit löydät Githubista osoitteesta http://github.com/koodikirja/koodikirja.
Koodikirjan sisällön tekijänoikeudet säilyvät tekijöillä itsellään, joten materiaalin mahdollisesta kaupallisesta käytöstä on neuvoteltava tekijöiden kanssa.
Tämä koskee myös kirjan käyttöä maksullisessa koulutuksessa ja sen painamista myytäväksi paperiversioksi.
Miten Koodikirja toteutetaan
Koodikirja-projekti on yhteistyöprojekti, johon haemme rahoittajiksi ensisijaisesti suomalaisia yrityksiä, jotka haluavat edistää koodaustaitoa ja -kulttuuria maassamme.
Olen toteuttanut Koodikirja-sivuston ja kirjoittanut sen ensimmäisen ja kolmannen luvun osittain vapaa-ajalla, osittain ohjelmistoyritys Reaktorin sponsoroimana. Toisen luvun kirjoitti Henrik Ingo.
Kirjan graafisen suunnittelun ja piirrokset on toteuttanut Mari Halla-aho.
Koodikirja-projektin jatko riippuu siitä, löydetäänkö hankkeelle lisää tekijöitä ja rahoittajia.
Mitä on suunnitelmissa
Koodikirja on vasta alussa. Nykymuodossaan se palvelee lähinnä lasten ja vanhempien yhteistä ohjelmointiopettelua. Tarkoituksena olisi sovittaa tätä paremmin erityisesti alakoulujen ohjelmointiopetusta tukevaksi. Tässä hieman suunnitelmia
- Lisätään leikkejä ja aktiviteetteja, joiden avulla ohjelmointia voi ymmärtää käyttämättä varsinaisesti tietokonetta. Tämä soveltuu 1-2 luokille. (tätä aloitettu: https://github.com/koodikirja/leikit)
- Jaetaan sisältö pienempiin “kortteihin”, jotka soveltuvat yksittäisen opetus/oppimissession sisällöksi
- Testataan sisältöä alakouluissa
- Integroidaan Turtle Roy Koodikirjan sivulle (proto olemassa)
- Tehdään ohjelmointiharjoituksisa interaktiivisia (tyyliin codecademy)
- Lisätään Turtle Roy -ympäristöön mahdollisuus luoda ohjelmia graafisista blokeista (proto olemassa)
- Hankitaan hieman luotettavampi/tehokkaampi hostaus (nyt käytössä Herokun ilmaisversio)
Kuinka voit auttaa
Jos koet asian tärkeäksi, auta meitä kehittämään Koodikirjaa.
Koodikirja tarvitsee rahoitusta. Jos yrityksesi haluaa edistää hanketta, voitte auttaa meitä sponsoroimalla. Käyttämällänne rahalla saatte varmistettua, että Koodikirja toteutuu. Lisäksi saatte nimenne Koodikirjan Yhteistyökumppanit-sivulle ja siten ikuistetuksi suomalaisen koodauksen historiaan.
Yksityishenkilönä voit auttaa lukemalla, koodaamalla, opettamalla ja levittämällä sanaa. Voit myös ottaa yhteyttä ja ehdottaa seuraavia käsiteltäviä aiheita.
Voit auttaa myös omalla työpanoksellasi. Koodikirja on avointa lähdekoodia, joten jos haluat parantaa sitä, olet tervetullut niin tekemään! Koodi ja ohjeet löytyvät Githubista.
Yhteystiedot
Juha Paananen
Puhelin: 0405506668
Sähköposti: juha.paananen ät gmail.com
Twitter: @raimohanska