Oppitunti 1 Mitä ohjelmointi tarkoittaa?

Samankaltaiset tiedostot
Oppitunti 2 Peräkkäisyys

OPPITUNTI 2: PERÄKKÄISYYS

Oppitunti 0 Luo Bomberbot-tili

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

VIRUSKAAPPARI-PELI - KURKISTUS OHJELMOINNILLISEEN AJATTELUUN

Koodaamme uutta todellisuutta FM Maarit Savolainen

Tarvitaanko pelin tekemiseen matematiikkaa? Mitä on ohjelmointi? Mitä tekee ohjelmoija?

OPPITUNTI 0: LUO BOMBERBOT-TILI

OPPITUNTIMATERIAALIT MEDIAKASVATUS Netiketti Säännöt

Reaktor ohjelmoinnillinen ajattelu

OPETTAJA VERKOSSA: Koodaaminen

OHJELMOINTIKERHO. 1. KERTA: Tervetuloa ohjelmointikerhoon! Alkuvalmistelut ennen kerhoa

1. Sananselitys. 2. Ohjelmointi. 3. Keskustelu. 4. Medialukutaito

Ryhmäharjoitus III: Mitä on koodaaminen? A. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 20.3.

OPS2016 ja ohjelmointi

Ohjelmointi 1. Kumppanit

Tieto- ja viestintäteknologinen osaaminen. Ryhmä 5

Pikaopas KUBO CODING+

Osa 7: Hahmojen ohjelmointi ja hienosäätö

Harjoitussuunnitelma viikko 1 Pallo tutuksi I

Code.org sivusto ohjelmoinnin opetuksessa

- Kuvan osoittamalla tavalla klikkaa kohtaa Tallenna Tiedosto. - Esimerkissämme Firefox selaimessa latauspalkki näyttää tältä

merirosvoseikkailu Ohjelmointia alkuopetukseen Elina Laakko

Reaktor ohjelmoinnillinen ajattelu

Arkipäivän automaatiota ja robotiikkaa

Galactor and the Codebreakers: - oppimispeli online maailman sudenkuopista

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

KODU. Lumijoen peruskoulu

OHJE / PELIOHJE 1 (5) TUOTE: Tasapainokortit SISÄLTÖ KEHITTÄÄ PELAAMINEN

Alkukartoitus Opiskeluvalmiudet

MOBIILILAITTEET OPETUKSESSA - näin otat Kahoot-kyselyn käyttöösi

YipTree.com. hommannimionmatematiikka.com

Scratch ohjeita. Perusteet

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot

Valmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).

Ohjelmointityökalu Scratch

Mukaan.fi on oma verkkopalvelu juuri sinulle, joka olet kiinnostunut erityistä tukea käyttävien lasten, nuorten ja aikuisten elämästä.

YSILUOKKA. Tasa-arvo yhteiskunnassa ja työelämässä

Share toiminto ja Seinä

Kodu Ohjeet. Jos päivityksiä ei löydy niin ohjelma alkaa latautumaan normaalisti.

Mediakyselyn tulokset

Yhdessä tehden, oppien ja yrittäen -peli

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Onnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan.

Osaat lisätä funktioihin silmukoita, joissa käytetään Coding+-koodauspaloja (TagTiles ).

Vanhan kertausta?(oklp410): Shulmanin(esim. 1987) mukaan opettajan opetuksessaan tarvitsema tieto jakaantuu seitsemään kategoriaan:

Filla&Rillan perehdytyksen käynyt! -työpaja

HP ProBook 430 G5 kannettavien käyttöönotto

ohjeita kirjautumiseen ja käyttöön

Opetuksen suunnittelun lähtökohdat. Keväällä 2018 Johanna Kainulainen

Millaiset mahdollisuudet avautuvat KODUpeliohjelmoinnilla. Lehtori Jarkko Sievi Virtuaaliopetuksen päivät

JUVAKE 2 OPPIMISYMPÄRISTÖN LUOMINEN JA VUOROVAIKUTUS

Moodle-oppimisympäristö

Harjoitussuunnitelma viikko 6 Pallo haltuun II

Golfsimulaattorin käyttö- ja peliohjeet

Mahtispalautteen antaminen

TUNTISUUNNITELMAN RUNKO OPITUT TAIDOT JA ARVIOINTI OPETTAJAN VALMISTELUTYÖT. ESITTELY: Tuntisuunnitelma

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu?

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen

KTKO104. Luento

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

