Ohjelmointikoulutus 1

Ohjelmointikoulutus opettajille

Opettajille tehdyssä osaamis- ja koulutustarvekyselyssä tärkeimmäksi koulutusaiheeksi nousi ohjelmointi. Koulutusaiheiden tarpeellisuutta tiedusteltiin asteikolla 1 (en tarvitse) - 5 (tarvitsen ehdottomasti). Peräti 91,6 prosenttia opettajista vastasi ohjelmointikoulutuksen tärkeydeksi
joko 4 tai 5 alla olevan diagrammin mukaisesti.

ohjelmontikuvaaja.png

Vastaamme tähän tarpeeseen käynnistämällä ohjelmointikoulutuksen, johon ovat erittäin tervetulleita kaikki luokkien 0-6 opettajat. Ohjelmointikoulutuksessa aloitamme tietokoneella tehtävistä ohjelmointiharjoituksista. Niiden kautta opimme ohjelmoinnin keskeisiä ja yleispäteviä käsitteitä sekä rakenteita. Suurin hyöty tästä koulutuksesta on luokkien 3-6 opettajille, mutta alempien luokkien opettajat oppivat myös sellaisia käsitteitä ja menetelmiä, joista on hyötyä ohjelmoinnillisen ajattelun opettamisessa. Järjestämme myöhemmin erillisen koulutuksen ohjelmoinnillisesta ajattelusta ja sen opettamisesta. Tämä tukee erityisesti luokkia 0-2 opettavia opettajia.

Ohjelmointikoulutus 1

Alla olevassa kuvassa on esitetty Ohjelmointikoulutus 1:n sijoittuminen ohjelmoinnin oppimispolulle punaisella ellipsillä. Alleviivaukset kertovat ohjelmoinnin opetteluun käyttämämme palvelut.
ohjelmoinnin oppimispolku2.png

Code.org-palvelu tarjoaa suuren määrän erilaisia ohjelmointitehtäviä. Niistä olen valinnut koulutuksessa käsiteltäväksi 16 sellaista tehtävää, jotka opettavat ohjelmoinnin keskeiset ja yleispätevät käsitteen sekä rakenteet. Esimerkiksi kaikki oppimamme rakenteet löytyvät kaikista mahdollisista ohjelmointikielistä ja ympäristöistä. Ohjelmoinnin perusteiden oppiminen on tärkeää, ennen kuin jatkamme luokilla 3-6 pääsääntöisesti käytettävään Scratch-ohjelmointiympäristöön. Koulutuksessa aloitamme tutustumisen myös Scratchin. Muodostamme kaikille opettajille tunnukset palveluun ja perehdymme ohjelmointiympäristön käyttöliittymään. Kokeilemme pienimuotoisten ohjelmien ohjelmointia opastetusti sekä käytämme aiemmin oppimiamme ohjelmoinnin keskeisiä rakenteita ohjelmissa.

Ohjelmointikoultus 1 opettaa Sinulle:
  • Miten Code.org-palvelun ohjelmointharjoituksia tehdään.
  • Miten voit muodostaa Sinun OmaTilaasi linkkilistan haluamistasi ohjelmointoharjoituksista ja jakaa sen oppilaillesi.
  • Mitä on "Vedä ja pudota" -tyyppinen ohjelmointi graafisessa ohjelmointiympäristössä.
  • Mikä on "komento" ja "komennon parametri".
  • Mikä on "algoritmi".
  • Miten ohjelmoija jakaa ongelman vaiheisiin ja ratkaisee vaiheet yksi kerrallaan muodostaen ohjelmaan algoritmin.
  • Mikä on "Toista <x> kertaa" -toistorakenne ja miten sitä käytetään.
  • Mikä on "Toista kunnes <ehto>" -toistorakenne ja miten sitä käytetään.
  • Mikä on "Jos <ehto> tee" -ehtorakenne ja miten sitä käytetään.
  • Mikä on "Jos <ehto> tee / muuten" -ehtorakenne ja miten sitä käytetään.
  • Mikä on "aliohjelma" ja miten sitä käytetään.
  • Miten Scratchiin rekisteröidytään.
  • Mitä toimintoja ja ikkunoita Scratchin käyttöliittymässä on.
  • Miten koodipalikat on Scratchissä ryhmitelty eri osioihin.
  • Miten koodipalikoita käytetään ja miten palikoiden parametrit asetetaan.
  • Miten koodipalikat jakaantuvat eri alatyyppeihin ja miten eri alatyypit toimivat.
  • Miten ohjelmaan lisätään ja poistetaan hahmoja sekä taustoja.
  • Miten ohjelman suoritus käynnistetään ja miten tapahtumiin reagoidaan.
  • Miten hahmolle tai taustalle muodostetaan ohjelmakoodi.
  • Miten ohjelmoinnin keskeisiä käsitteitä ja rakenteita käytetää Scratchissä.
  • Miten ohjelma tallennetaan, avataan ja jaetaan (jakaminen esim. OmaTilaan).
  • Miten voit opiskella myös itsenäisesti Scratchiä.
