Ohjelmointia Scratchin kanssa

Samankaltaiset tiedostot
Ohjelmointia Scratchin kanssa

Scratch - Ötökkäralli

Python-ohjelmointi Harjoitus 5

Scratch - ohjelmoinnin alkeet

Python-ohjelmointi Harjoitus 2

Ohjelmointityökalu Scratch

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Muistutus aikatauluista

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

811120P Diskreetit rakenteet

11. Javan toistorakenteet 11.1

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla (Opettajan ohje)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

811120P Diskreetit rakenteet

Testaa taitosi 1: Lauseen totuusarvo

3 TOISEN ASTEEN POLYNOMIFUNKTIO

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Scratch. - Ohjelmoinnin perusteet. Jari Sarja Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

Java-kielen perusteita

Arkipäivän automaatiota ja robotiikkaa

Palautetta viime luennosta

SELECT-lauseen perusmuoto

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Ohjelmoijan binaarialgebra ja heksaluvut

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Loogiset konnektiivit

Talousmatematiikan perusteet, ORMS1030

Luento 5. Timo Savola. 28. huhtikuuta 2006

13. Loogiset operaatiot 13.1

Ohjausrakenteet. Valinta:

Harjoitus 3 -- Ratkaisut

Ehto- ja toistolauseet

1. Ohjelmoinnin peruskäsitteet ja -elementit

Ohjelmoinnin alkeita Python-kielellä

Ensikosketus ohjelmointiin

LUKUPÄIVÄKIRJA

Lähtölaukaus koodaukseen! Arto Hietapelto, kevät Innokas All Rights Reserved

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1

815338A Ohjelmointikielten periaatteet

Zeon PDF Driver Trial

Juuri 2 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

13. Loogiset operaatiot 13.1

LUKIOKURSSI MATEMAATTISESTA OHJELMOINNISTA PYTHON-KIELELLÄ

Sve 1.5. Iikka Hauhio 18. tammikuuta 2015

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2012

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Pyramidi 3 Analyyttinen geometria tehtävien ratkaisut sivu 139 Päivitetty a) 402 Suplementtikulmille on voimassa

-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi

Julkaistu. 1 Johdanto... 2

Harjoitus 4 -- Ratkaisut

EV3 Liikemittauksia. Työkortit EV3 liikemittauksissa / Tehtäväkortit/ Piia Pelander / 2017 Innokas 1

Harjoitus 2: Ohjelmointi (Matlab)

Harjoitus 2: Ohjelmointi (Matlab)

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

C. Montako prosenttia pinta-ala kasvaa, jos mittakaava suurenee 5%? a) 5 % b) 7 % c) 9 % d) 10 % e) 15 %

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

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

1. luento. Ohjelmointi (C) T0004 Syksy luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

2 Algoritmit ja ohjelmointi

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Labyrintti. Pelihahmon toiminta. Piirrä pelihahmo (älä piirrä esim. sivusta, ettei hahmon tarvitse

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

TEHTÄVIEN RATKAISUT. Luku Kaikki luvut on kokonaislukuja. Luonnollisia lukuja ovat 35, 7 ja 0.

16. Ohjelmoinnin tekniikkaa 16.1

Predikaattilogiikkaa

763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2016

Ohjelmoinnin peruskurssien laaja oppimäärä

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

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

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

16. Ohjelmoinnin tekniikkaa 16.1

C. Montako prosenttia pinta-ala kasvaa, jos mittakaava suurenee 5%? a) 5 % b) 7 % c) 9 % d) 10 % e) 15 %

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Yhteydettömät kieliopit [Sipser luku 2.1]

Kysymystyypit. Tentin kysymystyypit. Monivalinta

HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 5 Ratkaisuehdotuksia

Ohjelmoinnin peruskurssien laaja oppimäärä

Muuttujat ja kontrolli. Ville Sundberg

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

5/20: Algoritmirakenteita III

Transkriptio:

Ohjelmointia Scratchin kanssa β eta Matti Nelimarkka Noora Vainio Nyyti Kinnunen 2011

2 MateriaalionkäytössäCreativeCommons Nimeä4Tarttuva3.0MuokkaamatonCC BY4SA)lisenssillä. Setarkoittaa,ettävoitjakaajamuokata tätämateriaalia,kunhanmainitsetlähteen. Lisäksimahdollisetmuutoksettuleejakaa samallalisenssillä. Lisätietoalisenssistäsaatavillaverkosta http://creativecommons.org/licenses/by4 sa/3.0/deed.fi Hahmotjaanimointi Toistorakenteet Kuulemmemielellämmemielipiteitäsi materiaalista.mitävoisimmeparantaa, mitenasiatvoisiilmaistaselkeämmin mihinitsekäytättätämateriaalia. Lähetäpalautteestisähköpostitse scratch.kerho@gmail.com Työnvalmistumistaovattukeneet: Multimedia Ehtorakenteet Muuttujatjaloogisetoperaatiot Kynä Tapahtumapohjainenohjelmointi

