2. Koodausta kouluun projekti
2014-2016
Koodausideoita matematiikan tunneille uuden OPS:in mukaisesti
Koodaus on matematiikkaa
Koodaus ei ole pois matematiikan opiskelusta, kunhan tehtävät on
suunniteltu oikein
Koodaus on luonnollinen tapa tuoda tietokoneet osaksi matematiikan
opiskelua
Matematiikan opettajien itse kehittämä materiaali (12 matikistia
Pirkanmaalta)
Testattu oikeilla oppilailla
Ilmainen suomenkielinen oppimateriaali, ilmaiset työkalut, opettajan opas
2
3. Pedagogiset tavoitteet
Opettaa systemaattista ongelmanratkaisua, ei vain ”koodaustemppuja”
Opettaa automatisointiajattelun pääsisällöt, riittävästi että niillä voidaan toteuttaa
joitain yksinkertaisia toimivia ”sovelluksia”
Lähestyä aihetta visuaalisesti, kuvien ja animaatioiden kautta
Kannustaa luovuuteen ja oman koodin ”keksimiseen”
Painottaa funktionaalista ohjelmointiparadigmaa sekä test-driven design:ia
Tukea opettajaa uuden aihepiirin haltuunottamisessa (koodarin käsikirja, oppilaan
tehtävät, opettajan materiaali, malliratkaisut, tutoriaalivideot)
3
4. Ohjelmointi yläkoulussa
koulutukset
Kaikille matikisteille (7.lk ohjelmointiharjoituksia):
13.09.2016 12:30 - 15:30 Kaarilan koulu, luokka B307
15.09.2016 12:30 - 15:30 Nokianvirran koulun tietokoneluokka B202
20.09.2016 12:30 - 15:30 Sääksjärven koulun ATK-luokka
22.09.2016 12:30 - 15:30 Pohjois-Hervannan koulu, medialuokka C 15
26.09.2016 12:30 - 15:30 Linnainmaan koulu, luokka AT2 (TÄYNNÄ)
28.09.2016 12:30 - 15:30 Pikkolan koulu, ATK7
05.10.2016 12:30 - 15:30 Hatanpää, aulan ATK1 -luokka
Jatkokoulutus:
01.11.2016 12:30 - 15:30 Voimakatu 11, Fröbel
http://tampere.eeventti.fi/koulutukset/ryhma/ohjelmointi-ylakoulussa
4
5. Koodiaapinen MOOC
Syksy 2016
- ScratchJr esi- ja alkuopetus
- Scracth – luokat 3. – 6.
- Racket – luokat 7. – 9.
- Python – luokat 7. – 9.
Uusi kurssi alkaa 15.10. 2016
Ilmottautuminen:
http://koodiaapinen.fi/mooc/
5
Tarmo
Toikkanen
Vuokko
Kangas
Tero
Toivanen
Tiina
Partanen
eEemeli kilpailun – kunniamaininta 2016
IT-kouluttajat ry
6. Miksi Racket?
Käytössä USA:ssa matematiikan opetuksessa perusopetuksessa
Bootstrap – project
”Teaching algebra by programming videogames”
Hyvät ilmaiset, open source työkalut
DrRacket (Win, Linux, MacOS)
WeScheme – selaimessa pyörivä ohjelmointiympäristö
Suunniteltu opetuksen tarpeisin
Kehitetty portaittain kehittyvä ”student language” (Beginning Student -> Advanced Student)
Uskomattoman selkeät virheilmoitukset
Tulkki ja stepperi
Monipuoliset ja opetukseen soveltuvat grafiikka- ja animaatiokirjastot
Helppoa tehdä itse laajennuskirjastoja (Racket Turtle, display-read)
Valmis pedagoginen malli
How to design programs, test-driven design
Voi koodata myös pelejä
Realm of Racket
6
8. Ohjelman suoritus on vain
lausekkeiden sieventämistä
8
(overlay (circle 50 ”solid” ”red”)
(circle 100 ”solid” ”black”))
(overlay
(circle 100 ”solid” ”black”))
(overlay
)
9. Pedagoginen lähestymistapa
Oppilaalle on saatava mentaalimalli siitä miten ohjelmakoodi toimii.
Miten tähän päästään?
1. Käytetään
◦ käytetään valmiita piirtofunktioita (kuvat, Turtle)
2. Muokataan
◦ muokataan puolivalmiin funktion koodia eteenpäin
3. Luodaan
◦ määritellään oma funktio funktion suunnitteluportaat menetelmän kautta
(siirrytään abstaktioon vasta, kun konkreettinen esimerkki/testi on
kirjoitettu)
◦ määritellään oma ohjelma, joka jaetaan funktioihin
9
https://users.soe.ucsc.edu/~linda/pubs/ACMInroads.pdf
10. 7. Luokan materiaali
Oppilas harjoittelee kirjoittamaan ohjelmakoodia, joka suorittaa
yksinkertaisia laskutoimituksia tai piirtää geometrisia kuvioita.
Oppilas harjoittelee vertailuoperaattoreiden käyttöä väite- ja
ehtolauseissa tutustuessaan totuusarvoihin.
10
12. Kilpikonna-grafiikkaa
- Racket Turtle – kirjaston avulla voidaan opiskella geometriaa (mm.
monikulmion kulmien ja sivujen suhteita, peilausta, koordinaatistoa...)
12
7.lk 7.lk 9.lk
13. 8. Luokan materiaali
Oppilas oppii suunnittelemaan ja ohjelmoimaan algoritmin, jolla
voidaan ratkaista jokin ongelma tai tehtävä, joka voi olla esim.
animaatio tai peli.
13
15. 9. Luokan materiaali
Oppilas oppii käyttämään funktioita ja muuttujia ohjelmointitehtävissä.
Oppilas osaa jakaa ongelman osaongelmiin, ratkaista ne ohjelmoimalla
ja yhdistää osat yhdeksi ratkaisuksi.
15
17. 9.lk Automatisointi
- matemaattisen kaavan ohjelmointi automaattilaskuriksi, oman
funktion kirjoittaminen ja testaaminen
Koodi voidaan jakaa WeSchemen kautta (laskuri toimii selaimessa):
17
http://www.wescheme.org/view?publicId=gyRmetZwR0
http://www.wescheme.org/view?publicId=Gst
erQxRVj
Ajatusten lukija:
18. Muissa oppiaineissa
- tietokilpailu (quiz) tehtävät kertaamiseen, lista tietorakenteena,
valmiin koodin muokkaaminen omaan käyttöön
18
Esimerkkejä:
http://www.wescheme.org/view?publicId=K83HHMonx2
http://www.wescheme.org/view?publicId=bdDRSxD3U0
22. Keskustelua (valitkaa toinen):
PEDAGOGIA:
◦ Mitä haasteita ohjelmoinnin opettamiseen
liittyy?
◦ Miten ne ratkaistaan?
◦ Laatikaa koodiopettajan 10. käskyä
TEHTÄVÄT:
◦ Millainen on toimiva tehtävä? Millainen tehtävä
ei toimi?
◦ Analysoikaa jokin ohjelmointitehtävä: Mitä
tehtävä opettaa kolmesta A:sta.
22