Koodaustermistöä

Ohjelmoinnin osaaminen

Ohjelmoinnin osaamista ei voi kovin luotettavasti mitata esim. kokeilla, testeillä tai kirjoitustehtävillä. Kuten vaikkapa pyörällä ajo tai linnunpöntön rakentaminen, emme ehkä osaa selittää tai kirjoittaa kovin hyvin, kuinka sen teemme. Silti voimme osata sen hyvin, ja voimme näyttää osaamisemme parhaiten tekemällä. Tämän vuoksi ohjelmointityöt sekä ohjelmoinnin prosessit ovat hyviä osoituksia osaamisesta (ja samalla parhaita keinoja harjoittaa osaamista!), mutta työt ja prosessitkin ovat erilaisia ja tilannekohtaisia: yksi projekti harvoin kertoo koko osaamisesta.

Ohjelmoinnin osaamisessa on tärkeää, että osataan ohjelmoida tavoitteellisesti ja taloudellisesti. Hyvästä osaamisesta kertoo se, että aina uuden ongelman tai haasteen eteen tullessa se osataan ratkaista soveltamalla aiemmin opittuja tietoja ja taitoja, vaikka ongelma tai haaste olisikin uudenlainen. Tämän vuoksi on tärkeää harjoitella yleisen tason tietoja ja taitoja, kuten oppia käyttämään ohjelmoinin rakenteita ja soveltamaan hyviä ohjelmointikäytänteitä, joita voi käyttää aina uusissa tilanteissa.

Koodin perusrakenteet

Scratch-ohjelmoinnissa on tärkeää opetella ymmärtämään ja käyttämään tavoitteellisesti ohjelmoinnin rakenteita:

Rakenne Kuvaus Esimerkkejä

Sekvenssi tai käskysarja

Komentosarja, jossa tietokoneelle annetut komennot suoritetaan yksi kerrallaan määrätyssä järjestyksessä


Yksinkertaisen rumpukompin esittämisen sekvenssi:

Tapahtuma

Jokin tapahtuma (esim. näppäimistön syöte, toisesta prosessista lähtevä signaali) käynnistää uuden prosessin


Kun hahmoa klikataan tietokoneen hiirellä, niin se tekee jotakin:

Toistorakenne ("silmukka")

Komennon tai komentosarjan toistaminen määrättyyn pisteeseen asti tai ikuisesti


Toista-lohkon sisällä oleva sekvenssi eli käskysarja suoritetaan tietty määrä kertoja:


Ikuisesti-lohkon sisällä olevaa sekvenssiä eli käskysarjaa suoritetaan ikuisesti:

Alustaminen

Hahmojen ominaisuuksien asettaminen alkuarvoon ohjelmassa tapahtuvia mahdollisia muutoksia varten


Hahmon sijainti alustetaan tiettyihin koordinaatteihin mene-lohkolla, jotta hahmo lähtee liukumaan aina samasta paikasta vihreää lippua klikattaessa.

Hahmon asuste ja koko alustetaan vihreää lippua klikattaessa tietynlaisiksi.

Rinnakkaisuus tai samanaikaisuus

Eri prosesseja suoritetaan samanaikaisesti


Kaksi eri hahmoa tekevät jotain rinnakkain, koska molempien skriptit käynnistyvät yhtäaikaisesti:


Sama hahmo käynnistää kaksi skriptiä rinnakkain, koska sen molemmat skriptit käynnistyvät yhtäaikaisesti:

Ehtorakenne

Ohjelman suoritusjärjestyksen määrittäminen ehdon toteutumisen perusteella


Ehdon (turkoosi lohko) täyttymistä testataan: koskettaako hahmo toista hahmoa. Jos koskettaa, ehto täyttyy, joten ylemmät käskyt suoritetaan. Jos ei kosketa, ehto ei täyty, joten suoritetaan alemmat käskyt:

Koordinointi ja synkronointi

Peräkkäin suoritettavien käskyjen toiminnan ja rinnakkain suoritettavien skriptien samanaikaisuuden säätely


Ilman Odota-lohkoa käskyt suoritettaisiin peräkkäin niin nopeasti, ettei niiden suoritusta ehtisi edes nähdä.

Eri toimintoja voidaan synkronoida Odota kunnes -lohkolla. Skriptin suoritus pysähtyy tähän lohkoon odottamaan turkoosin ehdon täyttymistä.

Viestien lähettämisellä voidaan ilmoittaa esim. toiselle hahmolle, että nyt on sen aika tehdä jotain.

Operaattorit

Tuki matemaattisia ja loogisia ilmauksia varten.

Matemaattisilla operaattoreilla voi esimerkiksi suorittaa laskutoimituksia:


Loogisilla operaattoreilla voi esimerkiksi tehdä vertailuja:

Tieto eli data

Datan eli tietoarvojen varastoiminen, hakeminen ja päivittäminen.

Muuttujaan voi varastoida talteen jonkin tietyn tiedon kuten numeron tai tekstin. Arvoa voidaan sitten hakea ja käyttää tarvittaessa:


Listaan voi puolestaan varastoida useita eri tietoja:

Funktio

Luodaan ja nimetään tietynlainen komentosarja, jota voidaan käyttää aina uudelleen tarvittaessa.

Luodaan "Tee lohko" -toimintoa käyttäen komentosarja, jolla hahmo saadaan hyppäämään. Nimetään lohko hyppää-lohkoksi, jota voi käyttää tavallisesti skripteissä.

Peda.net käyttää vain välttämättömiä evästeitä istunnon ylläpitämiseen ja anonyymiin tekniseen tilastointiin. Peda.net ei koskaan käytä evästeitä markkinointiin tai kerää yksilöityjä tilastoja. Lisää tietoa evästeistä