3 Perusopetuksenvuoden2004opetussuunnitelmassa yhtenäaihekokonaisuutenaonihminen&ja&teknologia. Tämänoppiainekokonaisuudenkeskeisenäsisältönä ontietotekniikan&käyttäminenjateknologian& ymmärtäminen.lisäksikannustetaankehittämään& välineiden,&laitteiden&ja&koneiden&toimintaperiaatteiden& ymmärtämistä.opetussuunitelmassaeikuitenkaan painotetatietokoneidentoimintaa.tämätarkoittaasitä, etteivätoppilaatvälttämättäosaavastatakeskeiseen kysymykseenmiten&tietokoneet&toimivat. Onluonnollista,ettätietotekniikankäyttöonnostettuesiin myösopetussuunnitelmassa.tietotekniikkaonjonyt merkittäväosayhteiskuntaa,jasenroolituleekasvamaan. Käytämmesitänykyisinmyöshuomaamattamme4sinunkin taskustasivoilöytyätietokone. Oppilaidentulisimielestämmeperinteisentietotekniikan käytönlisäksimyösymmärtääjotainsentoiminnasta. Muttamitätietotekniikkaoikeastaanon?PeterJ.Denningin 2003)mukaanseonesimerkiksitietokantoja, tietorakenteitajakäyttöliittymiensuunnittelua. Käytännössänäidenteemojenkanssapäädytäänusein käytännöntoteutuksenkysymyksiin,joissaalgoritmien suunnittelujaniidentoteutuseliohjelmointionkeskeistä. Tietokoneetovatenemmänkuinvalmiitavälineitä, jollaisinanetavallisestiesitetään.pyrimmetämän materiaalinavullatuomaanesilletoisennäkökulman tietokoneidenkäyttöön.haluammekorostaa,että tietotekniikkavoiollamyösongelmanratkaisun.väline. Tokimyösvalmiitohjelmat,kutentaulukkolaskenta, tarjoavatvälineitätähän. Esipuhe Kuitenkin,ohjelmoinninavullaonmahdollistaratkaista erilaisiaongelmiasekäkehittääongelmanratkaisun ajattelutaitojasystemaattisimmiksi. Toisinkuinihmiset,tietokoneeteivätosaatehdäpäätelmiä taimuuttaaongelmanratkaisustrategiaansakeskenohjelman suorituksen.siksiongelmanratkaisustrategiatuleeesittää täsmällisemmin,käyttäenformaalia,etukäteenmääriteltyä kieltä.tätähyödyntäentietotekniikkavoiauttaa ongelmanratkaisutaitojenkehityksessä. TyövälineeksitässämateriaalissaolemmevalinneetScratch4 nimisenohjelmointiympäristön.scratchonmit4yliopistolla kehitettylapsillesuunnattuohjelma,jonkaavullavoitutustua algoritmiseenajatteluuninnostavallatavalla.innostusta auttaaesimerkiksivisuaalisetkäyttöliittymäelementit,jotka rohkaisevatlapsiakokeilemaanjalisäävätohjelmoinnin mielekkyyttä.lisäksiscratchilläoppiiperusteetnopeasti, minkäjälkeenonhelpompaasiirtyäkäyttämään kehittyneempiäohjelmointikieliä. Lopuksionmyössyytämuistaa,ettäohjelmointionväline myösluovuuteen,eivainongelmienratkaisemiseen.tämä tuleepitäämielessämyöskerhontoiminnassa,vaikka olemmemateriaalissakorostaneetongelmanratkaisun keskeistäroolia.luovantoiminnanjaonnistumisen kokemuksienkauttasyntyyomahaluoppiaenemmän.lisäksi arkipäiväistymisenmyötätietotekniikkaonmuuttunut vähemmänvakavaksi4sevoiollamyöshauskaa.

4 Alkuun Scrachin kanssa VoitladataScratchinosoitteesta: http://scratch.mit.edu/.asennettuasiscratchin koneelle,tarkistakieli.tämäopasonsuunniteltu englanninkielistäscratchiakäyttäville.kielenvoit vaihtaaohjelmanyläreunassaolevastamaapallon kuvasta.mikääneisiisestäsinuaopettamasta suomeksi. Scratch4ikkunamuodostuukäytännössäneljästäeri alueesta.vasemmanpuoleisinlaatikkosisältää kaikkikomennot.keskelläonaluejohonvalitut komennotraahataan.komennotraahataanhiiren osoittimellavalikoistakoodialueelle. Josklikkaathiirenoikeallanäppäimellä keskialuetta,saatvalikonjostavoittyhjentääkoko alueen,tallentaakuvanohjelmasikoodistatailisätä koodiaselittävänkommentin.kommenttien lisääminenonkannattavaa,josohjelmaon monimutkainen. Klikkaamallahiirenoikeallanäppäimelläyksittäistä koodilohkoa,saatvalikon,jostasaatohjeitatätä lohkoakoskien,voitpoistaaosantaitehdäkopion osasta.voitpoistaakoodiamyössiirtämälläsenpois keskialueelta.koodikäynnistetään tuplaklikkaamallasitä. Oikeallayläreunassaonnäyttämöelistage,josta näetohjelmasisuorituksen.senalapuolellaon hahmo4valikko,jostanäetluomasihahmotjavoit luodauusihahmoja. Kielenvaihtaminen Tiedostojenavaaminenja tallentaminen Näyttämö Komennot Koodialue Hahmot Ohjelman käynnistäminenja sammuttaminen

5 Hahmot ja animointi TässäkappaleessaluodaanpohjaatulevalleScrach4 ohjelmoinnille.ensiksikäsitelläänhahmoja muokkaustajalisäämistäscratchiin.lisäksi esitetäänyksinkertainenhahmojenliikutus. Tärkeääonymmärtää,ettäyksittäisetScracth4 hahmotovattoisistaanriippumattomia. Scratchissakaikkiohjelmatperustuvathahmoihinja niidentoimintaan.yhdessäohjelmassavoiollauseita hahmojajahahmotvoivatmyöskommunikoida keskenään. Jokaisellahahmollaonomatohjelmakoodista scripts),joidenmukaannekäyttäytyvättoistaan välittämättä.hahmotvoivatmyöskommunikoida keskenäänjaniidentoimintaanvoivaikuttaa esimerkiksitoistenhahmojensijainnit. Hahmojavoidaananimoidaluomallaniille ohjelmakoodeja,jotkaliikkuttelevatniitäjamuuttavat niidenulkonäköä.hahmojenliikuttamiseen komentojalöytyymotion4valikosta.hahmojen ulkonäköönliittyviäkomentojalöytyylooks7valikosta. Luodessasiuudenprojektin,siihenlisätäänautomaattisestiyksi kissa4hahmo.tämänhahmonvoikuitenkinpoistaapainamalla hiirenoikeallanäppäimellänäyttämönalapuolellaolevaahahmon kuvakettajavalitsemalladelete.& & UudenhahmonvoitluodajokovalitsemallajonkinScratchin valmiistahahmoistataipiirtämälläkokonaanuudenhahmon.voit myösvalitasatunnaisenhahmon,jokalisätäänprojektiisi. Myösvalmiitahahmojavoimuokata.Valitsemallahahmonvalikosta costumes4osionvoitmuokatahahmonasua.täällävoitmyöslisätä hahmolleuusiaasuja.uusiaasujalisätäänjokopiirtämälläkokonaan uusiasutaituomallavalmiitaasuja.nämäasuteivätoleuusia hahmoja,vaanhahmosivoimuuttaaulkonäköäänswitch&to&costume7& tainext&costume7komennolla. Piirräitseomahahmo Avaatallennettuhahmo Satunnainenuusihahmo

6 Voitmyösmuokatataustaajasillevoidaanluodaomia ohjelmakoodeja.taustaapääsetmuokkaamaan klikkaamallapienoiskuvaataustastahahmo4valikossa. Taustanohjelmakoodeillavoitmuokatataustaa,joko jatkuvastitaisiihenvoivatvaikuttaaesimerkiksi hahmojensijaintienperusteellatainäppäin4ja hiirikomentojenavulla. Samoinkuinhahmoille,taustallekinvoidaanluoda uusiaasuja.nämäasuttoimivatsamoinkuinhahmojen asut,eliniitävoidaanohjelmanajonedetessävaihtaa. Scratch4ohjelmointiperustuuerilaisiinhahmoihin. Hahmojavoiluodayhteenohjelmaanuseitajane toimivatoletuksenatoisistaanriippumatta.hahmot voivatmyöskommunikoidakeskenääntaimuutoin vaikuttaatoisiinsa. Hahmojavoiliikuttaajaniidenulkoasuavoi muokata.myöstaustaavoimuokatajasillevoi luodatoiminnallisuuksia.