TAVOITTEIDEN HALLINTA

Kouluttajan manuaali PPT-esityksen tueksi:

Ohjelmoinnin perusteet Y Python

75059 Suuri lajittelusarja

1. Kirjautuessa Kassa-pisteelle, varmista, ettei CapsLock näppäin ole päällä

Arkipäivän automaatiota ja robotiikkaa. Opettajan ohje. Innokas verkosto Kati Sormunen. Opettajan ohje / 2016 Innokas

Pianonsoiton alkeet - opeta koko luokka soittamaan 2 kappaletta kahdeksassa viikossa.

Seuraavat kysymykset koskevat erilaisia tekijöitä, jotka liittyvät digitaaliseen mediaan ja digitaalisiin laitteisiin kuten pöytätietokoneet,

Tiina Partanen. Koodaamassa Matikantunnilla

numerot + euro, euroa, euron, sentti, senttiä + sataa + tuhat, tuhatta

Seuraavat kysymykset koskevat erilaisia tekijöitä, jotka liittyvät digitaaliseen mediaan ja digitaalisiin laitteisiin kuten pöytätietokoneet,

Jypelin käyttöohjeet» Ruutukentän luominen

TUNTISUUNNITELMAN RUNKO OPITUT TAIDOT JA ARVIOINTI OPETTAJAN VALMISTELUTYÖT OHJAAMINEN. ESITTELY: Tuntisuunnitelma

Ohjelmoinnillinen ajattelu

Racket ohjelmointia II. Tiina Partanen 2015

Kiinnostaako. koodaus ja robotiikka? 2014 Innokas All Rights Reserved Copying and reproduction prohibited

OKLV120 Demo 7. Marika Peltonen

OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS. Tavoiteltava toiminta: Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

VEIKKAUKSEN VERKKOKUMPPANUUS

TOIMINTA-KORTTI Yhdessäolon riemua MIELEN- TERVEYS

Johdatus go-peliin. 25. joulukuuta 2011

Tuntisuunnitelma: Teema 3

52999 Aktiivinen matematiikka

Ajatuksesta algoritmiin. Hanna Aarnio ja Virpi Sumu Resurssikeskus Linkki, HY

Saat seitsemän NY-ohjelmaa käyttöösi.

TUNTISUUNNITELMAN RUNKO OPITUT TAIDOT JA ARVIOINTI OPETTAJAN VALMISTELUTYÖT. ESITTELY: Tuntisuunnitelma

KTKO104 Tieto- ja viestintätekniikka. 2. Luento - Opetussuunnitelma ja TVT Tiistai

He osaavat kirjoittaa KUBOlle pseudokoodin ennen varsinaisen koodin kirjoittamista.

Muistitikun liittäminen tietokoneeseen

Tieto- ja viestintäteknologia = TVT

lehtipajaan! Opettajan aineisto

Ensikosketus ohjelmointiin

Etäkoulu Kulkurin tieto- ja viestintätekniikan opetussuunnitelma

Tiedän mitä minun pitää tehdä, että pääsen toisten lasten leikkiin mukaan

Transkriptio:

Oppitunti 1 Mitä ohjelmointi tarkoittaa? Oppitunnin tavoitteet Oppilaat ymmärtävät, että tietokoneet eivät osaa ajattele itse, vaan noudattavat ihmisten laatimia ohjeita: kaikki tietokoneohjelmat ovat ihmisen ohjeistamia eli ohjelmoimia Oppilaat ymmärtävät, miten oppilaan antamat ohjeet vaikuttavat ohjelman toimintaan Keskeiset käsitteet Ohjelmointi: Ohjelmointi on ohjeiden ja ohjeistojen laatimista sekä muuntamista tietokoneiden kielelle. Oppitunnin materiaali Mitä ohjelmointi tarkoittaa -esitysdiat Tuntisuunnitelma Opettajan perehdytys: Tutustuminen uuteen aiheeseen (sivu 2) Ohjelmointi Bomberbotissa (sivut 2-3) Tuntisuunnitelma: Mitä ohjelmointi tarkoittaa? (sivu 3) Uuden käsitteen opettaminen (sivut 3-4) Offline-harjoitus (sivu 5) Harjoitustasot (sivu 6) Loppukeskustelu (sivu 7) Lisätehtävät (sivu 7) 1

