Koodaamassa Matikantunnilla
Racket-iskuryhmä? Ryhmä Tamperelaisia ja Ylöjärveläisiä opettajia, jotka testaavat ja kehittävät Racket-ohjelmointimateriaalia yläkoulun matematiikan (tietotekniikan ja fysiikan) opetuksen tarpeisiin Jotta ohjelmointimateriaali olisi toimivaa, ideoiden ja tarpeiden on tultava kentältä ja materiaalin toimivuus on testattava oppilailla luokkahuonetilanteessa Ryhmä toimii lukuvuoden 2015-16 ajan (koodaaminen luokissa aloitetaan syksyllä 2015) Tampereen yliopistolla on käynnistymässä myös tutkimustoimintaa aiheen ympärille Iskuryhmää vetää
Koodausta Kouluun - iskuryhmä Opettajat: Takahuhdin koulu: Eija Kuusipalo, (MaFyKe) Kirsi Ranta, (MaFyKe) Linnainmaan koulu: Eerikki Rönkkö, (MaTi) Kämmenniemen koulu: Eero Takkinen, (MaTi) Kaukajärven koulu: Nina Pukkila (MaFyKe) Lielahden koulu: Pauliina Kähönen (MaFyKe) Juha Niemi (MaTi) Hatanpään koulu Janne Koponen (MaTi) Tesoman koulu Jukka Vilen (MaTi) Moision koulu: Lena Laitamäki, (MaTi) Ylöjärven Yhtenäiskoulu: Tuula Havonen (MaFyKe) Yhteistyökumppanit: Tampereen Yliopisto: Sari Yrjänäinen, tutkija Timo Poranen, lehtori evarikko: Harri Jurvela, verkko-opetuksen koordinaattori
Laskennallinen ajattelu? Laskennallinen ajattelu on yksi matematiikan osa-alue perinteisten osa-alueiden rinnalla. Siihen liittyy omat ominaispiirteensä mutta sen yhteydessä voidaan soveltaa myös matematiikan muita osa-alueita. Se pysyvä totuus jatkuvasti kehittyvällä teknologisella ajalla
Motivointi? Yläkoulun matematiikka tuottaa osalle oppilaista ongelmia abstraktin luonteensa johdosta. Ohjelmointi tarjoaa käytännön esimerkkejä ja vastauksia kysymyksiin "mihin tätä oikein tarvii" (mm. muuttujat, funktiot, trigonometria, Pythagoraan lause)
Ohjelmointikieli? Emme opeta ohjelmointia vaan laskennallista ajattelua Ohjelmointikieli on vain väline ideoiden esittämiseen (kuin Word kirjailijalle). Sen täytyy olla riittävän monipuolinen, jotta sen avulla voidaan esittää laskennallisen ajattelun pääsisällöt, toisaalta riittävän yksinkertainen (selkeä). Kieleksi valittu Racket (Basic Student Language)
Pedagogia? Ajattelua ei voida opettaa esimerkin kautta (koodia kopioimalla). Konseptit pitää selittää niin hyvin, että oppilas voi soveltaa asiaa itsenäisesti. Opetetaan ratkaisumalleja: design recipes (järjestelmällinen ongelmanratkaisumetodi) Avoimia tehtäviä, jotta pääsevät keksimään myös omia koodeja Asian ymmärtämistä vahvistetaan kirjoittamalla algoritmeja auki myös pseudokoodilla
1. Asteen KooMa Peruslaskut Lauseke (+ 1 2) Lausekkeiden yhdistäminen ja evaluointi stepperin kanssa Debuggaus Peruskuviot Kirjasto, määrittelyt Ongelman jakaminen osiin Lausekkeiden yhdistäminen Oman taideteoksen tekeminen
2. Asteen KooMa Racket Turtle Geometristen muotojen piirtäminen Kulmat ja mittasuhteet Ohjeiden antaminen, järjestys, toisto Omat taideteokset Muuttujat ja funktiot Funktion käsite, funktion parametri muuttujana, funktion paluuarvo Design Recipe Abstraktio (muuttuja) konkretia (testitapaus) Test driven - design
3. Asteen KooMa Haarautuva koodi Boolean logiikka (true/false, and/or) If-then-else ja cond rakenteet Vertailuoperaattorit (<, <=, >, =>, =) Oman pelin koodaaminen Kaiken edellä mainitun yhdistäminen omaksi peliksi (peruspeli)
4. Asteen KooMa Animaatiot (aika muuttujana) tilan käsite events & big-bang Mallintaminen datan mallintaminen (structs) animaatiot, kun useampi muuttuja Fysiikan simulaatio tai peli (fysiikkapeli) Kaiken edellä mainitun yhdistäminen simulaatioksi tai peliksi
5. Asteen KooMa (*bonus) Listat ja rekursio Hienot Turtle-kuvioit Funktioparametrina Map, foldl, filter Tekoäly Animaatio, peli
Koodaa lippuja (KooMa1) (require 2htdp/image) (define YMPYRÄ (circle 50 solid red )) (define POHJA (rectangle 300 200 outline black )) (overlay YMPYRÄ POHJA)
Ohjaa Racket-Turtlea (KooMa2) Aloita muokkaamalla esimerkkikoodeja
Peruspeli (KooMa3)
Tavoitteet materiaalille Tehdä työkalut ja ajattelumalli niin selkeäksi, että opettaja pystyy tekemään itsenäisesti myös omia harjoitustehtäviä (materiaalin tehtävät ovat vain esimerkkejä) Opettaja pääsee itse ideoimaan materiaalia (valmis materiaali toimii harvoin suoraan) SISÄLTÖ Materiaalin tasoa voi säätää oman ryhmänä tarpeisiin TASO Materiaali ei lopu kesken MÄÄRÄ Tehdä mahdollisimman hyvä KICK-OFF materiaali, joka toimii luokassa erilaisilla opettajilla, materiaali, jolla pääsee alkuun
Rakenne materiaalille KICK-OFF materiaali Oppitunti video (miksi-mitä-esimerkit) Quiz tehtävät Harjoitustehtävät + vastaukset (koodia) Käsikirja Ettei tarvitse muistaa kaikkea Termit ja käsitteet koottuna tekstimuodossa Basic Student Language, 2htdp/image ja 2htdp/universe funktiot selitetty
Opettajien koulutus Materiaali mahdollistaa lyhyen KICK-OFF kurssin ja tukee itseopiskelua kurssin jälkeen kotona Työkalut Käytössä ilmainen DrRacket ja/tai WeScheme (selainversio, rajoittuneempi) Opettajien materiaali, tuki ja keskustelu Eliademyssä Oppilaiden materiaali netissä, lisäksi opettaja voi jakaa omaa materiaalia esim. O365:n, Repun tms. kautta Kaikki työkalut ja materiaalit ilmaisia
Linkkejä materiaaleihin Racket ohjelmointia I (piirtäminen) Peruspeli Racket Turtle:n koodin voi ladata GitHub:sta Peruspelin koodin voi ladata GitHub:sta Koodaus-blogi: http://koodauksenabc.blogspot.fi Projekti-blogi: http://koodaustakouluun.blogspot.fi Facebook-ryhmä: https://www.facebook.com/groups/koodaustakouluun/