7 Toistorakenteet Oppimistavoitetämänkappaleenosaltaonosoittaa, kuinkaohjelmanrakenteitavoitoistaamuutenkin kuinkopioimalla.tähäntarkoitukseenesitetäänkaksi erilaistatoistorakennetta,for4jawhile4rakenteet. Oppimistavoitteenaonymmärtää,milloinfor4 rakennettatuleekäyttääjamillointaaswhile4rakenne onoikea.tämäntakiakannattaavalitatehtäviäsiten, ettänepakottavatpohtimaanjatekemäänvalintoja näidenkahdenrakenteenvälillä. Joskustarvitsemmeuseankopionsamastapaperista.Sen sijaan,ettäpainammekopiointinappulaahyvinmonta kertaakerrommekopiokoneelle,ettätarvitsemmenäin montakopiota.ohjelmointikielissäkinonjoskustarpeen toistaatiettyärakennetta,jatämäntakiakielissäon yleisestitoistorakenteita. Ensimmäinentoistorakenne,jotakutsutaan.for2 rakenteeksi,toimiiitilanteessa,jossatiedätetukäteen kuinkamontakertaatoistontuleetapahtua.scratch4 ympäristössärakennelöytyycontrol4valikonaltarepeat4 rakenteena.rakenteellekerrotaan,kuinkamontakertaa toistontulisitapahtua. Sivussaonselvästitoistettutiettyä rakennettauseammankerran.tämän takiasevoidaanilmaista yksinkertaisemminkäyttäenfor4 rakennetta. = Toistorakenteenkäyttöselkeyttääselvästiohjelman koodia.koodionlyhyempijailmaiseeselkeämminmitäse tekeeverrattunaoikeanpuoleiseenesimerkkiin. Tehtävä:&Kissa&syö&kissanminttua,&mutta&voi&pahoin&tämän& jälkeen.&pahoinvoivana&kissa&vaihtaa&väriään&kymmenen& kertaa.& Koskatiedetäänetukäteenvarmasti,kuinkamontatoistoa tuleetapahtumaan,for4rakenneonoikeavälinetämän ongelmanratkaisemiseksi:

8 Josetetukäteentiedä,kuinkamontakertaarakennetta tulisitoistaa,tarvitsemmeerilaisenrakenteen.tätä rakennettakutsutaanwhile2rakenteeksi.scratchissä while4rakennelöytyycontrol4valikostakomentona repeatuntil. While4rakenteensisälleasetetaantotuusarvonsaava ehto.totuusarvoistaolennaistaon,ettäseonkaikissa tilanteissajokotositaiepätosi.josseontosi,while4 rakenteensuoritustajatketaan,josseonepätosi jatketaanmuunohjelmansuoritusta.esimerkiksi Sensing4valikostalöytyytotuusarvojapalauttaviaehtoja. Esimerkiksisielläonpalikka,jokakertookoskeeko hahmoreunaavaiei.senarvosiisontosi,kunhahmo koskettaareunaajakunhahmoeikosketareunaa,sen arvoonepätosi. Tehtävä:&Tee&ohjelma,&jossa&kissa&liikkuu&kunnes&se&koskee& seinää.& Ohjelmansuoritustajatketaankunneskissakoskee seinään.etukäteeneitiedetä,kuinkamontaliikuttamista tähänvaaditaan,jonkatakiatarvitaanwhile4rakennetta. Tehtävä:&Kaksi&kissaa&rakastavat&toisiaan&ja&haluavat&olla& toistensa&kanssa& &valitettavasti&niiden&suunnistustaidot& ovat&heikot,&joten&he&vain&kääntyvät&ympäriinsä&ja&menevät& eteenpäin.&jos&he&pääsevät&toistensa&lähellä,&niin&he& pysähtyvät.& Nyttehtävässätarvitaankaksierihahmoa,mutta molemmilletuleesamanlainenkoodi.etukäteeneitiedetä kuinkakaukanakissatovat,jotentoistojenmäärääei tunneta.siksionsyytäkäyttääwhile4rakennetta.while4 rakenteenlopetusehtonaonse,ettätoistakissaa kosketetaan. Kolmaserikoistyyppitoistorakenteestaonloputontoisto. Käytännössätämäonwhile4rakennesellaisessa tapauksessa,jossaehtoonainatosi tällöintoistettavaa rakennettatoistetaankunnesohjelmansuoritus keskeytetään.scrath4ympäristössätätäkutsutaan forever4rakenteksi.huomaa,ettävoitkeskeyttää ohjelmansuorittamisenoikeanyläkulmanpunaisella kahdeksankulmiolla.

9 Tehtävä:&Kissa&vartioi&linnaa&ja&kiertää&sen&ympäri&puolen& minuutin&välein.& Tässätehtävässäyhdistetäänkaksierilaista toistorakennetta.sisempifor4rakennesiirtääkissaa linnanympärikuntaasulompitoistaatätäkiertoliikettä puolenminuutinvälein.tässätuleeollaerityisen tarkkaavainensiinä,mitkäelementitkuuluvatmihinkin toistorakenteeseen.ensiksikannattaaratkaistaosa4 ongelmana kierretäänlinnanympäri jatämänjälkeen ratkaistawhile4rakennettasenympärille. Ohjelmoinnissaonuseintarpeentoistaasamaa rakennettauseammankerran.leikkaa4liimaa4kopio ontokitehokaskeinotähän,muttajohtaalopulta vaikeastiylläpidettäviinohjelmiinjaturhaan toistoon.tämänvälttämiseksionolemassakaksieri rakennetta: For2rakenneontarkoitettukäytettäväksisilloinkun tiedetääntäsmälleen,kuinkamontakertaaasia halutaantoistaa. While2rakenneontarkoitettutilanteisiin,jossaei etukäteentiedetätoistokertojenmäärää. Toisinkuinfor4rakenne,while4rakennetarvitsee ainaehdonkuinkakauanrakennettatoistetaan. Tämäehtoontotuusarvo,eliainajokotositai epätosi.josseontosi,suoritustajatketaanjajosse onepätosi,suorituskeskeytetään.