TUTUSTUMINEN UUTEEN AIHEESEEN Teknologia on olennainen osa nykylasten elämää: sen parissa kasvetaan ja eletään. Oppilaat osaavat usein jo pienestä pitäen käyttää tietokoneita, älypuhelimia sekä muita teknologisia sovelluksia, mutta ymmärrys laitteiden taustalla olevista toimintaperiaatteista jää puutteelliseksi. Miksi peli, jota oppilaat pelaavat toimii tietyllä tavalla? Entä miten oppilaan oma toiminta vaikuttaa tietokoneen tai pelin toimintaan? Tietokoneet eivät ole ihmisten toiminnasta riippumattomia vempaimia, vaan niiden takana on aina sarja ihmisen laatimia ohjeita eli ohjelmointia. Ohjelmat ja tietokoneet toimivat juuri niin hyvin, kuin ihmiset osaavat ohjeistaa ne toimimaan. Hyvää ohjelmaa voisi verrata vaikka hyvään tehtävänantoon. Mitä selkeämpien ja lyhimpien ohjeiden avulla tehtävän onnistuu ohjeistamaan, sitä parempi. Turhat tai puutteelliset ohjeet sekoittavat ja hankaloittavat itse tehtävän ymmärtämistä. Sama periaate pätee myös ohjelmointiin: ohjelmista pyritään tekemään mahdollisimman lyhyitä, jotta tietokoneen on helppo suorittaa ohjelmaa ja ohjelma ei vie turhaa tilaa koneelta. Ilman ohjeita eli koodia, tietokoneohjelma ei osaa tehdä yhtään mitään. Ohjelmia kirjoitetaan erilaisten ohjelmointikielten avulla. Tietokoneet eivät puhu ihmistä, vaan ohjeet pitää muuttaa tietokoneelle ymmärrettävään muotoon. Ohjelmointikielen valinta riippuu siitä, mitä ohjelmalla halutaan tehdä. Yleisempiä ohjelmointikieliä ovat JavaScript, Python, ja Ruby. Ohjelmointikielten eroista huolimatta kaikkia ohjelmointikieliä yhdistävät samat perusperiaatteet (kuten peräkkäisyys, toistorakenteet, ehtolauseet, muuttujat, algoritmit jne.). Nämä perusperiaatteet opetetaan myös Bomberbotissa. Bomberbotin opetussuunnitelma tähtää siihen, että oppilaat oppivat yhden ohjelmointikielen sijasta ohjelmoinnillista ajattelua, jota sovelletaan kaikissa ohjelmointikielissä. OHJELMOINTI BOMBERBOTISSA Oppilaat ohjelmoivat Bomberbotissa symboleiden avulla eli visuaalista ohjelmointikieltä apuna käyttäen. Symboleiden avulla oppilaat kirjoittavat Bomberbot-robotille ohjeita eli koodia, jonka avulla robotti saa kerättyä tason kaikki tähdet ja murskattua rubiinit. Mitä lyhemmillä ohjeilla 2

oppilaat onnistuvat keräämään tason tähdet, sitä enemmän pisteitä oppilaat saavat. Kolme tähteä tarkoittaa sitä, että oppilas on osannut hyödyntää opittua käsitettä ja ratkaista tason lyhimmillä mahdollisilla ohjeilla. Kaksi tähteä merkitsee puolestaan sitä, että ratkaisu on hyvä, muttei paras mahdollinen. Yhden tähden ratkaisussa ei ole osattu hyödyntää opittua käsitettä oikein. Ensimmäisen oppitunnin aikana oppilaat harjoittelevat ohjeiden antamista Bomberbot-robotille. Oppilaita kannattaa muistuttaa siitä, että robotti noudattaa saamiaan ohjeita täsmällisesti. Mikäli robotti ei tee haluttua asiaa, kannattaa vikaa etsiä ensin omista ohjeista eli ohjelmasta. TUNTISUUNNITELMA Tuntisuunnitelma koostuu kahdesta osasta: uuden käsitteen opettamisesta (n. 30 min) sekä pelin pelaamisesta ja loppukeskustelusta (n. 25 min). Suunnitelman kokonaiskesto on noin 60 min, mutta opettaja voi räätälöidä dioista luokalleen sopivan kokonaisuuden. MITÄ OHJELMOINTI TARKOITTAA? Dia 1: MITÄ OHJELMOINTI TARKOITTAA? Keskustelu: Aloita oppitunti kysymällä, kuinka moni oppilaista on kuullut sanan ohjelmointi. Osaako kukaan selittää ohjelmointia omin sanoin? Vinkki: Voitte yhdessä tehdä miellekartan tai listan oppilaiden käsityksistä. Voitte aina uuden aiheen yhteydessä tehdä uuden miellekartan tai listan, jonka avulla pysytte seuraamaan, mitä olette yhdessä oppineet. UUDEN KÄSITTEEN OPETTAMINEN Dia 2: MIKÄ ON LEMPIPELISI? Dia 3: FLAPPY BIRD Keskustelu: Keskustelkaa oppilaiden lempipeleistä. Pyydä oppilaita selittämään, miten omassa lempipelissä saadaan pisteitä ja mitkä ovat pelin säännöt. Entä miten pelissä liikutaan? Ovatko oppilaat koskaan miettineet, miten pelejä valmistetaan? Toiminta: Valitkaa yksi oppilaiden pelaamista peleistä (mikäli löytyy netistä) 3

