Suomen harjoittelukoulujen ohjelmointipolku
7-9 LK – OHJELMOINTIPOLKU
Ohjelmoinnillinen ajattelu:
oppilas
– käsittelee yleistyksiin sisältyviä tietoja, käyttää erilaisia merkintätapoja ja toteuttaa tiedon kanssa loogisia operaatioita
– osaa analysoida ongelmia, arvioida ratkaisuja ja visualisoida ongelmia ja ratkaisuja yleistysten ja kaavioiden avulla
– osaa tulkita graafista ja tekstipohjaista ohjelmakoodia
– osaa laatia yksinkertaisia ohjelmia graafisella ja tekstipohjaisella ohjelmointikielellä
– käyttää tarkoituksenmukaisesti ehto- ja toistorakennetta ohjelmoinnissa
– käyttää ohjelmoidessaan hyviä ohjelmointikäytäntöjä kuten koodin kommentointi tai aliohjelmat
– osaa suorittaa ohjelmia, testata ohjelman toimivuutta sekä muokata ja kehittää ohjelmaa
– hyödyntää ohjelmointia ongelmien ratkaisussa
Tutkiva työskentely ja tuottaminen:
oppilas
– ymmärtää erilaisia ryhmärooleja ja yhteistyön tapoja sekä työskentelee vastavuoroisesti ja aktiivisesti osallistuen ohjelmointiprojekteissa – osaa suunnitella ja toteuttaa yhteistyössä muiden kanssa prosessina jotain kehitysalustaa käyttäen ratkaisun, jossa hyödynnetään erilaisia antureita ja automatisaatiota
– osaa laatia robotiikkaan liittyvän ohjelmakoodin ja ohjata yksinkertaista robottia tai muuta laitetta
– osaa suunnitella ja toteuttaa pelin, simulaation tai sovelluksen, joka ratkaisee jonkin oppiaineisiin tai oikeaan elämään liittyvän ongelman – tuntee eri oppiaineisiin liittyviä teknologisia sovelluksia ja osaa selittää niiden toimintaperiaatteita.
– osaa hyödyntää algoritmista ajattelua ja ohjelmointia ongelmanratkaisussa, tutkimisessa sekä tiedon tuottamisessa ja esittämisessä
Ohjelmoitujen ympäristöjen tunteminen ja niissä toimiminen:
oppilas
– tuntee algoritmien, automaation ja robotiikan toimintalogiikkaa ja sovelluksia elämän eri osa-alueilla
– osaa pohtia ohjelmoidun teknologian mahdollisuuksia, riskejä ja eettisiä näkökulmia – ymmärtää, miten digitaalisia palveluja personoidaan ja mainontaa kohdennetaan käyttäjälle
– hahmottaa digitaalisten palveluiden keräämän tiedon ja ohjelmoinnin merkitystä sosiaalisessa ja yhteiskunnallisessa vaikuttamisessa
Ohjelmoinnillinen ajattelu:
Mitä päälle kouluun?
Laaditaan ohjelma ehdollisia lauseita (if else) hyödyntäen. Rakenna vuokaavio siitä, miten ilma vaikuttaa pukeutumiseen. (esim. if sade= kyllä, sateenvarjo = kyllä; else sateenvarjo = ei
Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 9-10, harj. 1 ja 2).
Reittiohjeet kotiin koodilla?
Tutki koulumatkasi reittipalvelussa, esim. hyödyntäen Googlen karttapalvelua. Piirrä koulumatkasi reitti paperille havainnekuvana. Pyri tämän jälkeen laatimaan vastaava reitti tätä ohjetta käyttäen: Polkuja ohjelmointiosaamiseen Opas vuosiluokille 79 (mediataitokoulu.fi) (s. 11, harj. 4, kilpikonnataide).
Tietovisa
Tehkää ohjelmia, jotka kysyvät käyttäjältä oppiaineeseen liittyviä kysymyksiä, joihin on yksi selkeä oikea vastaus. Oppilaat voivat näin tehdä esimerkiksi sanakokeita toisillensa kokeisiin harjoittelua varten. Ohjelman täytyy siis kysyä käyttäjältä kysymyksiä ja verrata käyttäjän antamaa vastausta oikeaan vastaukseen. Työskentelyssä kannattaa hyödyntää yhteistä tekemistä, esimerkiksi parityötä. Ohjelman suunnittelussa voi käyttää vuokaavioita.
Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 14, teht. 7). Pythonilla toteutetun esimerkkiohjelman löydät täältä Scratch-toteutusta varten löydät pohjan täältä.
Tutkiva työskentely ja tuottaminen:
Mikä kieli kyseessä?
Työskennelkää pareittain ja valitkaa kotimaisen kielen lisäksi 2–3 vierasta kieltä ja etsikää verkosta tekstejä kyseisillä kielillä. Kerätkää kyseisellä kielellä kirjoitettuja tekstikappaleita tekstidokumenttiin. Tehkää tekstipohjaisella ohjelmointikielellä ohjelma, joka erottaa tutkitut kielet toisistaan sille syötettyä tekstikappaletta analysoimalla. Ohjelma siis yleistäen arvaa, mistä kielestä on kyse kielille tyypillisiä merkkejä ja sanoja etsimällä. Ohje: Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 26, teht. 17).
Interaktiiviset esitelmät
Tehkää pareittain tai pienissä ryhmissä ajankohtaisiin oppiaineen ilmiöihin tai aiheisiin liittyviä interaktiivisia mallinnuksia, visuaalisia kuvauksia tai esitelmiä. Esimerkiksi kemiassa voitte tehdä Bohrin atomimallin, jossa elektronikuoret pyörivät ytimen ympärillä. Biologiassa taas voidaan tehdä visuaalinen kuvaus esimerkiksi veden kiertokulusta. Tarkoitus on tehdä ilmiötä kuvaava malli, joka sisältää pientä interaktiivisuutta. Käyttäjä voi siis vaikuttaa ohjelman toimintaan esimerkiksi klikkaa- malla painikkeita. Esitelkää projekteja eri vaiheissa prosessia antaen palautetta toisten projekteista. Ohje: Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 27, teht. 18).
Robotit arjessa
Suunnitelkaa pareittain tai pienissä ryhmissä kouluun laitteita, joilla ratkaistaan arjen puutteita tai ongelmia. Laitteiden algoritmien suunnittelussa kannattaa hyödyntää vuokaavioita. Aloittakaa pohtimalla, miten robotti-imurit toimivat. Mallintakaa robottiimurin toimintaa, ja hyödyntäkää koulun robotteja oman imurin suunnittelussa (esim. Lego, Vex, BitBot). Esimerkki: https://peda.net/jyvaskyla/ict/palvelut/ohjelmointi-robotiikka/marhle/p%C3%B6lynimurirobotti
Ohjelmoitujen ympäristöjen tunteminen ja niissä toimiminen:
Minä ja digitaaliset ympäristöt
Luokaa pareittain tai pienissä ryhmissä eri tavoin hankalasti kirjoitettua kirjoitusta (CAPTCHA-tekstejä), jota ihminen pystyy lukemaan, mutta jota tietokone ei ymmärrä. Kirjoittakaa tekstiä selkeästä vaikeampaan ja kokeilkaa välillä ohjelman tekstin tunnistusominaisuutta. Pohtikaa, miksi koneiden on laskentatehosta huolimatta haastavaa ymmärtää ihmisen luoman maailman ilmiöitä (Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 37, teht. 25). Jatkotehtävä (valmis malli tarjolla): Ohjelmoikaa pareittain tai pienissä ryhmissä Scratchin Videohavainnointi-laajennusta hyödyntäen algoritmi, joka tunnistaa 3–5 esinettä. Ohjelman toiminta perustuu ehtolauseisiin, joissa on esineelle ominaisia värejä yhdistettynä tai-operaattoriin (Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 28, teht. 19).
Esineet internetissä
Internetiin kytketään yhä enemmän laitteita. Esineiden internet (Internet of Things, IoT) mahdollistaa esimerkiksi älykkäät kodinkoneet. Selvittäkää pareittain, mitä tarkoittaa sulautetun järjestelmän (embedded system) käsite. Kerätkää esimerkkejä sulautetuista järjestelmistä koulussa, kotona ja koulumatkalla. Mitkä laitteet ovat sulautettuja, mitkä taas eivät ole? Onko kaikissa nettiyhteys? (Opas vuosiluokille 7 Polkuja ohjelmointiosaamiseen 9 (mediataitokoulu.fi) (s. 36, teht. 28). Apuna voi käyttää näitä videoita ja harjoituksia: Opentunti – Suunnitelma – Iot-esineet internettiin sekä Opentunti – Suunnitelma – Excelharjoitus IOT datalla
Minä digitaalisessa yhteiskunnassa
Perehtykää algoritmien toimintaan. Tutkikaa, miten algoritmit ja oma toimintanne verkossa muovaavat nähtävää sisältöä, kuten uutisia ja mainoksia, tiedonhaun tuloksia tai saamianne suosituksia esimerkiksi suoratoistopalveluissa. Miten algoritmit vaikuttavat omaan mediasisältöjen käyttöönne? Mitä hyötyä ja haittaa algoritmeista voi olla? Tutustukaa pareittain käyttämienne digitaalisten palveluiden käyttöehtoihin. Mitä tietoja teistä kerätään eväisteiden muodossa? Mitä ette haluaisi ulkopuolisen ihmisen teistä tietävän?
Ohje: http://www.mediataitokoulu.fi/polkuja_ylakoulu.pdf (s. 19), (Polkuja ohjelmointiosaamiseen – Opas vuosiluokille 7-9 (mediataitokoulu.fi) (s. 40-41, teht. 28-30).
Ohjelmoinnillinen ajattelu:
ViLLE-opintopolku, Turun yliopiston ViLLE-ympäristössä on opintokokonaisuus “Valinnainen yläkoulun ohjelmointi”, jonka voit aktivoida omalle luokallesi. Kokonaisuuden avulla oppilaat opiskelevat koodauksen perusteita pelillisesti. https://www.oppimisanalytiikka.fi/ville/opintopolut/#ohjelmointi-ja-tietotekniikka
Python from Scratch -ohjelmoinnin oppimispaketti Python-ympäristössä. Materiaalin rinnalla kulkee koko ajan Scratch-materiaalit.
Scratch to Python -kurssilla opitaan ohjelmointia Scratchilla. Materiaalin rinnalla kulkee koko ajan Python-materiaalit.
Tutkiva työskentely ja tuottaminen:
Robotti-imuri
Rakentakaa ja ohjelmoikaa koulunne robotiikkavälineillä robotti-imuri. Käyttäkää mielikuvitusta millä kaikilla tavoilla imuri voi kerätä roskia lattialta. Käyttäkää sensoriteknologiaa apuna, että laite ei törmää seinään ja osaa väistää esteitä. https://peda.net/jyvaskyla/ict/palvelut/ohjelmointi-robotiikka/marhle/p%C3%B6lynimurirobotti
Johdatus robotiikkaan
Suomen koodikoulun tuottama laadukas opas robotiikan opetuksen perusteisiin. Materiaalit tarjolla suomeksi ja auttavat robotiikan opetuksen aloittamisessa. https://finna.fi/L1Record/aoe.5
Valmiita oppaita ja ohjeita robotiikkaan
Vantaan rakentama opintopolku, joka pitää sisällään monenlaisia harjoituksia ja tehtäviä mm. Arduinoon, Lego-robotiikkaan ja teknologiakasvastukseen liittyen Innovatiivista teknologiaa peruskoulussa – Opintopolut (google.com)
STEAM , robotiikka ja teknologiakasvatus
Innokas-verkoston rakentama laaja sivusto, jossa on valmiita ohjeita ja materiaaleja aloittelijasta aina edistyneisiin ohjelmoinnin osaajiin asti. Sivulla paljon ohjeita mm. Robotiikkaan, STEAM-työskentelyyn ja teknologiakasvatukseen liittyen. Materiaalit – Innokas
Ohjelmointipolku yläkouluun
Ohjesivusto ohjelmoinnin opetukseen perusopetuksessa ja yläko graafisen- kuin myös ohjelmointikielen harjoitteluun.
Ohjelmoinnin tukimateriaalia opettajille – 7-9lk (google.com)
Pelillistämiseen valmiita esimerkkejä GameItNow-hankkeen tuotoksina: Esimerkit 1 ja esimerkit 2
Tiedettä ja teknologiaa verkossa
Microsoftin tarjoama sivusto, joka pitää sisällään laajasti tehtäviä ja harjoituksia STEAM-kasvatukseen, teknologian ymmärtämiseen ja käytännöntaitojen harjoitteluun liittyen.
Microsoftin Hacking Stem
Tietojärjestelmätieteen perusteita
Googlen tarjoama opintokokonaisuus, jossa pystyy suorittamaan tietojärjestelmätieteen perusteita ja jatkoharjoituksia verkossa.
Code with Google
Ohjelmoitujen ympäristöjen tunteminen ja niissä toimiminen:
IoT (Internet of Things, esineiden internet)
Harjoitusmateriaalia IoT-sensoridatan arviointiin ja analyysiin. Materiaalissa on suorat linkit ja materiaalit esineiden keräämän datan analysointiin Exceliä hyödyntäen. Opentunti on ilmainen Opentunti Ry:n ylläpitämä sivusto, johon pääsee kirjautumaan MPASS-tunnuksilla. Opentunti – Suunnitelma – Iot-esineet internettiin
IoT-datan analysointia
Harjoitusmateriaalia IoT-sensoridatan arviointiin ja analyysiin. Materiaalissa on suorat linkit ja materiaalit esineiden keräämän datan analysointiin Exceliä hyödyntäen. Opentunti on ilmainen Opentunti Ry:n ylläpitämä sivusto, johon pääsee kirjautumaan MPASS-tunnuksilla. Opentunti – Suunnitelma – Excelharjoitus IOT datalla
Yhteiskunnan digitalisaation havainnointi
Mitä tarkoittaa digitalisoituva yhteiskunta yksittäisen kansalaisen näkökulmasta? Millaisiin asioihin algoritmit vaikuttavat tavallisen ihmisen näkökulmasta? Miten algoritmit vaikuttavat yhteiskunnan ja yksilön toimintaan? Erityisesti kappale 1 käsittelee aihetta laaja-alaisesti. http://www.mediataitokoulu.fi/polkuja_ylakoulu.pdf
Lukemistoa:
Hyvä yleisartikkeli ohjelmoinnillisesta ajattelusta ja sen opetuksesta: Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.
Kooste opettajalle, mitä ohjelmoinnillinen ajattelu käytännössä tarkoittaa: Microsoft PowerPoint – ct-andtc-long.ppt (cmu.edu)
Lyhyt kooste yleisiin termeihin ohjelmoinnin alkeissa, sisältää myös ohjelmoinnillisen ajattelun harjoituksia kertaamiseen alakoulun aiheita: https://www.innokas.fi/wpcontent/uploads/2018/02/L%C3%A4ht%C3%B6laukauskoodaukseen.pdf