OPPITUNTI 2: PERÄKKÄISYYS

Samankaltaiset tiedostot
Oppitunti 2 Peräkkäisyys

Oppitunti 1 Mitä ohjelmointi tarkoittaa?

Koodaamme uutta todellisuutta FM Maarit Savolainen

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Oppitunti 0 Luo Bomberbot-tili

Kaksinkertainen mahtis

OPPITUNTIMATERIAALIT MEDIAKASVATUS Netiketti Säännöt

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

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

Säännöt. useamman tunnin kokonaisuus luokkalaisille

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

Code.org sivusto ohjelmoinnin opetuksessa

Alkukartoitus Opiskeluvalmiudet

VIRUSKAAPPARI-PELI - KURKISTUS OHJELMOINNILLISEEN AJATTELUUN

Tuen tarpeen tunnistaminen. Lukemisen ja kirjoittamisen ryhmäarviointi. Esitysohjeet opettajalle. toinen luokka syksy

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

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

Kuvien tarinat -tehtävä ( 30 kpl tehtäväsivuja )

Ohjelmoinnin perusteet Y Python

Osa 7: Hahmojen ohjelmointi ja hienosäätö

Ma Tänään rapistelemme ja mittailemme sanomalehteä.

Kouluttajan manuaali PPT-esityksen tueksi:

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

Tasohyppelypeli. Piirrä grafiikat. Toteuta pelihahmon putoaminen ja alustalle jääminen:

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

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

OPPITUNTI 0: LUO BOMBERBOT-TILI

Fiktion käsitteet tutuiksi. Oppitunnit 1 4

PANSION KOULUN OPS PORTAAT

Reaktor ohjelmoinnillinen ajattelu

Pikaopas KUBO CODING+

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

Python-ohjelmointi Harjoitus 2

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

OPETTAJA VERKOSSA: Koodaaminen

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Scratch ohjeita. Perusteet

Näppäri kymmensormiharjoitusohjelma Helsingin ATK-Palvelu Oy

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

Tuen tarpeen tunnistaminen

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

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

Kenguru 2017 Ecolier: Ratkaisut (4. ja 5. luokka)

Avarat aatokset ja älynväläykset

Kieliohjelma Atalan koulussa

Yhdessä tehden, oppien ja yrittäen -peli

Yllättävän, keskustelun aikana puhkeavan ristiriidan käsittely

lehtipajaan! Opettajan aineisto

Pikaopas. KUBO-koodaukseen

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

Reaktor ohjelmoinnillinen ajattelu

Tuen tarpeen tunnistaminen

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

YipTree.com. hommannimionmatematiikka.com

Tuen tarpeen tunnistaminen

merirosvoseikkailu Ohjelmointia alkuopetukseen Elina Laakko

811120P Diskreetit rakenteet

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

TARKKAILIJA VON KAARA

Ohjelmoinnin perusteet Y Python

Tuen tarpeen tunnistaminen

Tuen tarpeen tunnistaminen

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI. Alakoulun tehtävät

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

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

Kokemuksia perhehoidosta. Kuudes tapaaminen. Kouluttajakansio Ikäihmisten perhehoidon valmennus

Tehtäviä ja vinkkejä koulun tutustumispäivään

Tervetuloa! Opettajien alueellinen koulutus 3 Syksy 2018 Tampere 28.8., Helsinki 4.9. ja Oulu 5.9.

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

perustelu Noudatetaan sääntöjä. Opetuskortit (tehtävät 16 28), palikoita, supermarketin pohjapiirustus, nuppineuloja, tangram-palat

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

OULUN KAUPUNGIN KIRJALLISUUSDIPLOMI

Omaperäinen lasku. : 2 on sama kuin :. Mari, Kim ja Jaana ovat ehdottaneet kolmea omaperäistä tapaa laskea : 2.

Quizlet.

Yhtälönratkaisu oppilaan materiaali

SPRINTTISUUNNISTUS. Kuinka kehittyä sujuvaksi rintteriksi

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Apuja ohjelmointiin» Yleisiä virheitä

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

