Upload
emilia-hjelm
View
79
Download
0
Embed Size (px)
Citation preview
Ohjelmointia & monilukutaitoaOPH koulutus 1.12.2014
Emilia Hjelm, Helsingin yliopiston LUMA-keskusCreative Commons - BY - ND - NC
Kuva: Helsingin yliopiston LUMA-keskus
Esittely
Emilia Hjelm
● Helsingin yliopiston LUMA-keskus● Lasten ohjelmointiopetusta vuodesta 2011● Pro gradu valmisteilla ohjelmointiopetuksen
vaikutuksesta osallistuvien lasten matematiikka-asenteisiin
Ohjelmassa:1. Taustoitusta ja määrittelyä2. Motivaatiota teknologiaopetukselle3. Ohjelmointi ajattelutapana4. 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.
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
XKCDhttp://xkcd.com/936/
Randall Munroe
Mitä tästä opimme
● Pituus on merkitsevämpää kuin erikoismerkit● Mitä pidempi, sen parempi!● Jos pari esimerkin sanaa muuttaa ei-
sanakirjasanoiksi, se lisää heti salasanan vahvuutta
● …”asiantuntijoiden” ohjeita noudattaessa on helppo mennä halpaan
Case: Sähköpostin peruuttaminenIltalehti: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 peruuttaminen1. 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 avainasemassaAvoimuuden 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
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ä.
Kuva: Scratch.mit.edu
EhtolauseetEhto ratkeaa vasta ohjelman suorituksenaikana
Jos ulkona sataa,sitten ota sateenvarjo,muuten älä ota mitään
Kuva: Scratch.mit.edu
Toistolauseet
Kirjoita esseetä, kunnes olet saanut aikaan 400 sanaa.
Kättele jokaista henkilöä tässä huoneessa.
Kuva: Scratch.mit.edu
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 Java-
kielellä
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-tampereTarmo Toikkanen: Kahdeksan teesiä koodaamisesta koulussa:http://tarmo.fi/blog/2014/06/8-teesia-koodauksesta-koulussa/