10 Ehtorakenteet Kappaleenoppimistavoitteenaonymmärtää ehtolauseidenmerkitysohjelmoinnissa.oppilaanon havaittava,ettätietytsuorituksetovatvaihtoehtoisiatai netehdäänvaintietynehdontäyttyessä.tuleesiis ymmärtäätotuuslauseidenperusteetjavaihtoehtoiset suoritustavat. Arkielämässämmeuseinteemmepäätöksienehtojenavulla. Menemmetienylijosautojaeitule,muutoinodotamme, ettäautotohittavattien.tai,menemmeulosjoseisada, muutoinjäämmesisälle. Ohjelmoinnissaonuseintarpeenasettaaohjelmalleehtoja joidenmukaansetoimii.esimerkiksihahmonkoskettaessa reunaasesaatetaanhalutapalauttaatakaisinkeskelletai vaihtoehtoisestipysäyttäähahmonliike.tämätoteutetaan ehtolauseilla. Ehtorakenteetovattärkeäosaohjelmointia.Niidenavulla voidaanjaksottaaohjelmankulkuajajakaaohjelmankulku eriosiintilanteestariippuen.ehtorakenteetovatif4lauseja else4lause.scratchissaehtorakenteetlöytyvätcontrol4 valikonalta. Tehtävä:&Kissa&haluaa&valvoa&näyttämöä.&Tee&ohjelma,& jolla&kissa&käy&mahdollisimman&suuren&alueen&kentästä& läpi.& Toistetaanloputtomastiseuraavaaohjetta:jos kosketetaanseinään,käännykymmenenastetta,muutoin liikukymmenenaskeltasuuntaan,jonneosoitan.näin kissakäyhitaasti,muttavarmastikokonäyttämönläpi. Ainaseinäntullessavastaansekääntyyjamuutoinse liikkuueteenpäin. Ehtolauseidenavullaohjelmansuoritustavoidaan jakaaosiin.osatsuoritetaanehtojentoteutuessa. If2lauseensisälläolevaosasuoritetaanif4lauseen ehdontoteutuessa,else2lauseensisälläolevaosa suoritetaanjosjavainjosif4lauseenehtoeitoteudu. If4lausevoiesiintyäjokoelse4lauseenkanssataiilman sitä.

11 Multimedia Tämäkappaleesittääperusteetäänenliittämisestä Scratch4ohjelmaan.Tavoiteon,ettätämänkappaleen myötäoppilasosaisiliittääyksinkertaisiaääniäosaksi ohjelmaansa.äänenliittämisenkauttaonmyös mahdollistasaavuttaauusiailmaisunmuotoja. Esimerkiksionmahdollistaäänittäärytmejätai tunnettujalaulujajaohjelmoidaniihinsopivaanimaatio. Tehtävä:&Kun&kissa&törmää&seinään,&niin&sitä&sattuu&ja&se& sanoo&mau.& Ehtolauseensisällelaitetaannytkomento,jokatoistaaääntä. Maailmammehavainnotperustuvatuseisiinerilaisiin aisteihin.esimerkiksitelevisio4ohjelmissaäänionvähintään yhtätärkeäosakokemustakuinnäköaistiinperustuva kokemus.myöstietokonepeleissäsekäyhäenemmän muissakinohjelmissamusiikkijaäänetovatkeskeinenosa käyttökokemusta. MyösScratchissäonmahdollistaliittääääniätapahtumiin. TämätapahtuuSound4valikonkautta.Yksinkertaisimmillaan äänentoistaminenonvalmiiksiannetunäänitiedoston toistamista.oppilasvoimyösnauhoittaaomanäänensä tähänvalitsemallarecordsoitettavienäänienvalikoimasta. Matalammantasonäänenkäsittelystäesimerkkinätoimii seuraavamusiikkiesitys.kunvihreäälippuapainetaan,niin toistuuyksinkertainenrytmi. Onmyösmahdollistatehdäyksinkertaisempiayksittäisistä äänistäkoostuviasoitoksia.tähänauttavatyksittäisten tahtiensoittamiseentarkoitetutkomennot Audiovisuaalinenkokemusvoiollamielekäsjaparantaa ohjelmankäytettävyyttäjakäyttökokemusta.scratchissä voisoittaaääntäkahdellaeritavalla:korkeallatasolla suoraanäänitiedostojenkauttataimatalammallatasolla yksittäisiänuottejakäyttäen.

12 Muuttujat Kappaleenkannaltatärkeintäon,ettäoppilasymmärtää muuttujienkäsitteen.lisäksitavoitteenaonoppia käyttämäänmuuttujiajasoveltaaniitäerilaisissa tilanteissa.käyttösisältäämyösoperaatiot,joita muuttujillevoidaantehdä.lisäksiharjoitellaanlistojen käyttöä Koskamuuttujatovatvarattujamuistipaikkoja,einiille kerranannettuarvoolelopullinenvaanmuistipaikassa olevaarvovoidaankorvatauudella.näinvoidaanluoda esimerkiksilaskureita.muuttujallavoiollavainyksi arvokerrallaan.mikälivanhaaarvoamuutetaantai siihensijoitetaanuusiarvo, korvautuuvanhaarvouudella. 3 Useinohjelmoinnissatuleetarvetallentaatietoaohjelman käyttöön,esimerkiksipisteenlaskuavarten. Ohjelmoinnissatämäontoteutettumuuttujienavulla. Muuttujatovattietokoneenmuististavarattuja muistipaikkoja,joihinpäästääntämännimenkautta. Niihinvoidaantallentaaniinsanojakuinlukujakin. Koskamuuttujatovattiettyjämuistipaikkojatietokoneen muistissa,onjokainenmuuttujanimettävä.näintietokone tietää,minkämuuttujanarvoahalutaankäyttää.tästä syystäkahdellamuuttujallaeivoiollasamaanimeä,sillä muutentietokoneeitietäisi,kumpaamuuttujaaon käytettävä.muuttujatkannattaanimetämuuttujien käyttötarkoituksiakuvaaviksi.esimerkiksijosmuuttuja kuvaayhteenlaskunvastausta,onsejärkeväänimetä summaksieikäesimerkiksimaksalaatikoksi.kun muuttujienmääräkasvaa,onjärjettömästinimettyjen muuttujienhallitseminenhyvinvaikeaajavirhealtista. Muuttujan&nimi&ja&muuttujan&arvo& ovat&kaksi&eri&asiaa.muuttujan nimeäeivoimuuttaasenluomisen jälkeen.muuttujanarvosensijaan tarkoittaalukuataisanaa,jonka muuttujasisältää.viereisessä koodissamuuttujan variable arvoksiasetetaan5.tämänjälkeen ohjelmaakäsketään sanoa variable.kunohjelma ajetaan,kissasanoo5eikä variable,sillämuuttujanarvoon5. 5 8 9