AINA KANNATTAA YRITTÄÄ

KERHOPAKETIN OHJELMA JA TAVOITTEET ( ARABIAN KIELI )

Mahtispalautteen antaminen

Arviointikysely vanhemmille, kevät 2011

Ma Tänään tutustumme sanomalehteen ja sen eri osastoihin.

Ohjelmoinnin jatkokurssi, kurssikoe

2 Suomen kielen äänteet

1. Taustatietoa näppäimistönkuuntelusta

EKAPELI-ALKU LUKEMAAN OPETTAMISEN TUKENA

Vesi ja veden olomuodot lumitutkimuksien avulla

PELIN JA LEIKINOMAISUUTTA KOULUSUUNNISTUKSEEN

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

2.3 Virheitä muunnosten käytössä

MaTänään otamme selvää, minkälaista sanomalehteä luemme.

Python-ohjelmointi Harjoitus 5

ENNAKKOTEHTÄVÄT / JAKSO A VALMISTAUTUMINEN. Otteita vetäjän ohjeista

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

52999 Aktiivinen matematiikka

Kenguru 2017 Cadet (8. ja 9. luokka)

Ohjeet Libre Officen käyttöön

Transkriptio:

OPPITUNTI 2: PERÄKKÄISYYS OPPITUNNIN SISÄLLÖT Oppilas ymmärtää, että tietokoneet tarvitset tarkkoja ohjeita toimiakseen Peräkkäisyyteen tutustuminen ja sen harjoittelu TUNTIIN VALMISTAUTUMINEN Tähän mennessä oppilaiden kanssa on opeteltu tietokoneen ja ihmisen välistä suhdetta: tietokoneet eivät osaa toimia itse, vaan tarvitsevat ihmisten laatimia ohjeita eli ohjelmia toimiakseen. Kuten oppilaat Bomberbotia pelatessaan ovat saattaneet huomata, robotti noudattaa oppilaiden antamia ohjeita juuri siinä järjestyksessä, jossa oppilas ne antaa alusta loppuun. Järjestystä, jossa ohjelma lukee ohjeet eli koodin alusta loppuun kutsutaan peräkkäisyydeksi. Peräkkäisistä ohjeista, joita tietokone noudattaa muodostuu ohjelma. Bomberbotissa ohje on tietty toiminto, jonka Bomberbot-robotti suorittaa. Kahdessa ensimmäisessä tehtävässä käytettävät toiminnot eli ohjeet ovat liikkuminen (eteenpäin, taaksepäin, oikealle, vasemmalle) sekä vasaralla murskaaminen. Tietokoneet suorittavat ohjelman ohjeita peräkkäisyyttä noudattaen eli alusta loppuun ja yksi kerrallaan. Järjestystä voisi verrata esimerkiksi koottavan huonekalun pystyttämiseen. Uuden huonekalun mukana tulevat ohjeet, joita kokoaja noudattaa tietyssä järjestyksessä. Kuten ohjelmissa, myös kokoamisohjeissa on looginen järjestys jos kokoat hyllyä, et voi kiinnittää hyllytasoja ilman hyllyn kehikkoa. Järjestyksellä on väliä Hyllyn kokoamisohjeita laadittaessa on tärkeää, että ohjeista tehdään selkeät (jotta mahdollisimman moni pystyy ymmärtämään ohjeita). Jos ohjeista on jätetty vaiheita pois, on kokoajan vaikea edetä hyllyn rakentamisessa. Myöskään turhat ohjeet eivät edistä hyllyn kokoamista. 1