Näihin ja moniin muihin kysymyksiin annamme Sinulle vastaukset Ohjelmointikoulutus 1:ssä. Tervetuloa oppimaan!

Ohjelmoimalla pelattavia pelejä

Ohjelmoinnin opetteluun on olemassa useita pelejä. Pelaajan tehtävänä on ohjata pelihahmoa liikkumaan oikealla tavalla. Pelihahmoa liikutetaan pienellä ohjelmakoodilla, jossa tulee olla oikeat komennot oikeassa järjestyksessä oikean liikkeen aikaansaamiseksi.

Ohjelmoimalla pelattavia pelejä ovat mm.
  • The Foos
  • Tynker
  • Tynker for Schools
  • Lightbot
  • Kodable
  • Cody’s App Academy
  • Robot School
Katso tarkemmat tiedot Ohjelmoinnillinen ajattelu -koulutuksen materiaalista dioista 75-78 ja 88.

Kokeillaan LightBot-peliä:
Tee ohjelmakoodi, joka ohjaa robotin kulkemaan jokaisen sinisen laatan päältä. Laatan päällä ollessaan robotin tulee sytyttää valo laattaan. Valo sytytetään omalla komennollaan. Ohjelmoinnin perusteiden mukaisesti koodi tehdään ensin ja vasta kun koodi on valmis, voidaan kokeilla sen toimivuutta. Koodissa tulee olla oikeat komennot oikeassa järjestyksessä.

Ohjelmointikoulutus, 1. koulutuskerta: Linkit ohjelmointiharjoituksiin

Alla olevat linkit vievät Sinut Code.org-palvelun ohjelmointiharjoituksiin. Kouluttaja kertoo Sinulle, missä vaiheessa mikin tehtävä tehdään. Siirry vasta silloin tehtävään. Näin olemme kaikki koko ajan samassa vaiheessa ja saman tehtävän parissa.

Alla esitetyt tehtävät on valittu huolella. Ne opettavat ohjelmoinnin keskeiset ja yleispätevät käsitteet sekä rakenteet helppojen harjoitusten kautta. Tällöin opeteltava asia ei uppoudu muiden hankalien asioiden alle, vaan olemme koko ajan oppimisen ytimessä.

Jokainen linkki avaa uuden välilehden Code.org-palveluun. Kun olet tehnyt harjoituksesi valmiiksi, voit sulkea välilehden ja palata takaisin tälle sivulle. Seuraava linkki avaa jälleen uuden välilehden. Pidä tämä sivu kuitenkin koko ajan auki omalla välilehdellään, niin pääset aina tarvittaessa siirtymään harjoituksiin.

TVT-strategia
Ohjelmoinnillisen ajattelun (luokat 0-2) ja ohjelmoinnin (luokat 3-6) opettamisesta voitte lukea tarkemmin Järvi-Pohjanmaan TVT-strategiasta sivuilta 26-37.

Linkit Code.org-palvelun ohjelmointiharjoituksiin:

Linkki Kuvaus Kurssi
Tehtävä 1 Ruutupaperiohjelmointi, tehdään paperille. K2/T1/T1
Tehtävä 2 Vedä ja pudota -ohjelmointi, algoritmi. K2/T3/T5
Tehtävä 3 Algoritmi, jossa on enemmän komentoja. K2/T3/T9
Tehtävä 4 Komentojen parametrit ovat todella oleellisia. K2/T4/T9
Tehtävä 5 Oma ohjelma tehtävänannon mukaisesti. K2/T4/T10
Tehtävä 6 Harjoitellaan toistorakennetta "toista <x> kertaa". K2/T6/T5
Tehtävä 7 Harjoitellaan toistorakennetta "toista <x> kertaa". K2/T6/T7
Tehtävä 8 Harjoitellaan ehtorakennetta "Jos <ehto> tee". K2/T13/T5
Tehtävä 9 Toisto- ja ehtorakenne samassa tehtävässä. K2/T13/T11
Tehtävä 10 Harjoitellaan toistorakennetta "toista kunnes <ehto>". K3/T2/T9
Tehtävä 11 Harjoitellaan toistorakennetta "toista kunnes <ehto>". K3/T2/T13
Tehtävä 12 Harjoitellaan aliohjelman käyttämistä. K3/T5/T2
Tehtävä 13 Harjoitellaan aliohjelman ohjelmointia. K3/T6/T7
Tehtävä 14 Harjoitellaan sekä pääohjelman että aliohjelman ohjelmointia. K3/T6/T9
Tehtävä 15 Harjoitellaan ehtorakennetta "Jos <ehto> niin / muuten". K3/T7/T5
Tehtävä 16 Toisto- ja ehtorakenne samassa tehtävässä. K3/T8/T9


Keskeinen ohjelmointiosaaminen

Keskeinen ohjelmointiosaaminen koulutuksen ja jaetun materiaalin perusteella:
  • Ohjelmointiprosessin hallinta:
    • Ongelma -> Järjestetyt vaiheet -> Oikeaan järjestykseen asetetut oikeat komennot.
    • = Algoritmin muodostus.
  • Scratchin ohjelmointiympäristön hallinta.
  • Hahmojen sekä taustojen lisäys ja poisto sekä niiden hallinta koodilla.
  • Hahmojen itsenäiset ohjelmakoodit, muodostus ja suorituksen käynnistys.
  • Tapahtumapohjaisen ohjelmoinnin ymmärtäminen:
    • Koodin suoritus käynnistyy aina jonkin tapahtuman aktivoituessa.
    • Yhdellä hahmolla voi olla useita "skriptejä", joiden suoritus sidotaan haluttuun tapahtumaan.
  • Komentojen monipuolinen käyttö ja parametrien asettaminen:
    • Osataan käyttää useampia eri osioista löytyviä komentopalikoita.
  • Toistorakenteet:
    • Toista <x> kertaa
    • Toista kunnes <ehto>
    • Toista ikuisesti
  • Ehtorakenteet:
    • Jos <ehto>, niin
    • Jos <ehto>, niin / muuten
  • Scratchin koodipalikoidet tyypit:
    • Komentopalikat
    • Ominaisuus-, muuttuja- ja funktiopalikat
    • Totuusarvopalikat
    • Tapahtumapalikat
  • Muuttujan käyttö:
    • Muodostus
    • Arvon asettaminen ja muuttaminen
    • Arvon lukeminen ja käyttö esim. ehdossa
  • Operaattorit:
    • Matemaattiset operaattorit
    • Vertailuoperaattorit (käyttö ehdoissa)
    • Loogiset operaattorit (käyttö ehdoissa)
  • Vuorovaikutteisen ohjelman laadinta:
    • Hiiren klikkauksiin ja näppäinten painalluksiin reagoiminen.
    • Syötteen kysyminen käyttäjältä ja sen käsittely.
  • Ohjelman reagointi hahmon koskettaessa:
    • Näyttämön reunaa
    • Tiettyä väriä
    • Toista hahmoa
  • Ohjelmien jakaminen:
    • Linkitys ja upotus Pedanetin OmaTilaan.
Linkki: Keskeinen ohjelmointiosaaminen (PDF)