Suomen harjoittelukoulujen ohjelmointipolku
Ohjelmoinnillinen ajattelu:
oppilas
– osaa järjestää, vertailla ja esittää tietoa käsitteiden ja symbolien avulla
– käyttää erilaisia menetelmiä ja ratkaisumalleja ongelmien ratkaisemiseen ja yrittää myös luoda omia ratkaisuja
– laatii tarkat ja yksityiskohtaiset ohjeet toisto- ja ehtorakenteiden avulla.
– etsii ja korjaa ohjeissa olevia virheitä
– käyttää graafista ohjelmointiympäristöä ja osaa luoda siihen oman ohjelman
– hahmottaa kokonaisuuksia, löytää ja kuvaa eri ilmiöiden välisiä yhteyksiä sekä syyn ja seurauksen välisiä suhteita
– arvioi ratkaisuja käyttämällä kriteerejä, kuten toimivuutta, luettavuutta tai tehokkuutta osaa etsiä ja korjata ohjelmassa virheitä.
– osaa käyttää toisto- ja ehtolauseita graafisessa ohjelmointiympäristössä robotin ohjaamiseen eri antureilla
– osaa käyttää graafisia ohjelmointiympäristöjä ja tutustuu robotiikkaan
Tutkiva työskentely ja tuottaminen:
oppilas
– ymmärtää, että ilmiötä voidaan tarkastella eri näkökulmista ja osaa pohtia muiden näkökulmia yhteisessä ohjelmointiprojektissa.
– tunnistaa animaatioiden ja pelien ohjelmoinnin piirteitä ja yrittää luoda pelejä erilaisilla animaatio- tai ohjelmointialustoilla
– osaa käyttää ohjelmointiin liittyviä työmenetelmiä ja työkaluja luovaan ilmaisuun ja omaan tuotantoon
– osaa tehdä yhteistyötä ja työskennellä kestävästi yhteisen tavoitteen saavuttamiseksi ohjelmointiprojektissa
– osaa käyttää tuotteissaan omia havaintojaan, mittauksiaan ja antureitaan ja yhdistää niitä automaatioon ja robotiikkaan
– jalostaa olemassa olevia ratkaisuja ja harjoittelee toistuvaa työtä eli ideoiden kehittämistä, valmistamista, testaamista ja edelleen kehittämistä useaan otteeseen
– käyttää ohjelmointiin liittyviä työmenetelmiä ja työkaluja tutkiakseen ja selittääkseen erilaisia ilmiöitä eri aineissa ja monitieteisissä oppimisprojekteissa
Ohjelmoitujen ympäristöjen tunteminen ja niissä toimiminen:
oppilas
– havaitsee ohjelmoinnin ja robotiikan läsnäolon ympäröivässä yhteisössä
– osaa kertoa esimerkkejä kohdennetuista digitaalisista sisällöistä sekä tavoista, joilla niitä kohdennetaan
– pohtii omaa toimintaansa ja siitä kerääntyvän tiedon käyttöä digitaalisissa ympäristöissä – osaa kertoa erilaisista teknisten sovellusten käyttötavoista ja niiden toimintaperiaatteista sekä kuvailla niiden merkitystä omassa elämässään
– osaa antaa esimerkkejä kohdistetusta digitaalisesta sisällöstä ja sen kohdistamisesta
– pohtii omaa toimintaansa digitaalisissa ympäristöissä ja sitä, mitä tietoa hän itse jakaa Internetissä
Arvaa mikä?
Arvuutelkaa pareittain henkilöä, esinettä, asiaa tai sanaa. Toinen oppilas toimii vuorollaan arvuuttajana ja toinen arvaajana. Arvuuttaja valitsee ennalta sovittuun aiheeseen sopivan henkilön, esineen, asian tai sanan. Arvaaja kysyy kysymyksiä, joihin arvuuttaja voi vastata “Kyllä” tai “Ei”. Arvaaja pyrkii Mahdollisimman pienellä määrällä kysymyksiä saamaan selville, kuka on arvuuttajan valitsema henkilö.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s.15, harj. 6)
Piirrä ja arvaa ohjelmoiden
Toinen oppilaista on vuorollaan piirtäjärobotti ja toinen ohjelmoija. Ohjelmoija ensin päättää, mitä hän haluaa piirtäjän piirtävän. Sit- ten hän ennalta sovittuja komentoja (esimerkkikuva 1) käyttäen ohjaa piirtäjää. Käykää piirtämiseen tarvittavat komennot läpi aluksi koko ryhmän kesken. Lopuksi piirtäjä koettaa arvata, mitä hänen itse piirtämänsä kuva esittää.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s. 16, harj. 8)
Syömään Mars! (ohjaa ihmisrobottia)
Sopikaa yhdessä kokoelma yksinkertaisia komentoja, joita käyttämällä voitte liikutella toisianne erilaisissa ympäristöissä. Sovittuja komentoja käyttämällä kolmen hengen ryhmissä, suunnitelkaa ja kirjoittakaa siirtymisalgoritmeja, joilla päästään luokasta eri tiloihin. Ryhmät voivat suunnitella eri siirtymisiä, esimerkiksi luokasta ruokalaan, luokasta käsityöluokkaan tai luokasta koulun portille. Voitte testata eri siirtymisalgorit- meja aina ruokatunnin alussa ja parannella seuraavaa päivää varten.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s. 17, harj. 9)
Paperilennokki
Laatikaa pareittain vaiheittaiset ohjeet paperilennokin taitteluun. Tarkoituksena on kirjoittaa yksinkertainen ohjeistus ikään kuin reseptin muodossa, jolla kuka tahansa osaa taitella oppilasparin suunnitteleman paperilennokin. Laatikaa ohjeet pareittain. Vaihtakaa ohjeet toisen parin kanssa ja testatkaa niiden toimivuutta. Antakaa palautetta ohjeen selkeydestä ja vertailkaa lopputulosta ohjeen tekijän tarkoittamaan lopputulokseen. Parannelkaa ohjeita, vaihtakaa palautteenanto pareja ja kokeilkaa uudelleen. Voitte myös kilpailla pisteyttäen tuotoksia esimerkiksi lentokyvyn, tyylin ja ohjeiden selkeyden osalta.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s. 29, harj. 18)
Hyvä salasana
Opitaan tiedon keräämisen tarkoituksesta ja salaamisen tärkeydestä. Pohditaan henkilön tunnistamista sekä eri tunnistustekniikoiden vahvuuksia ja heikkouksia.
Kerätkää ajatuksia siitä, millainen on hyvä salasana, miten oman salasanan saa pysymään salassa. Kerätkää ryhmissä huonoja salasanoja tai huonoja tietoturvatottumuksia listaksi ja kootkaa siitä juliste koulun julkisiin tiloihin esille pantavaksi.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s. 41, harj. 29)
Minun päivä ja teknologiat
Oppilas listaa yhden päivän ajalta kaikki sähköiset välineet, joita hän hyödyntää (nimi ja käyttötarkoitus). Pohditaan yhdessä ja ryhmissä millaista arki olisi ilman laitetta, mitä tietoja kerää käyttäjästä, jos sillä on nettiyhteys, millaista arki olis ilman kyseisiä teknologioita ja millaisia vaaroja tai tietoturvaan liittyviä tekijöitä laitteeseen liittyy.
Pulmaario (sisällöt omiin sovellutuksiin eri lukuaineista)
Scratch-ohjelmoinnin harjoittelua Pulmaarion esimerkkien kautta ja omien sovellutusten kehittelyä niiden pohjalta. https://pulmaario.luma.fi/ohjelmointi/
Koodauksen alkeet
Tutustukaa ohjelmoinnin perusteisiin ja yksinkertaisiin käskyihin esimerkiksi HourOfCode-sivuston oppimispeleillä. https://studio.code.org/hoc/1
Tarina koodaamaalla (KU, SUK, MA) ScratchJr.
Kirjoittakaa fiktiiviset tarinat. Herättäkää tarinat eläviksi koodaamalla tarinoiden tapahtumia esimerkiksi ScratchJr. -sovelluksella. Voitte käyttää valmiita hahmoja sovelluksen kirjastosta tai piirtää omat.
(Vinkkejä: https://www.ulapland.fi/FI/Yksikot/LUMA-keskus-Lappi/Opetusmateriaalit/Auroran-ScratchJr–ohjelmointikoulu)
Kosteusanturi
Ohjelmoikaa Micro:Biteillä kosteusanturit. Tarvitsette tietokoneen lisäksi Microbitin, hauenleukajohtoja, kaksi kpl n. 5 cm naulaa. https://makecode.microbit.org/projects/soil-moisture/code
Piirtävät robotit (KU, MA)
Rakentakaa liikkuva robotti käyttäen jotain koulunne ohjelmoitavaa robotiikkasarjaa. Ohjelmoikaa robotti liikkumaan tietyllä alueella käyttäen toisto- ja ehtolausetta tai sensoriteknologiaa. Kiinnittäkää robottiin tussit ja antakaa robotin tehdä taidetta.
Rakentava robotti (MinecraftEDU) (YM, SUK, KU, MA)
Tutustukaa ympän sisällöissä rakenteisiin. Ohjelmoikaa MinecraftEDUn Agentti rakentamaan talo, torni tai jokin muu rakennelma oppilaiden keksimälle asukkaalle.
https://minecraft.makecode.com/tutorials/agent-build
Hahmoon liikettä
Tutustukaa Scratchiin omia skriptejä tekemällä ja hahmoja piirtämällä. Käyttäkää ensin vain Liike-, Ulkonäkö- ja Tapahtumat-valikon lohkoja, mutta toiminnan edetessä opettaja voi ohjata tutustumaan muihinkin valikoihin. Harjoitelkaa piirtotyökalujen käyttöä muokkaamalla valmista hahmoa tai piirtämällä oma hahmo. Suositaan parityöskentelyä, vaikka kullakin oppilaalla olisi oma tietokone käytössä. Yhdessä parin kanssa on mielekästä jakaa ideoita ja näyttää omia luomuksia.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s.18, harj.11)
Musiikkiluupit
Opitaan ohjelmoinnille ominaista toimenpiteiden järjestämistä, toistuvuuksien rakentamista ja koko- naisuuksien kumulatiivista luomista musiikin tuottamisen yhteydessä.
Tehkää parityöskentelynä musiikkiluuppeja, eli 4–8 tahdin mittaisia pätkiä musiikkia, joka laitetaan toistumaan. Aloittakaa luuppien läpikäynti oppilaiden omista havainnoista ja kokemuksista musiikki- luupeista. Voitte hakea tietoa musiikkiluupeista ja niiden käyttötarkoituksista ja keskustella yhdessä. Harjoituksen voi tehdä Sumo-Tunesilla, Scratchin musiikkilaajennuksella tai GarageBandilla)
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf
Video juuri sinulle! (algoritmit ja sisältöpalvelut)
Tutkikaa sisällön suuntaamis- ja suosittelujärjestelmiä, esimerkiksi Yle Areena, YouTube tai muu tuttu videopalvelu. Avatkaa sivusto ja tutkikaa etusivua ja teille suositeltuja videoita. Ottakaa näyt- tökuva aloitussivustosta. Käyttäkää 5 minuuttia eri videoiden katsomiseen ja klikkailuun ja palatkaa etusivulle. Muuttuivatko suositellut videot? Pohtikaa ja keskustelkaa sisällön suuntaamisen hyödyis- tä ja haitoista. Millä perusteella suosituksia tehdään? Mitä tietoa meistä kerätään, miksi?
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf (s. 44, harj. 32)
Kuinka mikroaaltouuni toimii?
Pohtikaa esimerkiksi mikroaaltouunin merkitystä ihmisen arkea helpottavana esineenä. Millaista ruuan valmistus olisi ilman mikroa, mitä ruokia sillä ei voi valmistaa, missä se on kätevimmillään? Palastelkaa mikron käyttämisen prosessi -> mitä tehdään ensimmäisenä, kun ruoka otetaan kaapista ja mihin ruuan lämmittäminen päättyy? Millaisia ohjelmoituja toimintoja mikrossa ja mikron painikkeissa on? Mitä muita vastaavia, ohjelmoituja laitteita oppilaat osaavat nimetä?
ViLLE-ohjelmointiopas
Turun yliopiston ViLLE-ympäristössä on opintokokonaisuus “Valinnainen alakoulun ohjelmointi”, jonka voit aktivoida omalle luokallesi. Kokonaisuuden avulla oppilaat opiskelevat koodauksen perusteita pelillisesti.
https://ville.cs.utu.fi/opintopolku/ville_alakoulun_ohjelmointiopas.pdf
Mediakoulun ohjelmointiopas
KAVI:n laatimassa materiaalissa on paljon hyödyllisiä harjoituksia koodauksen oppimiseen.
https://mediataitokoulu.fi/ohjelmointi_alakoulu.pdf
LightBot-sovellus (iOS)
Koodiaapinen
Koodiaapisen valmiita Scratch ja ScratchJr. -materiaaleja
https://koodiaapinen.fi/arkisto/
Koodauspläjäys (lautapeli / tehtäväkortit)
Ongelmanratkaisua pelillisesti
RoboGem (lautapeli)
Linkkikeskus
Demoja ja ohjeita Scratch-ohjelmointiin:
https://linkki.cs.helsinki.fi/cgi-bin/debbie-action-materiaalit?syn=&ohjelmointikieli=Scratch
Lego Spike opettajan ja oppilaan materiaalit
Legon nettisivuilla on valmiita oppituntimalleja ja ohjeita rakentamiseen ja koodaamiseen
https://education.lego.com/fi-fi
Micro:bit
Innokkaan nettisivuilla on paljon materiaalia Micro:Bitin hyödyntämiseen koodauksen oppimisen välineenä.
https://www.innokas.fi/materiaalit/microbit-perusteet/
https://www.innokas.fi/materiaalit/microbit-ohjelmoinnin-rakenteet/
https://www.innokas.fi/materiaalit/microbit-sensoreiden-kaytto/
https://www.innokas.fi/materiaalit/microbit-ulkoisten-osien-liittaminen/
https://www.innokas.fi/materiaalit/microbit-hauskat-projektit/
ScratchJr
Kirjallisuutta
Monialaisia ohjelmointiharjoituksia
Fagerlund, J., & Roos, S. (2020). Motivoivaa ja tavoitteellista oppimista ohjelmointiympäristöjä hyödyntäen. Teoksessa A. Veijola, O.-P. Salo, & S.
Roos (toim.) Merkityksellistä oppimista etsimässä – oppimisympäristöjen moninaisuus nyt ja tulevaisuudessa. Jyväskylä: Jyväskylän normaalikoulu, Jyväskylän yliopisto, 135–162.
Linda Liukas: Hello Ruby (2015)
Jon Woodcock & Carol Vorderman: Koululaisen peliohjelmointikirja (2016)
Jon Woodcock: Koululaisen ohjelmointikirja (2017)