tai käyttäkää esimerkkinä Flappy Bird -peliä (www.freeflappybird.org ). Pelatkaa hetki peliä siten, että pyydät oppilaita ohjeistamaan, mitä sinun tulee pelissä tehdä. Oppilaiden tehtävänä on samalla pohtia, mitkä ovat pelin keskeisimmät säännöt. Flappy Bird -pelin säännöt: 1. Kun klikkaat näyttöä tai painat välilyönti-näppäintä, lintu hyppää. 2. Jos lintu koskee maata, taivasta tai piippua, peli on ohi. 3. Pisteitä saa, kun ei törmää piippuun. Dia 4: MITÄ ON OHJELMOINTI? Dia 5: OHJELMOINTI ON OSA ARKIPÄIVÄÄ Käy läpi: Flappy Bird on peli, mutta samalla myös ohjelma. Aivan kuten peliä pelaava pelaaja, myös tietokonepeliä pyörittävä ohjelma tarvitsee sääntöjä ja ohjeita toimiakseen. Tietokone ei kuitenkaan ymmärrä samanlaisia ohjeita, joita esimerkiksi opettaja opetuksessaan käyttää, vaan ohjeet pitää muuttaa tietokoneen kielelle. Ohjelmointi onkin ohjeiden ja ohjeistojen laatimista sekä muuntamista tietokoneen kielelle. Keskustelu: Pyydä oppilailta antamaan esimerkkejä ohjelmista, joita oppilaat arjessaan käyttävät. Mikä tekee ohjelmasta ohjelman? (Esim. ohjelma vaatii ohjelmointia: ohjelma ei osaa ajatella itse, vaan se pitää ohjeistaa toimimaan) Pelit ovat vain yksi esimerkki ohjelmoinnista. Kerro, että kaikki teknologiset laitteet, kuten kännykät, GPS-laitteet sekä tabletit ovat ohjelmoituja. Dia 6: OHJELMOINTIA ERI KIELILLÄ Käy läpi: Kysy oppilailta, mitä kieltä heidän kannattaisi osata, jos he menevät lomamatkalle esimerkiksi Ranskaan? Samalla tavalla kuin ihmisillä myös tietokoneilla on omat kielensä. Tietokone ei ymmärrä ihmisen kieltä, vaan tarvitsee omat kielensä. Tietokoneen käyttämiä kieliä kutsutaan ohjelmointikieliksi ja kuten ihmistenkin kielillä, tietokoneen käyttämillä kielillä on erilaisia nimiä esimerkiksi JavaScript, Python ja C. 4