13 ScratchissamuuttujaluodaanVariables4valikosta löytyvästämake&a&variable4painikkeesta.muuttujalleon annettavanimi,minkäjälkeenseilmestyyvalikkoon. Muuttujaanimetessävoitvalitavoivatkomuuttujaa käyttääkaikkihahmotvaivainsillähetkellävalittuhahmo. Muuttujanluonninjälkeensenäkyymyösnäyttämön ylälaidassa. Muuttujalleasetetaanarvolisäämälläohjelmaanset&to4 palikka.keskelläolevastavalikostavoitvalitamuuttujan, jonkaarvoamuutetaan.muuttujanarvoavoidaanmuuttaa montakertaa,jolloinviimeisinmuutosjäävoimaan. Muuttujanarvoavoidaanmuuttaamyösniin,ettäsen arvoakasvatetaantaipienennetääntietynverran.tähän käytetäänchange&by4palikkaa.tämäonkätevääsilloin, kunmuuttujanarvoamuutetaanusein,eikämuuttujan arvoatiedetätaisitähalutaasettaatiettyynarvoon esimerkiksilaskureissa. Tehtävä:&Kissa&kehrää&kun&sitä&silittää&välilyöntiä& painamalla).&kun&kissaa&on&silittänyt&kymmenen&kertaa,&se& menee&nukkumaan.&&nukuttuaan&kissa&on&taas&valmis& kehräämään.& & Tehtävässäpitäälaskea,montakokertaavälilyöntiäon painettu.tätävartenluodaanmuuttujakehräys,joka kasvaayhdelläaina,kunvälilyöntiäpainetaan.kun välilyöntiäonpainettu10kertaa elikunmuuttujan kehräysarvoonkymmenen4kissameneenukkumaan.

Listat Joskusohjelmoinnissatuleetarvetallentaauseitaarvoja, jotkaliittyvätsamaanasiaan.tällöineiolejärkeväätehdä useitamuuttujia,silläniitävoitaisiinjoutualuomaan useitakymmeniä.tämäonratkaistuohjelmoinnissa listojenavulla.esimerkiksivoiollasamaanasiaan liittyviäkäyttäjänvastauksia.tällöinsensijaan,ettäniistä tehtäisiinjokaisestaomamuuttujansa,onmielekkäämpää, ettäneovatyhdessälistassa. Listoissatietoalaitetaanperäkkäin.Niitävoiajatella jonoina,joissajokaisellaalkiollaonjärjestysnumero. Numerointialkaaykkösestäjajatkuualkioidenmäärän verran.mikälilistaonviidenalkionpituinen,eilistan kohtaan15voilisätämitään,vaanseaiheuttaavirheen, jokailmeneeskriptinpunaisenaympäröintinä. Listaanvoidaanlisätäalkioadd&& palikalla.tällöin lisättyasiameneelistanperällejalistankokokasvaa yhdellä.listaanvoilisätänumeroita,merkkijonojaja muuttujia. Kutenmuuttujia,myöslistanalkioidenarvojavoi muuttaareplace&item4palikanavulla.tällöinalkion vanhaarvokorvataanuudella. 14 ListaluodaanVariables4valikostalöytyvästäMake&a&list4 painikkeesta.listalleonannettavanimi,minkäjälkeense ilmestyyvalikkoon.listaanimetessävoivalitavoivatko listaakäyttääkaikkispritetvaivainsillähetkellävalittu. Listanluonninjälkeensenäkyystagenylälaidassa. Alkiotavoidaanmyöspoistaalistasta.Tällöinvalittu alkiopoistetaanjakaikkiensenallaolevienalkioiden järjestyslukupieneneeyhdellä,jolloinmyöslistan pituuspieneneeyhdellä. Myöslistankeskellevoilisätäuudenalkion.Tällöin valittuunkohtaansijoitetaanuusihaluttuarvoja kaikkiensenalapuolellaolevienalkioiden järjestyslukukasvaayhdellä,jolloinmyöslistanpituus kasvaayhdellä.

15 Muuttujien ja listojen operaatiot Sellaisinaanmuuttujattoimivatlähinnätiedon säilyttämisessä.tilanneonsamanlainenkuinkirja,jonka voilukea,muttasaatuatietoaeivoisoveltaamihinkään. Mikälimuuttujiavoitaisiinkäyttäävaintiedon tallentamiseen,eilaskutoimitustensuorittaminenolisi mahdollista. Varsinuseatpelitvaativatesimerkiksiyhteenlaskua pisteidenlaskemiseen.tämäntakiaohjelmoinnissaon käytössäkaikkiperusmatemaattisetoperaatiot:yhteen4, vähennys,kerto4jajakolaskusekämoduloeli jakojäännös. Voitoperaattorienavullalaskeamuuttujienarvoilla peruslaskujaniinettätoinen,molemmattaiei kumpikaanluvuistaonmuuttuja.operaattorejavoi myösyhdistääkeskenään. Operators4valikosta&löytyymyöstoimintoja merkkijonojenyhdistämiseen,läpikäymiseensekä pituudenselvittämiseen. Joinyhdistääsilleannetutmerkkijonotyhdeksi merkkijonoksi.yhdistettymerkkijonoeitallennu mihinkäänautomaattisesti,vaansepitäämuistaa tallentaamuuttujaan. & Letter&n&ofpalauttaasilleannetunsanann:nen kirjaimenjalengthofpalauttaasilleannetunsanan pituuden. Tehtävä:&Kissa&on&kerännyt&kaupasta&ostettavat&asiat& listaan.&tee&ohjelma,&jolla&kissa&kertaa,&mitä&hän&aikoo& ostaa&kaupasta.& Koskalistassaonuseitaalkioita,joillekaikille halutaantehdäsamatoiminto,kannattaakäyttää toistorakennetta. Koskalistanpituuseiolevakiokäytetääntoistojen määränälength&of4palikkaa,jokapalauttaalistan pituuden.näinjokainenlistanalkiokäydäänkerran läpi.item&of& palikkapalauttaaalkionarvon,tässä tapauksessasanotaanainaalkiokohdassai,joka kasvaajokaisellatoistokerrallayhdellä. Tämänlisäksimuuttujillatoimivatpienempääkuin, suurempaakuinjayhtäsuurtakuinoperaatio,joihin tutustutaanseuraavassaluvussa. LisäksiScratchissaonpalikka,jokasisältää monimutkaisempiamatemaattisiaoperaatioita,kuten sini,tangentti,neliöjuurijalogaritmi.roundpyöristää silleannetunluvunnormaalienpyöristyssääntöjen mukaan.nelöytyvätoperators4valikonalta.

Muuttujatmahdollistavatmonimutkaisteohjelmien tekemisen.muuttujinpystytääntallentamaanohjelma tilaajaniitäpystytäänmuuttamaanohjelman suorituksenaikana. Muuttujiaonkahdenlaisia:yksittäisiämuuttujiaja muuttujienkokonaisuuksia,listoja. Muuttujillevoidaansuorittaaperusoperaatioita,kuten yhteen44javähennyslaskuataisanastatutkia,mikäon senn:nneskirjain. 16