Ohjetta Kun olet kiinnittänyt hyllyn tasot, ota ne pois ja kiinnitä ne uudelleen ei varmasti noudattaisi kovin moni se ei olisi järkevää. Me ihmiset pystymme arvioimaan ohjeiden loogisuutta tai paikkansapitävyyttä, mutta tietokone tai ohjelma noudattaa vain sille annettuja ohjeita. Aivan kuten me haluamme, että kokoamisohjeet ovat mahdollisimman helpot ja lyhyet, myös ohjelmoija haluaa tehdä koodista mahdollisimman lyhyttä ja selkeää. Silloin ohjelma vie vähemmän tilaa ja tietokone pyörittää ohjelmaa tehokkaammin. Peräkkäisyys kuvaa järjestystä, jossa ohjelma lukee ohjeet alusta loppuun Tietokone aloittaa ohjelman suorittamisen ensimmäisestä ohjeesta ja jatkaa ohjeiden noudattamista ohjelman loppuun asti annetussa järjestyksessä, yksi ohje kerrallaan. Tätä tarkoittaa peräkkäisyys. Opettaja noudattaa peräkkäisyyden periaatetta usein myös luokkahuoneessa: ellei oppilaille anneta loogisia ohjeita siitä, missä järjestyksessä asiat hoidetaan, täyttyy luokka nopeasti viittaavista (tai huutavista) oppilaista, jotka kaikki haluavat tietää, mitä nyt pitikään tehdä. Onneksi oppilaat voivat ymmärtää opettajansa ohjeita, vaikka ne eivät aina loogisessa järjestyksessä olisikaan. Tietokoneet eivät valitettavasti omaa samaa kykyä, vaan ohjeiden tulee noudattaa peräkkäisyyttä. PERÄKKÄISYYS BOMBERBOTISSA Bomberbotissa oppilaat hyödyntävät peräkkäisyyttä suunnitellessaan robotille ohjeita. Tietokoneet suorittavat yhden käskyn kerrallaan Kun pelaaja painaa Käynnistä, ohjelma alkaa suorittaa ohjeita peräkkäisessä järjestyksessä. Jos oppilaat antavat Bomberbotille ohjeita väärässä järjestyksessä, robotti ei toimi kuten oppilaat haluaisivat. Rubiinien murskaaminen on hyvä esimerkki peräkkäisyydestä. Rubiinin murskaamiseksi Bomberbotin pitää ensin kävellä rubiinin viereen, käyttää vasaraa ja vasta sitten Bomberbot voi astua ruutuun, jossa murskattu rubiini oli. Oppilaat saattavat helposti kuvitella, että rubiinin murskaamiseen käytetty vasara-toiminto sisältää kaksi toimintoa: kävele ja murskaa. Oppilaita kannattaakin ohjeistaa lukemaan laadittu ohjelma ääneen, jos heistä tuntuu, ettei robotti toimi kuten he haluaisivat. Tällöin oppilaat usein itsekin huomaavat, että käskivät robottia liikkumaan esimerkiksi kolme askelta, vaikka ruutuja oli vain kaksi. 2

Peräkkäisyyden suunnittelu ohjelman alusta loppuun Pelaajan painaessa Käynnistä, ohjelma aloittaa ohjeiden lukemisen aina alusta riippumatta siitä, missä ruudussa pelaaja sillä hetkellä on. Täysien pisteiden saamiseksi oppilaan tulee suunnitella ohjeiden lopullinen järjestys (peräkkäisyys) ennen ohjelman käynnistämistä. Oppilaita kannattaakin ohjeistaa aluksi pohtimaan, millaisia käskyjä heidän kannattaa käyttää välttääkseen turhia tai puutteellisia ohjeita. Lyhimmän peräkkäisyyden löytäminen Kuvittele, että olet liikenneympyrässä ja pohdit, mikä mahtaisi olla lyhin reitti perille. Reitin valinta vaikuttaa siihen, kuinka nopeasti ja helposti pääset perille. Peräkkäisyyden suunnittelua voi verrata ajoreitin valitsemiseen. Perille pääsee varmasti useamman reitin avulla, mutta toiset reiteistä saattavat olla huomattavasti hitaampia tai mutkittelevampia. Samalla tavalla Bomberbotissa tehtävän voi suorittaa useamman ratkaisun avulla, mutta paras ratkaisu on usein se lyhyin. TUNTISUUNNITELMA (Tuntisuunnitelma koostuu kahdesta osasta, jotka voidaan suorittaa erillisillä tunneilla. Suunnitelman kokonaiskesto on noin 60 min) OPPITUNNIN TAVOITTEET Oppilas ymmärtää, että ohjelma koostuu ohjeista, jotka tietokone suorittaa peräkkäisessä järjestyksessä alusta loppuun Oppilas hahmottaa, miten ohjeiden järjestys ja määrä vaikuttavat siihen, mitä ohjelma tekee Oppilaat onnistuvat luomaan ohjelman, jossa ei ole turhia tai puuttuvia ohjeita KESKEISET KÄSITTEET Ohje: tietty suunta tai komento Peräkkäisyys: järjestys, jossa ohjelma lukee ohjeet alusta loppuun yksi kerrallaan Ohjelma: peräkkäisistä ohjeista muodostuva kokonaisuus, jota tietokone noudattaa suoriutuakseen erilaisista tehtävistä ja ongelmista OPETUSMATERIAALIT Peräkkäisyys -opetusdiat Pino kirjoja Sakset Teippiä 3

