torstai 31. lokakuuta 2013

Toinen tunti, akvaario

Toisella tunnilla oppilaat tiesivät mihin ovat ryhtymässä. Annoin tehtäväksi akvaarion, eli tarkoituksena on muokata esiintymislava akvaarioksi ja laittaa siihen uiskentelemaan kalahahmoja. Harjoitus on hyvin pitkälti sama kuin ensimmäiselläkin tunnilla, mutta nyt oppilaat pääsevät muokkaamaan hahmoja ja tekemään useampaa liikettä hahmoille.

Scratchissa on vedenalainen maisema, mutta taustaan voi käyttää myös mitä tahansa kuvahaussa löydettyä akvaarion kuvaa tai tietokoneen kameralla otettua kuvaa. Tässä esimerkissä käytän Scratchin omaa kuvaa.

Taustan muokkaukseen pääsee klikkaamalla "Esiintymislava"
Taustan voi piirtää itse, tuoda tiedostosta tai ottaa kameralla


























Käytän tässä esimerkissä Scratchin omaa "Underwater"-kuvaa














 Kissa ei kuulu akvaarioon vaan sinne pitäisi saada erilaisia vedeneläviä. Hahmon voi piirtää itse, ladata valmiita kuvia Scatchin kirjastosta tai jonkin hakupalvelun kuvahausta. Tässä esimerkissä lataan ensin Scratchin oman mustekalan.

Keskimmäisestä nappulasta saa valittua uuden hahmon valmiiden hahmojen kirjastosta
Lataan mustekalan ja lisään sille Asusteet-kohdasta toisen asusteen.

Pienennän hahmoa, jotta se mahtuu paremmin akvaarioon.


Itse skripti on hyvin samanlainen kuin ensimmäisen tunnin kissaesimerkki. Mustekala liikkuu 10 askelta, vaihtaa asustetta, odottaa 0,2 sekuntia ja toistaa saman uudelleen. Reunan lähellä se vaihtaa suuntaa. 

Liikkumista voi jalostaa suunnanvaihdoksilla. Nyt vihreää lippua klikattaessa mustekala kääntyy 5 astetta myötäpäivään, liikkuu 10 askelta, vaihtaa asustetta, odottaa, kääntyy 5 astetta vastapäivään, liikkuu 10 askelta, vaihtaa asustetta, odottaa ja vaihtaa suuntaa koskettaessaan reunaa.



 Akvaarioon tehdään lisää olentoja, itsepiirrettyjä ja ladattuja. Piirsin malliksi todella huonon, koska visuaalisuudella ei ole juurikaan merkitystä tämän kanssa.

Piirsin kalan

Uuden kalahahmon asuteissa kopioin ensimmäisen kalan ja klikkasin "Muokkaa"-nappulaa.

Nyt kalahahmon toisella asusteella pyrstö ja evä ovat hivenen eri asennoissa.
Skriptejä voi kopioida klikkaamalla hiiiren oikeaa nappia tai painamalla leimasin-nappia esiintymislavan päältä.

Siirsin skriptin kalahahmolle ja nyt se liikkuu samalla tavalla mustekalan kanssa. Aloituskohtaa ja aloitussuuntaa vaihtamalla akvaarion saa vähän elävämmän näköiseksi.
Lisäsin akvaarioon vielä ravun, joka liikkuu vain oikea-vasen suunnassa. Otin siis "Käänny"-komennot siitä pois.

Oppilaat lisäsivät akvaarioon aukeavia aarrearkkuja, sukeltajia, ja itsetekemiään kaloja. En rajoittanut tekemistä millään tavalla, joten asiattomuuksiakin ilmestyi jonkin verran. Koska asiattomuudet liikkuivat skripteillä ja olivat omalla tavallaan oivaltavia, en puuttunut niihinkään. Leikkikööt, jos oppivat samalla.

Esimerkkiakvaariotani voi käydä katsomassa täällä.


lauantai 26. lokakuuta 2013

