27
Ohjelmointia & monilukutaitoa OPH koulutus 1.12.2014 Emilia Hjelm, Helsingin yliopiston LUMA-keskus Creative Commons - BY - ND - NC Kuva: Helsingin yliopiston LUMA-keskus

Ohjelmointia & monilukutaitoa

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.

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

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/

Ja nyt kädet saveen

....