Loogiset operaatiot Kappaleessakäsitelläänloogisiaehtolausekkeita, kutenpienempääkuinjayhtäsuuri.lisäksi käsitelläänloogistenehtolausekkeidenyhdistämistä operaattoreillajalauseidenkäyttöäohjelmoinnissa. Loogisetoperaattoritsaattavatkuulostaavierailta, vaikkatodellisuudessaniitäkäytetäänjokapäivä. Tekemisellesaatetaanasettaauseitatoisistaan riippumattomiaehtojakäyttäensanojaja,taijaei. Esimerkiksi Lähdenillallaelokuviinjossaan siivottuajatehtyäläksyt.jokuvoisikuitenkinlähteä elokuviinjokunonjokosiivottutaitehtyläksyt.myös ohjelmoinnissaontarpeellistaasettaajoidenkin koodinpätkiensuorittamiselleehtoja,joihinliittyy useampiamuuttujia. Ohjelmoinnissaonuseintarpeellistavertaillaasioita jatehdäasioitavain,jostiettyehtotäyttyy.useinyksi ehtoeikuitenkaanriitähalutunlopputuloksen saamiseksitairiittääettätoinenehdoistatäyttyy. Esimerkiksihalutaan,ettähahmokääntyy,mikälisekoskee vaaleanpunaistareunaa.liikkumisensuorittamiseksitarvitaansiis kaksiehtoa.ohjelmanvoisitoteuttaalaittamallakaksiif4lausetta sisäkkäin,muttakunehtojenmääräkasvaatulisikoodista vaikealukuistajakoodikasvaahuomattavasti. Tämäongelmavoidaanratkaistaloogistenoperaattorienavulla. Niillävoidaanyhdistääjavertaillaerillisiäehtojajamuodostaaniistä kokonaisuus,jollaonvainyksitotuusarvo.kunehdoistamuodostuu yksitotuusarvo,voidaanselaittaasellaisenaanesimerkiksiif4 lauseenehdoksi.allaand4operaattoriakäyttävätoteutusyllä olevastaif4lause4hirviöstä. 17 Loogistenoperaattorienavullavoidaanmuodostaa kokonaisuuksia,jotkakoostuvatpienemmistäosista, lausekkeista.lausekkeetvoivatollamuuttujia,niiden arvontutkimista,hahmoihinliittyviätotuuksiatai muitaloogistenoperaattoreidenavullamuodostettuja lauseita.muodostuneetkokonaisuudetvoivatsiis toimiamyöslausekkeina. Scratchistalöytyykuusierilaistaloogistaoperaattoria: Yhtäsuurikuin Pienempääkuin Suurempaakuin Ei Tai Ja

18 Pienempääkuin,suurempaakuinjayhtäsuurtakuinovat monellevarmastiennestääntuttujaala4asteen matematiikasta.ohjelmoinnissavertailuoperaattorit toimivatsamallatavalla. Allaolevassataulukossaonesimerkkivertailujajaniiden palauttamattotuusarvot.yleensävertailuoperaattoreja käytettäessäainakintoinenvertailtavistaonmuuttuja, jonkaarvomuuttuuohjelmansuorituksenaikana. Ei4operaattorinarvoonsensisällelaitetunlausekkeen totuusarvonvasta4arvon.elimikälisisällelaitettulauseke ontosi,onlauseentotuusarvoepätosijapäinvastoin. A. not.a. Tosi Epätosi Epätosi Tosi 2<5 Tosi 5>9 Epätosi 4=2 Epätosi 3=3 Tosi 5<muuttuja Riippuumuuttujanarvosta And4operaattorijaor4operaattorieivättodennäköisesti oleennestääntuttuja,muttaniidentoimintaonhelppo ymmärtää. And4operaattorion tosi,mikälimolemmatvertailtavat lauseetovattosia. Or4operaattorion tosi,mikälivähintääntoinen vertailtavistalauseistaontosi.tosipalautetaansiismyös, kunmolemmatlausekkeetovattosia. A. B. A.and.B. A.or.B. Tosi Tosi Tosi Tosi Tosi Epätosi Epätosi Tosi Epätosi Tosi Epätosi Tosi Epätosi Epätosi Epätosi Epätosi Kutenalussamainittiin,loogisiaoperaattorejakäytetään useinehtolauseidentaitoistorakenteidenehtoina. If4lauseidentoistamisensijastakäytetäänand4orsekänot, mikäliehtojaonuseampia.näinvältetäänturhaatoistoaja selvennetäänohjelmantoimintaa.

19 Tehtävä& Kissa&haluaisi&pelata&lautapeliä.&Hän&ei&voi&kuitenkaan&pelata&sitä& yksin,&joten&hän&tarvitsee&molemmat&lähellä&asuvat&ystävänsä&miisun& ja&monnin.&kissan&ystävät&ovat&arvaamattomalla&tuulella&ja&heidän& vastauksensa&vaihtelevat.&kissan&onkin&suostuteltava&molemmat& kaverinsa&pelaamaan&kanssaan. Tehtävässäonkaksimuuttujaa,MiisunsuostuminenjaMonnin suostuminen,kunmolemmatmuuttujatovattosia,voidaan lautapeliäalkaapelata.miisunjamonninmuuttuvatmielipiteet saadaanaikaanrandom4luvunavulla. Mikälirandomonväliltä143vastausonmyönteinenjaväliltä4410 kielteinen.kissanystävätasuvatvastakkaisillapuolilla,joten kysyäkseenkissanonjuostavanäyttämöäedestakaisin. MonnillajaMiisullaonmolemmillaomatskriptinsä,jonkaavullane vastaavatkissalle,neovatmuuttujannimiälukuunottamatta samanlaisia.kissallapitääollaskriptiliikkumiseenjamiisunja Monninmielipiteenseuraamiseen. Loogisetoperaattorittarjoavatmahdollisuudenvertaillaja muodostaaehtolauseitamuuttujienarvoihinliittyen.%loogisia% operaattoreitaovatpienempääkuin,suurempaakuinjayhtäsuuri kuin,jotkamahdollistavatarvojenvertailun. Lisäksi&loogiset&operaatiot&ja,&tai&sekä&ei&mahdollistavat& täsmennetyntoiminnanloogisienlauseidenosalta.esimerkiksi pienempää'tai!yhtäsuurta)kuin)kolme)muodostuu)kahdesta)eri) lauseesta:pienempääkuinsekäyhtäsuurtakuin.