OSA 1 KOONTI (Ajankäyttö: 5 min) [DIA 1] PERÄKKÄISYYS Voitte aloittaa tunnin tekemällä miellekartan viimeksi opitusta tai voit kysyä oppilailta, mitä he muistavat ohjelmista ja tietokoneista. Ohjelmointi on ohjeiden ja ohjeistojen laatimista sekä muuntamista tietokoneen kielelle. UUDEN KÄSITTEEN OPETTAMINEN - PERÄKKÄISYYS (Ajankäyttö: 15 min) [DIA 2] OHJELMA ON KUIN KIRJOITETTU SATU Tietokoneohjelmat on kirjoitettu erilaisilla ohjelmointikielillä. Myös satuja voidaan kirjoittaa eri kielillä esimerkiksi ruotsiksi, englanniksi tai suomeksi. Ohjelmoijan tehtävä on kertoa tietokoneelle, mitä tapahtuu ohjelman alussa, keskellä ja lopussa. Samalla tavalla satukirjailija kertoo lukijoilleen tarinan alun, keskivaiheet ja lopun. Tietokoneohjelma lukee ja suorittaa ohjelmoijan ohjeet eli koodin alusta loppuun. Samalla tavalla myös me luemme sadun lauseita vasemmalta oikealla ja alusta loppuun, kirjailijan kirjoittamassa järjestyksessä. Jotta lukija voi ymmärtää tarinan, hänen tulee lukea sadun lauseita peräkkäisessä järjestyksessä, ei sikin sokin. Myös tietokone lukee annettuja ohjeita peräkkäisessä järjestyksessä, jotta se osaa suorittaa haluttuja tehtäviä. Voit demonstroida tätä ottamalla kirjan (joka ei ole oppilaille tuttu) ja lukemalla yksittäisiä lauseita sieltä sun täältä. Ymmärtävätkö oppilaat kirjan juonen? [DIA 3] MITÄ TARKOITTAA PERÄKKÄISYYS? Kerro oppilaille, että käytte läpi ohjelmoinnin tärkeää käsitettä peräkkäisyyttä. Kysy oppilailta, mitä peräkkäisyys voisi heidän mielestään tarkoittaa. Peräkkäisyys kuvaa järjestystä, jossa ohjelma lukee ohjeet alusta loppuun yksi kerrallaan. 4