Lisätietoa opettajalle: Useat suositut applikaatiot tai appsit on ohjelmoitu Ruby on Rails -ohjelmointikielen avulla. Iphonesovelluksiin on käytetty C-ohjelmointikieltä ja Facebook on ohjelmoitu PHP:n avulla. OFFLINE-HARJOITUS: IHMISBOMBERBOT Ajankäyttö: n 5-10 min Dia 7: OFFLINE- HARJOITUS: IHMIS- BOMBERBOT Leikin kulku: Yksi oppilaista esittää IhmisBomberbotia ja muu luokka keksii robotille suoritettavan tehtävän. Tehtävä voi olla esimerkiksi oven avaaminen tai valon sammuttaminen. Keksikää robotin tehtävä ja kirjoittakaa taululle käytettävät ohjeet: liike eteenpäin, taaksepäin, vasemmalle ja oikealle. Käykää yhdessä läpi, miten robotti liikkuu mistäkin ohjeesta. Luokan tehtävä on ohjeistaa IhmisBomberbot saavuttamaan tavoitteensa mahdollisimman lyhyillä ohjeilla. Oppilaat voivat antaa Bombertbotille ohjeita kuten Kävele viisi askelta vasemmalle tai Kävele kolme askelta eteenpäin. Kirjaa oppilaiden käyttämät ohjeet ylös. Jos robotti liikkuu ohjeiden vastaisesti, pysäytä harjoitus ja pyydä IhmisBomberbotia jähmettymään paikoilleen. Kysy oppilailta, miksi näin kävi? Muistuta, että robotti ei osaa ajatella itsenäisesti, vaan seuraa ainoastaan sille annettuja ohjeita. Samalla tavalla tietokoneohjelmat osaavat noudattaa vain niille laadittuja ohjeita. Tässä harjoituksessa ohjeita antava henkilö on ohjelmoija, annetut ohjeet ovat ohjelma ja IhmisBomberbot on tietokone, joka suorittaa ohjelmoijan laatimia ohjeita. Pohtikaa lopuksi, olisiko tavoitteen voinut suorittaa vähemmillä ohjeilla? Voitte toistaa harjoituksen myöhemmin uudestaan ja katsoa, saatteko tiputettua ohjeiden määrää. 5

HARJOITUSTASOT Dia 8: HARJOITUSTASO #1 Käy läpi: Esittele oppilaille Bomberbotin ensimmäinen taso. Kysy oppilailta, miten peli voisi heidän mielestään toimia? Käykää pelin toimintaperiaatteet tarvittaessa vielä yhdessä läpi: Ohjauspaneelista valitaan ohjeet robottia varten. Ohjeita voi klikata tai vetää pääohjelmaan (Main program). Ohjeita voi poistaa roskakorisymbolin avulla tai vetämällä ohjeita pois ruudusta. Jo tehtyyn ohjelmaan voi myös lisätä ohjeita: oppilas vain vetää uuden ohjeen halutulle paikalle. Ohjelma ei kuitenkaan toimi ennen kuin se käynnistetään. Kysy oppilailta, miten ohjelma saadaan käynnistettyä (Pelaa-näppäin), pysäytettyä (Pelaa-näppäintä painetaan toisen kerran) sekä miten robotin saa palaamaan lähtöpisteeseen ilman, että oppilaan kirjoittamat ohjeet häviävät (Nuoli-näppäin). Robotti-symbolista saa ohjeen, mitä tasolla pitää tehdä. Vaikeimmista tasoista löytyy myös Apua näppäin, jonka avulla oppilaat saavat vinkkejä tehtävien ratkaisemiseen. Huom! Oppilaat saavat 8.tasolla käyttöönsä vasara-toiminnon. Vasaran avulla edessä olevan palikan pystyy murskaamaan. Voit mainita vasarasta jo etukäteen tai antaa oppilaiden itse keksiä, miten vasara toimii. Dia 9: PELAA TASOJA Toiminta: Pyydä oppilaita kirjautumaan Bomberbotiin käyttäjänimen ja salasanan avulla ja aloittamaan ensimmäisen Oppitunnin pelaamisen. 6

Oppilaat voivat suorittaa tasoja myös pareittain. Oppilaiden tulee suorittaa tasot 1 13 ymmärtääkseen ohjelmoinnin käsitteen. Oppilaat voivat suorittaa lisätasoja myös kotona. LOPPUKESKUSTELU Dia 10: LOPPU- KESKUSTELU Kertaus: Kerratkaa vielä luokan kanssa Bomberbotin toimintaperiaatteet. Mitä eri ohjeista tapahtuu? Miten ohjelma lukee ohjeet? Miltä tasojen suorittaminen tuntui? Jos robotti liikkuu väärään suuntaan, johtuu se siitä, että oppilas on antanut robotille väärät ohjeet. Robotti ei pysty itse ajattelemaan, vaan oppilaan pitää ohjelmoimalla antaa robotille käskyjä. Bomberbotissa ohjelmoinnin apuna käytetään visuaalista ohjelmointikieltä eli erilaisia symboleja. LISÄTEHTÄVÄT Oppilaat voivat jatkaa tasojen suorittamista kotona. Voit pyytää oppilaita kirjoittamaan säännöt Ihmisbomberbot-leikille. Pyrkikää kirjoittamaan mahdollisimman lyhyet ja selkeät säännöt, jotta peliä pelaamatonkin ymmärtää, mistä IhmisBomberbotissa on kyse. Miksi lyhyiden ja selkeiden ohjeiden luominen ohjelmoinnissa oli tärkeää? 7