Ensimmäinen tunti, kissan liikuttaminen ja animointi

En alustanut oppituntia mitenkään. Avasin ohjelman screenille ja esittelin kissan.
Ohjaus-kategoriasta löytää skriptien
aloitus- ja toistopalikat
Liike-kategoriasta löytyvät kissan
ohjaamiseen ja liikuttamiseen tarvittavat palikat


























Näytin oppilaille kategoriat ja lyhyen esimerkin palikoiden kasaamisesta.

Kun lippua klikataan kissa lähtee liikkeelle ja pomppaa reunasta.
Ulkonäkö-kategoriasta löytyy hahmon
ulkoasuun liittyviä palikoita













Kun kissa juoksee edestakaisin esiintymislavalla,
sitä voidaan ohjata myös muilla nappuloilla.
Tämä lyhyt ketju tekee kissan päälle ajatuskuplan
"Öööö..." kahdeksi sekunniksi, jonka jälkeen
se vaihtuu "EBIN"-huudoksi. (Tiedän, huonoa
teinihuumoria ja häpeämätöntä huomion keräämistä)




















Tämän erittäin lyhyen intron jälkeen annoin oppilaille vapaat kädet leikkiä ohjelmalla. Pääsimme käyttämään ohjelmaa vain yhden tunnin ajan tuona päivänä, mutta oppilaat tekivät hommia oikein tosissaan. Ensimmäisenä kysymyksenä tuli kissan kääntyminen väärinpäin. Eli, kun kissa pomppaa seinästä, se kääntyy päälaelleen. Keskeltä ylhäältä kissan vierestä löytyy kolme nappulaa. Ylimmästä kissa kiertyy kulkusuunnan mukaan, keskimmäisestä se kääntyy vain oikealle ja vasemmalle, alimmasta hahmo ei kierry laisinkaan.






Näytin hetken päästä hahmon animoinnin perusteet. Scratchin mukana tulee suuri määrä hahmoja, joista useimmilla on ainakin kaksi asentoa.

Scratch-kissan kaksi asentoa
Ohjelmaan voi lisätä ulkonäkö-kategoriasta asusteen vaihdon. Mukaan on pakko laittaa viive, sillä muuten kissa vaihtaa asentoa aivan liian nopeasti. Nyt vihreää lippua klikattaessa kissa lähtee kävelemään.

Ohjelma alkaa lippua klikatessa, kissa liikkuu 10 askelta, vaihtaa suuntaa, jos on reunan lähellä, odottaa 0,2 sekuntia, vaihtaa asentoa ja aloittaa kierron uudelleen kymmenellä askeleella.


Annoin oppilaiden leikkiä (käytin sanaa leikkiä, en maininnut ohjelmointia kertaakaan) ja tutkia ohjelmaa lopputunnin. Kukaan ei käyttänyt facebookia, nettimotoa tai mitään muutakaan niistä tavallisista sivuista mihin oppilaat tavallisesti yrittävät karata.

Tätä esimerkkiä voi käydä ihastelemassa täältä.

Sivustolta löytyy valtava määrä muidenkin tekemiä ohjelmia. "Konepellin alle" eli koodia pääsee kurkistamaan oikeasta yläkulmasta löytyvästä "See inside"-nappulasta.

perjantai 25. lokakuuta 2013

Perusasioita Scratchista

Scratchia voi käyttää selaimella tai sen voi ladata omalle koneelleen ohjelman kotisivulta.

Ohjelman lataaminen kestää pari minuuttia eikä siihen tarvita sen kummempia kommervenkkejä. Ohjelman käynnistyessä näkyviin tulee aloitusnäyttö.


Scratchin aloitusruutu

Erilaiset kategoriat, joista löytyvät ohjelmointiin tarvittavat "palikat".