Kerro oppilaille, että samalla tavalla kuin tarinoissa on alku ja loppu myös ohjelmoinnissa ohjelmalla on alku ja loppu. Mikäli kirjailija kirjoittaa vain tarinan alun, jää tarina kesken. Myös ohjelmoijan tulee kirjoittaa ohjelma alusta loppuun, jotta tietokone tietää, mitä seuraavaksi tapahtuu. Bomberbotissa oppilaat suunnittelevat ohjelmia antamalla peräkkäisiä ohjeita robotille. [DIA 4] JÄRJESTYKSELLÄ ON VÄLIÄ Kerro oppilaille, että yksi tärkeimpiä asioita ohjelmoinnissa on ohjeiden järkevä järjestys. Esimerkiksi jos annamme Bomberbotille ohjeita väärässä järjestyksessä, se ei toimi, kuten haluamme. Ohjeet tulee antaa siinä järjestyksessä, jossa haluamme Bomberbotin toimivan. Kerro oppilaille, että seuraavaksi tutkitte peräkkäisyyden tärkeyttä vaihtamalla Punahilkka-sadun tapahtumajärjestystä. Kysy oppilailta, mitä Punahilkka-sadussa tapahtuu dian kuvien mukaan? Onko järjestys Punahilkkasadun mukainen? Korosta oppilaille, että jos he haluavat kertoa Punahilkka-sadun, heidän pitää noudattaa sadun oikeaa järjestystä. Samalla tavalla, jos oppilaat haluavat, että Bomberboti suorittaa oppilaiden haluamat toiminnot, oppilaiden tulee noudattaa peräkkäistä järjestystä ohjeita laatiessaan. Tietyn tehtävän suorittamiseksi voi olla useampi tapa, mutta helpottaaksemme tietokoneen työtä ohjeiden kannattaa olla mahdollisimman lyhyitä ja selkeitä. Voit lukea oppilaille kaksi esimerkkilausetta ja kysyä, kummalla tavalla he asian ilmaisisivat, jos haluaisivat saada asiansa perille mahdollisimman nopeasti? Tiistaina kävelin kouluun Joo siis mä menin niinku tiistaina kouluun ja siis mä niinku kävelin sinne. [DIA 5] KONEET EIVÄT AJATTELE Koneet tai esimerkiksi sadun hahmot eivät osaa ajatella itse, vaan jonkun pitää kirjoittaa, mitä ne tekevät. Jos tarina on oudossa järjestyksessä, johtuu se siitä, että kirjailija on kirjoittanut sen outoon järjestykseen. Samalla tavalla jos ohjelma toimii oudossa järjestyksessä, johtuu se ohjelman tekijästä. [DIA 6] BOMBERBOT NOUDATTAA OHJEITA Määrittele oppilaille tai pyydä oppilaita määrittelemään, mitä ohje tarkoittaa ohjelmoinnissa. 5

