Kuva: Helsingin yliopiston LUMA-keskus Ohjelmointia & monilukutaitoa OPH koulutus 1.12.2014 Emilia Hjelm, Helsingin yliopiston LUMA-keskus Creative Commons - BY - ND - NC
Esittely Emilia Hjelm Helsingin yliopiston LUMA-keskus Lasten ohjelmointiopetusta vuodesta 2011 Pro gradu valmisteilla ohjelmointiopetuksen vaikutuksesta osallistuvien lasten matematiikkaasenteisiin
Ohjelmassa: 1. 2. 3. 4. Taustoitusta ja määrittelyä Motivaatiota teknologiaopetukselle Ohjelmointi ajattelutapana Kädet saveen Koko ajan saa keskeyttää ja esittää kysymyksiä tai väittää vastaan! Näitä materiaaleja saa vapaasti levittää eteenpäin ei-kaupallisessa tarkoituksessa ja tekijän nimen mainiten.
Tietokone ei itsessään tiedä...vaan osaa laskea tietynlaisia laskutoimituksia todella nopeasti. Kaikki äly ja merkitys on ihmisten rakentamaa. Kuva: Akseli Gallen-Kallela, the Defence of Sampo, Wikimedia Commons
Mitä tarkoittaa ohjelmointi? Ohjelmointi on tietokoneen komentamista. Muistuttaa keskustelemista erittäin pedantin ihmisen kanssa Tehdään ohjelmointikielellä Ohjelmointikieliä on monenlaisia, eri tarkoituksia varten
Ohjelmointikielet muistuttavat luonnollista kieltä...koska ne ovat ihmisten tekemiä, ihmisten käyttöä varten. Yleisesti ottaen ohjelmointikielet ovat universaaleja. Kääntäjä tulkkaa sitten ohjelman suorittimen ymmärtämälle kielelle, joka on suoritinkohtainen.
Esimerkki: teksti = Ohjelmointi on hauskaa! print teksti.upper() ------OHJELMOINTI ON HAUSKAA!
Tietojenkäsittelytieteen tavoite...tai ainakin yksi keskeisiä on selvittää Mitkä ongelmat voidaan ratkaista tietokoneella Miten ne ongelmat voidaan ratkaista (mahdollisimman tehokkaasti)
Miksi teknologiaymmärrystä tarvitaan?...koska teknologia hallitsee ja määrittelee elämää. Tänään: Mahdollistaa modernin tutkimuksen (esim. geenit) Älylaitteet (reitit, paikannus, tavoitettavuus) Verkkopankit Verkkokauppa Verkkouutiset Veroilmoitukset Videokuvalliset puhelut verkon yli
Huomenna Automatisoituu Liikenne Kaupat Lääketieteelliset diagnoosit Tiede Verkkoasiointi lisääntyy 3D-tulostus Verkkoäänestys (miksi ei ole hyvä idea?) Kuva: Sony Qrio robot, Wikimedia Commons
Kuluttajan rooli on maksajan rooli Kuluttaminen on tehty liian helpoksi Commodore 64 ja menestyvät IT-firmat Kuinka monen ipad-ohjelman käyttämisestä maksetaan? Tärkeää oppia kuluttamisen lisäksi myös tuottamaan ja ymmärtämään Kuinka kuluttaja tietää mistä kannattaa maksaa?
Case: Käsityksemme hyvästä salasanasta XKCD http://xkcd.com/936/ Randall Munroe
Mitä tästä opimme Pituus on merkitsevämpää kuin erikoismerkit Mitä pidempi, sen parempi! Jos pari esimerkin sanaa muuttaa eisanakirjasanoiksi, se lisää heti salasanan vahvuutta asiantuntijoiden ohjeita noudattaessa on helppo mennä halpaan
Case: Sähköpostin peruuttaminen Iltalehti: Espoon kaupungin TE-keskus lähetti vahingossa sähköpostilla 150 henkilölle liitetiedoston, joka sisälsi yli 200 ihmisen nimet ja henkilötunnukset. TE-keskus pahoitteli tapahtunutta, mutta kertoi lähettäneensä peruutusviestin, joka poistaa viestin niiltä, jotka eivät viestiä ole ehtineet avaamaan. http://www.iltalehti.fi/uutiset/2014081418572778_uu.shtml
Case: sähköpostin peruuttaminen 1. Koskaan ei pitäisi lähettää arkaluontoisia tietoja (henkilötunnukset) sähköpostilla 2. Peruutusviesti on MS Outlookin ominaisuus, joka toimii vain saman ohjelman käyttäjillä. Tässä tapauksessa viesti lähti useisiin eri sähköpostipalveluihin. 3. Toimittaja ei ymmärtänyt peruutusviestin toimintaa
Avoimuus avainasemassa Avoimuuden vaaliminen on keskeistä, erityisesti opetuskäytössä. Mahdollisuus: kurkistaa sisään ja katsoa miten järjestelmä on rakennettu tehdä muutoksia ja kokeilla miten ne vaikuttavat järjestelmän toimintaan ladata ja asentaa ohjelmistot vapaasti kotikoneille Ohjelmoimaan oppii tekemällä. Esim. RaspberryPi -tietokone, Linux -käyttöjärjestelmä, Arduino -mikrokontrolleri
Ohjelmointi on tapa ajatella Ohjelmoinnin peruskäsitteet ovat nimetyt muuttujat ehtolauseet toistolauseet aliohjelmat
Nimetyt muuttujat Kuva: Scratch.mit.edu Muuttuja on kuin laatikko, johon voidaan tallentaa tietoa ohjelman suorituksen aikana. Muuttujan sisältämä tieto voi muuttua kesken kaiken. Tietoon voi viitata muuttujan nimellä.
Ehtolauseet Ehto ratkeaa vasta ohjelman suorituksen aikana Kuva: Scratch.mit.edu Jos ulkona sataa, sitten ota sateenvarjo, muuten älä ota mitään
Toistolauseet Kuva: Scratch.mit.edu Kirjoita esseetä, kunnes olet saanut aikaan 400 sanaa. Kättele jokaista henkilöä tässä huoneessa.
Aliohjelma (tai metodi tai funktio) Pikku Apulainen...on yhden asian tekevä nimetty pätkä ohjelmakoodia, jota voidaan pyytää suoritettavaksi ilman, että koodinpätkää tarvitsee kirjoittaa monta kertaa uudelleen.
Algoritmi...kuvaa askel askeleelta miten jokin prosessi suoritetaan. Ruokaresepti on eräänlainen algoritmi. Aluksi luetellaan kaikki tarvittavat aineet, sitten vaihe vaiheelta ohjeet mitä tehdä ja lopputuloksena on valmis ruoka. Toinen esimerkki on matematiikasta tuttu jakokulman käyttö.
Algoritminen ajattelu käytännössä...ymmärtää mitä voi tehdä automaattisesti Ei ainakaan moraalisia päätöksiä!...ymmärtää mitä kannattaa tehdä automaattisesti Sadan hengen työvuorolistat
Algoritminen ajattelu käytännössä Hajota ja hallitse, suuren ongelman jakaminen pienempiin osaongelmiin. Kriittinen polku, missä järjestyksessä ongelmat on ratkaistava? Voidaanko joitakin ongelmia ratkaista yhtä aikaa?
Miten voit aloittaa heti? http://code.org Opastettu alkeisohjelmointitunti suomeksi http://mooc.fi Ilmainen avoin ohjelmointiverkkokurssi Javakielellä
Muita resursseja Linkki-keskus http://linkki.cs.helsinki.fi Facebook-ryhmä Tieto- ja viestintätekniikka opetuksessa http://koodaustunti.fi http://koodi2016.fi Jyrki J. Kasvi: Ei koulua, vaan tulevaisuutta varten: http://www.slideshare.net/jyrkikasvi/boss-it-tampere Tarmo Toikkanen: Kahdeksan teesiä koodaamisesta koulussa: http://tarmo.fi/blog/2014/06/8-teesia-koodauksesta-koulussa/
Ja nyt kädet saveen...