Aloitushahmo on kissa, joka on sijoitettu keskelle ruutua (X:0 ja Y:0) ja suunta on oikealle (90°). Välilehdistä pääsee vaihtamaan kissan asentoa (asusteet) ja ääniä. Skriptit-välilehdelle ketjutetaan käskyjä ja siellä varsinainen ohjelmointi suoritetaan.

Tästä pääsee vaikuttamaan taustakuvaan ja näytössä esiintyviin hahmoihin.

Vihreällä lipulla saadaan ohjelma käyntiin, ylempänä olevista vaihtoehdoista saadaan kolme erilaista työalustaa.

keskiviikko 23. lokakuuta 2013

ATK-opetus yläkoulussa ja miksi halusin ryhtyä opettamaan ohjelmointia

Yläkoulun ATK-opetuksen ("automaattinen tietojenkäsittely" :D) sisältö on täysin opettajien hallittavissa. Tietokoneista kiinnostuneet opettajat opettavat enemmän ja vähemmän kiinnostuneet opettavat vähemmän. Kirjoja tai opetussuunnitelmia ei ole. Olen kuullut kauhutarinoita koko lukuvuoden kestävästä kymmensormijärjestelmän harjoittelusta tai jokaviikkoisesta kaksoisvapaatunnista, jolloin voi facebookittaa ihan luvan kanssa. Jotkut opettajat ovat käyttäneet puoli vuotta opetusaikaa kotisivujen tekemiseen raakaa html-koodia käyttäen, vaikka se on hidasta ja tuloksena saatavat sivut ovat kaikkea muuta kuin nykyaikaisia ja harrastuneisuuteen rohkaisevia.

En ole ennen tätä lukuvuotta opettanut tietokoneiden käyttöä muutamia sijaisuuksia lukuunottamatta, mutta olen suunnitellut pitkään ATK-tunteja joilla itse viihtyisin. Nyt olen opettanut ilmaisohjelmien käyttöä ja googlen palveluita hyväksikäyttäen koulutöissä tarvittavia ohjelmia ja ryhmätöiden tekemistä verkon yli. Käsittelimme dropboxin toiminnan, open officen ohjelmat, youtuben videoiden käsittelyt ja videoiden, kuvien ja blogipostien tagaamisen tärkeyden. Purimme ja kasasimme tietokoneet ja yritin saada oppilaat ymmärtämään tietokoneen osien funktion. Olen opettanut tekijänoikeuslakia, nettiin liittyvää rikoslakia, olemme harjoitelleet tunnistamaan nettihuijareita ja pedofiileja. Arvioinnin pohjana pidän oppimispäiväkirjaa, jota luonnollisesti pidetään blogin muodossa.

Opettelin basic-ohjelmointia jo 2. luokalta alkaen ja minulle on sieltä saakka ollut erittäin helppo ymmärtää ohjelmoinnin logiikkaa ja toimintaperiaatetta. Nykyiset yläkoululaiset ovat syntyneet vuosina 1998-2000, eivätkä he ole välttämättä joutuneet/päässeet kirjoittamaan käskyjä koneilleen, eikä heillä ole kokemusta muusta kuin graafisesta käyttöliittymästä. Suunnittelin käyväni ohjelmoinnin perusteita läpi jotenkin, mutta toteutustapaa en ollut vielä valmiiksi päättänyt. Opettajien facebook-ryhmän (Tieto-ja viestintätekniikka opetuksessa) kautta törmäsin Scratch-ohjelmaan, jonka avulla ohjelmoinnin perusidea, logiikka ja "ajattelutapa" on erittäin helppo opettaa. Toivoakseni tuntini opettavat oppilaille ohjelmoinnin perusidean ja kenties tunnit laskevat kynnystä harrastua tietokoneiden hyötykäyttöön.

Käyn tässä blogissa läpi pitämäni tunnit, toivottavasti tästä blogista ja käyttämistäni esimerkeistä on apua jollekulle. Kommentoikaa posteja, mikäli teillä on parannusehdotuksia tai mikäli olette keksineet toisenlaisia esimerkkejä.