20 Kynä Luvunoppimistavoiteonoppiakäyttämään suorempaapiirtotoiminnallisuutta.piirtäminen tapahtuuhahmonliikutuksenavulla, määrittelemälläerikseenollaankonytpiirtotilassa vaiei. Sellaisenaanpiirto4toiminnallisuudensovellukset ovatvarsinvähäisiä..sekuitenkinmahdollistaa aiemminopittujentoisto4jaehtorakenteiden käytönuudellatavalla,minkätakiatätäosuutta voikinkäyttäähyvinaiemminopittujenkäsitteden kertaamiseen. Piirretäänsuoraviiva käyttäenscractchiä. Ensiksiasetetaanviivalle värijakoko,tämän jälkeenliikkuessaan hahmonperässäon sininenviiva. Tähänmennessäolemmekäyttäneetleimasinta, valmiitakuvioitajoitaliikkuvat.kuitenkinscratch tarjoaamahdollisuudenyksityiskohtaisempaanja tarkempaanpiirtämiseenpen4valikonkautta.kynän kokoajaväriävoimuuttaa: Kynäseuraaainahahmoa.Kynävoiollamyösirti piirtopinnastataikiinnisiinä.piirtopinnassakiinni ollessaansepiirtää,irtiollessaaneipiirrä. Nytpiirretään sisäkkäisiäisoja ympyröitä,joidenväri vaihtuu.huomaa,että koonvaihtamiseenarvo voiollamyös negatiivinen.

21 Piirretäänkatkoviiva.Nytajatuson,ettäjokatoisella askeleellakynäotetaanirtipinnastajaaskelotetaan jonkajälkeenkynälaitetaantakaisinpinnalle.huomaa kuinkamuuttujaaonkäytettylaskemaanaskelmäärää. Scratchissäonmahdollistapiirtääpinnallesuoraan käyttäenkynä4toiminnallisuutta.kynällevoimäärittää senkoonjavärin. Kynäpiirtääsilloinkunseonkiinnipinnassajaeipiirrä kunseeiolekiinnipinnassa.

22 Tapahtumapohjainen ohjelmointi Tässäkappaleessatarkoitusonoppiamuodostamaan riippuvuussuhteitaohjelmienvälillä. Riippuvuussuhteidenmuodostaminenhelpottaa ohjelmienluomistajaylläpitämistä.lisäksise mahdollistaauudetinteraktiivisetmuodot. Keskeinenopetettavaajattelutapaonsignaalinja slotinkäyttötapahtumienabstraktoimisessa.tavoite on,ettäoppilasosaakappaleenlopussaaiheuttaa tapahtumansignaalillajaottaatapahtumanvastaan jonkuntoisenhahmotslot4rakenteella. Useinarkielämässäensimmäinentapahtumaaiheuttaa toisentapahtuman.esimerkiksiihminenylittääautotien kunhänhuomaavalonolevanvihreä.tarkemminsiis, vihreävaloaiheuttaasen,ettäihminenylittäätien, muutoinhänolisivainpysähtyneenä. Monimutkaistenohjelmientapauksessasaatetaanpäätyä samanlaiseentilanteeseen:jokutoimintoaiheuttaajotain muutatapahtuvaksiohjelmassa.esimerkiksitallenna4 napinpainaminenaiheuttaaohjelmantallentamisen. Kutsummetätätapahtumapohjaiseksiohjelmoinniksi. Yksinkertaisimmattapauksettapahtumapohjaisesta ohjelmoinnistaonjoesitettyaiemmin.esimerkiksilipun painaminenjavälilyöntiovattapahtumaanperustuvia toimintoja.kunlippuapainetaan,niinsuoritetaansiihen liittyväohjelma.kunvälilyöntiäpainetaan,niin suoritetaansiihenliittyväohjelma. Kutsummeaiheuttavaatapahtumaasignaali4termilläja tapatumastaaiheutuvaarakennettaslot4termillä. Esimerkissäsignaalejaolisivatlipuntaivälilyönnin painaminenjaslotolisiscratchissätähänsignaaliin kytkettykoodi. Nämätokiolivatyksinkertaisiaesimerkkejä, mielenkiintoisempaaonkunhahmotvoivatviestiä keskenään.tämätapahtuulähettämälläsignaalija kirjottamallasenvastaanottavaslot.nämälöytyvät Control4valikosta. broadcast komentolähettääsignaalin. Signaalilletuleevalitanimi,jollasetunnistetaan. Vastaavastion whenireceive onslot4komento,johon liitetäänslottiinkuuluvatoiminto.

23 Tehtävä:&Kaksi&kissaa&pelaavat&hippaa.&Aina&kun&kissa&saa& toisen&kissan&kiinni,&niin&kiinni&saatu&kissa&sanoo& Hippa. & & Esimerkissätoinenkissaetsiikissaajakunsesaakissan kiinni,niinlähettääviestin hippa.toinenkissaottaatämän viestinvastaanjasanoo Olenhippa. Onoikeastaanolemassakahdenlaisiasignaaleja,synkroonisiaja asynkroonisia.asynkrooniset.signaaliteivätkeskeytä ohjelmansuoritustaslotinkäsittelynajaksi,kuntaas synkrooniset.singaalitodottavatettäslotsaadaansuoritettua jajatkavatsittensuoritusta. Vasemmanpuoleinenkoodionasynkrooninensuoritus,eli Hmmm tulostuunäytöllehetikuntaasoikeanpuoleisessa koodissatulostusodottaa,ettäjotaintapahtuu4slotonsaatu käsiteltyä. Tehtävä:&Kissat&pelaavat&viestiä,&jossa&seuraava&kissa&saa& juosta&vasta&kun&edellinen&kissa&on&päässyt&perille.& Koskaemmeetukäteentiedä,kauankokissallamenee juoksemiseen,niinjoudutaankäyttämään tapahtumapohjaistaohjelmointia. Ohjelmoinnissaontarpeenjoskusesittää seuraussuhteitahahmojenvälillä.tätämekaniikkaa kutsutaansignaaliksijaslotiksi. Signaalilähettääviestin.ViestionScratch4kielessäsiis vainjokuilmiötäkuvaavasanatailause. Slotottaaviestinvastaan.Slot4osuuteenkytketän,mitä hahmossatulisitapahtuasignaalinvastaanottamisen jälkeen.

24 Seuraavaksi Tämämateriaalionollutpintapuoleinenjohdanto Scratch4ympäristöönjaohjelmoinninperusteisiin.MIT4 yliopistonkehittämäscratch4ympäristöonollut laajemminkäytössäuseissakouluissa,jasilleoneritoten englanniksisaatavillavalmiitamateriaaleja. Suosittelemmetutustumaanmyösnäihin,huomattavasti kattavempiin,materiaaleihinsekäscratch4verkkosivuilla esiteltyihinprojekteihin.myösscratchinympärillä tapahtuujatkuvastitutkimustyötä,jokavoiolla mielekästäseurata. KuitenkinsellaisenaanScratchsopiiinnostuksen herättämiseenjaperusteidenopiskeluun.kuitenkaansillä eivoitehdävarsinaisiatietokoneohjelmia.seuraavana askeleenaohjelmoinninsarallakannattaasiirtyäyleisesti käytettihinohjelmointikieliin,vaikkaniissäscratchin visuaalinenilmaisupuuttuukin. HyväaloittelijakielionesimerkiksiPython.Pythonon yksinkertainen,muttasiltiilmaisukykyinen ohjelmointikieli.siitäonsaatupositiivisiakokemuksia ainakinyläasteelaistenparissa,jauseissasuomalaisissa korkeakouluissapythononensimäinenopetuskieli.sitä käytetäänopetuksenlisäksikaupallisissasovelluksissa esimerkiksigooglella.kuitenkin,alaluokkalaisillepython4 ohjelmointivoiollakovinhaastavaa,jotensevoiolla sopivampijokerranscratchiäharjoiteilletaiyläasteen kynnykselläoleville. Pythononyleisyytensätakiamelkohyvindokumentoitu. Varsinkinenglanniksimateriaaliaonrunsaastisaatavilla, muttamyössuomeksionhyviäkirjojasekänettioppaita. Scratch2resursseja. http://scratched.media.mit.edu/ http://scratch.mit.edu/ Ohjelmoinnin.opetuksesta.yleisesti. http://www.imped.fi/ Python2kielestä. https://www.doria.fi/handle/10024/63381