Esimerkiksi: Ohje on toiminto, jonka avulla kerromme Bomberbotille, mitä sen pitää tehdä. Tähän mennessä olemme käyttäneet 5 erilaista toimintoa: liikkuminen vasemmalle, oikealle, eteenpäin ja taaksepäin sekä vasaralla murskaaminen. Bomberbot suorittaa toiminnot yksi kerrallaan alusta loppuun. Tätä järjestystä, jossa ohjelma lukee ohjeet eli koodin, kutsutaan peräkkäisyydeksi. Kysy oppilailta, mitä he luulevat, että tapahtuu, kun Bomberbot on toistanut oppilaiden luoman ohjelman kaikki ohjeet peräkkäisessä järjestyksessä? (Vastaus: aivan kuten sadun lopun jälkeen satu ei enää jatku, ei myöskään ohjelma voi jatkua ilman ohjeita robotti siis pysähtyy, kun noudatettavat ohjeet loppuvat. [SLIDE 8] OFFLINE-HARJOITUKSET Valitse alla olevista harjoituksista yksi tai kaksi luokassa tehtäväksi. Harjoitusten tarkoitus on selkeyttää oppilaille peräkkäisyyden merkitystä. OFFLINE-HARJOITUS: IHMISBOMBERBOT #2 (Ajankäyttö 10-15 min) Osa A Kysy oppilailta, muistaako kukaan, miten IhmisBomberbotia leikittiin? Kerratkaa yhdessä, miten leikki meni: yksi oppilaista on robotti, jolle muut antavat käskyjä yhteisesti päätetyn tavoitteen suorittamiseksi. Robotin toiminnot ovat liike vasemmalle, oikealle, eteenpäin ja taaksepäin. Robotti noudattaa ohjeita täsmällisesti, eikä osaa ajatella itse. Kerro oppilaille, että tänään leikitte IhmisBomberbotia uudestaan, mutta annatte ohjeet peräkkäisyyttä noudattaen. Tarkoituksena on kirjoittaa kaikki ohjeet alusta loppuun taululle ennen kuin IhmisBomberbot käynnistetään. Kun ohjeet on kirjoitettu, noudattaa robotti ohjeita alusta loppuun, eikä lopeta, ennen kuin ohjelma on suoritettu. Valitkaa oppilas, joka esittää IhmisBomberbotia. Pyydä oppilasta poistumaan luokasta ja keksikää IhmisBomberbotille tavoite. Päättäkää, mistä robotti aloittaa ja kirjoittakaa taululle ohjeet tavoitteen 6

suorittamiseksi. Robotin aloituspaikka kannattaa valita niin, että hän pystyy koko ajan seuraamaan taulun ohjeita. Muistuta oppilaita, että robotti noudattaa ohjeita alusta loppuun järjestyksessä, yksi kerrallaan eli peräkkäisyyden mukaisesti. Kun ohjeet ovat valmiit, pyytäkää IhmisBomberbot takaisin luokkaan ja asetelkaa hänet lähtöpaikkaan. Kertaa vielä, että Ihmisbomberbotin tarkoitus on noudattaa taululla olevia ohjeita alusta loppuun järjestyksessä ja lopettaa vasta, kun kaikki ohjeet on käyty läpi. Kun kaikki on valmista, voitte yhdessä huutaa Käynnistä, jolloin IhmisBomberbot aloittaa ohjelman suorittamisen. Seuratkaa tarkkaan, noudattaako robotti ohjeita täsmällisesti. Mikäli ei, niin voitte luokan kanssa muistuttaa robottia siitä, että se ei osaa ajatella, vaan noudattaa vain käskyjä. Osa B Poista puolet keksimistänne ohjeista ja pyydä IhmisBomberbotia suorittamaan vain puolet ohjeista. Pyydä luokkaa huutamaan Käynnistä, jolloin robotti suorittaa vain osan ohjeista ja pysähtyy. Kysy oppilailta, miten ongelma voitaisiin ratkaista. Oppilaat todennäköisesti hoksaavat, että ohjeet pitää kirjoittaa uudestaan. Lisää puuttuvat ohjeet ja huutakaa Käynnistä. Tässä kohtaa IhmisBomerbotin pitäisi muistaa, että ohjelma suorittaa ohjeet aina alusta loppuun. IhmisBomerbotin pitäisi aloittaa ohjelman suorittaminen alusta, ei keskeltä. Mikäli IhmmisBomerbot aloitti ohjeiden suorittamisen keskeltä, kysy oppilailta, mitä hassua ohjelma teki. Muistuta oppilaita peräkkäisyydestä ja kysy noudattiko robotti peräkkäisyyttä aloittaessaan ohjelman suorittamisen. Oppilaat saattavat ihmetellä sitä, miksi heidän pelamissaan peleissä pelin voi keskeyttää ja jatkaa myöhemmin siitä, mihin jäi. Syy löytyy siitä, että oppilaiden laatimissa ohjeissa eli koodissa ei ole neuvottu robottia jatkamaan siitä, mihin se jäi. Voit pyytää oppilaita tarkastelemaan ohjeita ja miettimään, ovatko oppilaat ohjeistaneet robottia oikein. Robottihan ei osannut itse ajatella. Muistuta oppilaita siitä, että Bomberbot-pelissä ohjelma lukee ohjeet alusta loppuun peräkkäisyyden mukaisesti. Mikäli oppilaat tekevät virheen ja haluavat lisätä ohjeita, tulee heidän aina painaa Return -näppäintä, jotta Bomberbot palaa aloituspisteeseen. Muuten Bomberbot lähtee seuraamaan ohjeita alusta asti, vaikkei olisikaan aloitusruudussa. Osa C (valinnainen) 7

Materiaalit: Pino kirjoja ja teippiä Osa C:n tarkoitus on havainnollistaa, miten vasara-toiminto ja peräkkäisyys linkittyvät toisiinsa. Oppilaat erehtyvät helposti luulemaan, että vasara-toiminto pitää sisällään kaksi toimintoa: liikkeen ja vasaralla murskaamisen. Tämä harjoitus demonstroi vasara-toimintoa: oppilas ei voi kävellä suoraan kirjapinon päälle, vaan hänen täytyy ensin siirtää pino tieltään pois. Tehkää kirjoista pino. Tee teipistä neljä ruutua, joista ensimmäinen on tyhjä, toisessa on kirjoja ja kolmas ja neljäs ruutu kirjapinon takana ovat taas tyhjiä. Pyydä oppilaita miettimään ohjeet sille, miten IhmisBomerbot pääsee neljänteen ruutuun. Käytettävät toiminnot ovat samat kuin pelissä eli liikkeen lisäksi oppilailla on käytössä vasara-toiminto (joka voi tässä tapauksessa toimia Siirrä - toimintona). Kirjoita oppilaiden ohjeet ylös taululle. Kun ohjeet ovat valmiit, käynnistäkää robotti. Mikäli ohjeissa on virheitä (esimerkiksi ohjelmassa on yksi askel liian vähän), pyydä oppilaita lukemaan kirjoitettu koodi ääneen ja pohtimaan, mikä siinä voisi olla pielessä. Oikeat ohjeet ovat seuraavat: 1. Ota yksi askel eteenpäin. 2. Käytä vasara-toimintoa. 3. Ota kolme askelta eteenpäin. OFFLINE-HARJOITUS #2: SEKOITETTU TARINA TAI RESEPTI (Ajankäyttö: 15 min) SEKOITETTU TARINA Pyydä oppilaita kirjoittamaan lyhyt, alle kymmenen virkkeen tarina, esimerkiksi Bomberbotista. Jokaisen virkkeen tulee olla omalla rivillään. Pyydä oppilaita leikkaamaan virkkeet ja vaihtamaan ne luokkakaverin kanssa. Oppilaiden tulee yrittää järjestää toisen oppilaan lauseet alkuperäiseen järjestykseen. Oppilaat voivat kirjoittaa tarinat myös etukäteen äidinkielen tunnilla tai kotona ajan säästämiseksi. Pohtikaa, oliko tarina helppo järjestää alkuperäiseen järjestykseen? Osaako Bomberbot järjestää sekaisin olevat ohjeet oikeaan järjestykseen? VAIHTOEHTOINEN HARJOITUS: SEKOITETTU RESEPTI 8

Saman harjoituksen voi tehdä reseptien kanssa. Oppilaat voivat yrittää järjestellä valmiiden reseptien pilkottuja ohjeita oikeaan järjestykseen. HARJOITUSTEN KOONTI Kysy oppilailta, mitä peräkkäisyys tarkoitti ja miksi se oli tärkeää ohjelmoinnissa? Miksi tarinan ja reseptin tulee olla tietyssä järjestyksessä? Muistuta, että vaikka ihminen pystyy samanaikaisesti ottamaan askeleen ja siirtämään kirjapinon, tietokone ei: sitä pitää ohjeistaa tekemään jokainen asia yksi kerrallaan, sillä tietokone ei osaa ajatella itse. OSA 2 [DIA 8] PERÄKKÄISYYDEN HARJOITTELUA: TASO 1 Kerro oppilaille, että harjoittelette peräkkäisyyttä Bomberbotin avulla. Mikäli oppilas haluaa Bomberbotin murskaavan palikan tai rubiinin, pitää robotin naaman olla ruubiinia tai palikkaa päin. Heijasta ensimmäinen taso oppilaiden nähtäväksi ja kysy, miten tason saisi ratkaistua lyhimmillä mahdollisilla ohjeilla. Ratkaiskaa taso yhdessä. Mikä on ensimmäinen ohje, joka Bomberbotille pitää antaa? Luokaa oppilaiden kanssa ohjelma tason selättämiseksi. Ohjeista oppilaita pohtimaan, onko suunniteltu ohjelma lyhin mahdollinen. Kun ohjelma on valmis, voit kertoa oppilaille, että olette juuri luoneet peräkkäisistä ohjeista muodostuvan ohjelman, jonka Bomerbot suorittaa alusta loppuun yksi toiminto kerrallaan. Tätä tarkoittaa ohjelmoinnissa peräkkäisyys. (Tason ratkaisu: ota askel oikealle, murskaa palikka, ota askel oikealle ja murskaa rubiini). [DIA 9] PERÄKKÄISYYDEN LÖYTÄMINEN Kysy oppilailta, muistaako kukaan, miten Bomberbotissa sai täydet tähdet? (Käyttämällä mahdollisimman vähän ohjeita - mitä vähemmän peräkkäisiä ohjeita, sitä parempi) Toisinaan tasojen ratkaisemiseen voi olla useampi oikea vaihtoehto. Ennen kuin ohjeita lähtee suorittamaan, pitää miettiä, mihin suuntaan Bomberbotin kannattaa lähteä oikealle, vasemmalle, eteenpäin vai taaksepäin. Suunta, jonka oppilas valitsee vaikuttaa peräkkäisyyteen eli siihen, missä järjestyksessä ja kuinka monta ohjetta Bomberbotin pitää tason ratkaisemiseksi suorittaa. Paras mahdollinen polku on se, jossa on lyhin peräkkäisyys. Samalla tavalla oppilas voi miettiä, mikä on 9

lyhin reitti koulusta kotiin. Oppilas voi päästä useampaa reittiä perille, mutta lyhimmän reitin valinta nopeuttaa kotiin pääsemistä. [DIA 10] PERÄKKÄISYYDEN HARJOITTELUA: TASO 2 Tehkää oppilaiden kanssa yhteisesti vielä taso kaksi. Pyydä oppilaita ohjeistamaan, miten Bomberbot saa suoritettua dian reitit. Kirjoittakaa molempien reittien ohjeet ylös ja tarkastelkaa, kummassa vaihtoehdossa on vähemmän ohjeita. [DIA 12] HARJOITELLAAN! Pyydä oppilaita kirjautumaan Bomberbotiin. Oppilaat voivat suorittaa tehtävän 2 tasoja itsenäisesti tai pareittain. Kerro oppilaille, että tasojen tavoite on luoda mahdollisimman lyhyitä reittejä mahdollisimman lyhyillä ohjeilla eli peräkkäisyydellä. Mikäli ongelmia ilmenee, ohjeista oppilaita aina lukemaan ääneen sen, mitä he ovat kirjoittaneet. Onko ohjeita riittävästi vai kenties liikaa? Puuttuuko vasara-toiminnon jälkeen askelia? Kirjaa oppilaiden yleisimpiä ongelmia ylös, jotta voitte yhdessä pohtia niitä tunnin lopuksi. Oppilaiden tulee suorittaa tasot 1 13 harjoitellakseen peräkkäisyyttä tarpeeksi. Nopeimmat oppilaat voivat jatkaa tasojen suorittamista tasosta 14 eteenpäin. Oppilaat voivat suorittaa lisätasoja myös kotona. [DIA 11] PALAUTE (Ajankäyttö: 5-10 min) Pyydä oppilaita selittämään, mitä peräkkäisyys tarkoittaa. Tarkista, että oppilaille on tullut selväksi seuraavat periaatteet: - Peräkkäisyys tarkoittaa järjestystä, jossa ohjelma lukee ohjeet eli koodin alusta loppuun - Ohjeiden tulee olla loogisessa ja peräkkäisessä järjestyksessä (kuten reseptissä) - Ohjelma suorittaa yhden toiminnon kerrallaan (vasara-toimintoon ei sisälly liike) Käykää yhdessä läpi mahdolliset ongelmat, joita oppilaat kohtasivat tasoja suorittaessaan. Ratkaiskaa ongelmat yhdessä ja käyttäkää apuna peräkkäisyyden periaatteita. LISÄHARJOITUKSET Oppilaat voivat jatkaa tasojen tekemistä kotona. Oppilaat voivat etsiä peräkkäisyyttä myös oikeasta elämästä. Millaisissa asioissa peräkkäisyyden periaatteita noudatetaan? 10