25 ettäoppilaatitseideoivatjatoteuttavatloppuunjonkun yksinkertaisenprojektin4esimerkiksipelin4meidän ollessavainapunavaikeidenosiensuorituksessa. Projektijaksoonauttanutoppilaitatoteuttamaanomia ideoitaanjakäyttämääntietotekniikkaavälineenäomien toiveidentoteuttamiseen.lisäksiseonmahdollistanut hyvinkertaamisenopituistasisällöistä.lopputyötvoitoki laittaaesillekokokoululleesimerkiksijulisteiden muodossa. Onneaohjelmointikerhonkanssa, Matti,&Noora&ja&Nyyti&sekä&muut&ohjelmointikerhon& pitämiseen&osallistuneet Kuulemmemielellämme,mitenmateriaaliavoisikehittää. Lisäksihaluaisimmekuulla,mitähyötyätästä materiaalistaonollutkoulunopetustyössäkäytännössä. Meidättavoitatparhaitensähköpostitse scratch.kerho@gmail.com Oppilaatolivatinnostuneitaohjelmoinnistajaolisivat halunneettoteuttaahaastavampiaohjelmiakuinscratchillaon mahdollista.oppilaattekivättehtäviäeritahtiin,mikä kannattaahuomioidakerhoasuunniteltaessa.oppilaatmyös sisäistivätasioitaomaantahtiinsa,toiseteivättarvinneet kertaustaviimeviikonasioista,kuntaastoisetkysyivätapua jokaisessatehtävässä.saattaakinollahyödyllistä,joskerhossa onpaikallauseampiaopettajiavarsinkinjosryhmänkokoon kymmentäsuurempi. Ohjelmoinnissaeiainaoleyhtäjaoikeaatapaatehdäasioita, mikänäkyymyösoppilaidentehtävienratkaisuissa.vaikka oppilaidenratkaisuteivätolisikaanhyviä,kannattaaoppilaiden luovuuttatukeajaantaaheidäntoteuttaaomiaideoitaan.näin oppilaatrohkaistuvattekemäänjakertomaanomistakotona tekemistäänprojekteista. Lisäksikaikkienohjelmienkohdallakannattaakeskustella, miksitoisetratkaisutovatparempiakuintoiset,sekäperustella mitentässäongelmassapäädyttiintähänratkaisuun.muista, ettäohjelmoinnissaepäonnistuminenkinvoiolla oppimiskokemus. Uskommemyös,ettäohjelmointikerhotparantavat ongelmanratkaisukykyäjamatemaattistapäättelykykyä.myös omatpienimuotoisettestimmesekämuuaihepiiriäsivuava tutkimusosoittavatvihjaavattähänsuuntaan.tämävoiolla piilotavoite,jotaeitietenkäänerikseentarvitsemainita oppilaille,muttasitävoidaankäyttääapunakerhontoiminnan perustelussa. Olemmejoillainpitämillämmekerhoillalopussavarsinaisen opetuksensijaanpitäneetprojektityöjakson.tällöinideaon, Kokemuksiamme

26 Sanasto Costume.kuvaayksittäisenhahmonkulloistaulkonäkö. For2rakenne.Toistorakenne,jossatoistojenmääräonmääritelty kokonaisluvulla.kts.toistorakenne. Forever2rakenne.Toistorakenne,jotatoistetaanloputtomasti.Kts. Toistorakenne. If2lause.Rakenne,jossaif4lauseensisälläolevakoodisuoritetaanvain,jos silleasetettuehtoontosi.kts.ehtolause Ehtolause.Rakenne,jokasisältääehtojatiettyjenkoodinpätkien suorittamiseen. Else.Elsensisälläolevakoodisuoritetaanvain,mikäliif4lauseenehtoei toteutunut Ja2operaattori.Palauttaatoden,mikälimolemmatehdotovattosia.Kts. Looginenoperaattori Kynä.onScratchinmatalantasonpiirtotoiminnallisuus.. Lista.Rakenne,jonkaavullavoittallentaamontamuuttujaasamaan paikkaan.kts.muuttuja Looginen.operaattori.Yhdistääuseitatotuusarvollisialausekkeita yhdeksitotuusarvoksi. Modulo.Jakojäännös.Esim5/2moduloon12*2=4ja544=1) Muuttuja.Tiettymuistipaikkatietokoneenmuistissa,johonviitataan muuttujannimellä.arvoavoimuuttaa. Ohjelma.Kokonaisuus,jonkakoodimuodostaa. Ohjelmointi.Komentojenkirjoittaminentietokoneelle,koodaus. Ohjelmointikieli.Formaalia,ihmiselleymmärrettäväksitehtyä konekieltä. Parametri.Tarkennejokaannetaanjollekintoiminnolle.Esim. Yhteenlaskussa3+5,3ja5ovatyhteenlaskunparametreja. Projekti.Kokonaisuus,jossaovatkaikkisamaanasiaanliittyvätkoodit. Signaali.Lähettääviestin.Kts.Tapahtumapohjainenohjelmointi. Skripti.Lyhytsuoritettavakoodinpätkä. Sprite/hahmo.Hahmo,jolleskriptejävoidaanluoda. Slotottaavastaanviestin.Kts.Tapahtumapohjainenohjelmointi. Stage/Tausta.Oikeassaylänurkassanäkyvälaatikko,jossaskriptien suoritusnäkyy. Tai2operaattori.Palauttaatoden,mikälivähintääntoinenehdoistaontosi. Kts.Looginenoperaattori Tapahtumapohjainen.ohjelmointi.mahdollistaahahmojenvälisen kommunikoinnin. Toistorakenne.Rakenne,jollatoistetaankoodinpätkää.Toiston määrä/ehtoriippuutoistorakenteesta. Totuusarvo.Kertoolauseenpaikkansapitävyyden,tositaiepätosi While2rakenne.Toistorakenne,jokatoistaaniinkauankunsilleannettu ehtoontosi.kts.toistorakenne.