Tunnin tarkoituksena on näyttää leikin avulla miten järjestysalgoritmi voi toimia. Ohjeiden tulee tulla yksinkertaisina ja niitä seuraamalla tulee aina onnistua.
| Oppiaine | matematiikka, tietotekniikka |
| Pituus | 90 minuuttia (2 x 45 minuuttia) |
| Pedagoginen lähestymistapa | tekemällä oppiminen |
| Kompetenssit | algoritmit |
| Luokka-aste | 3.-6.lk |
| Teknologiat | ei teknologiaa |
Muut tarvittavat materiaalit
Useita hula-renkaita. Niitä on hyvä varata ainakin 12 kpl. Numerolappuja, joissa eri numerot. Numeroiden järjestyksellä tai suuruudella ei ole väliä. Tässä harjoituksessa tarvitaan paljon tilaa. Tunti kannattaa pitää liikuntasalissa tai vaikka ulkona.
Harjoituksen kohdekompetenssit
- Oppilaat oppivat mitä algoritmi tarkoittaa
- Oppilaat oppivat, että on olemassa erilaisia tapoja järjestää numeroita ja että se ei ole kovin helppoa, kun numeroiden määrä kasvaa.
- Oppilaat oppivat yksinkertaisia ohjelmointikielten periaatteita
- Oppilaat oppivat käyttämään ohjelmoinnin ehtolausetta käytännössä
Kuvaus
Valitaan leikkiin parillinen määrä oppilaita ja he nostavat numerolapun opettajan pussista. Oppilaat seuraavat ohjeita ja heidän tulisi olla harjoituksen lopussa numerojärjestyksessä.
Johdanto:
Oppilaille kerrotaan algoritmien periaatteesta (Liite 1) ja kuinka ne tiettyjä ohjeita noudattamalla tuottavat aina ratkaisun riippumatta millainen aineisto niille annetaan. Oppilaita voidaan muistuttaa ihmisrobotti-harjoituksesta ja heitä neuvotaan seuraamaan ohjeita tarkasti.
Harjoitus 1:
Opettaja näyttää ensin harjoituksen yhdellä parilla. Oppilaille annetaan numerolaput ja heidät laitetaan seisomaan vierekkäin. (kuva 1) Oppilaat astuvat eteenpäin hularenkaan sisälle ja renkaan sisällä numeroita saa verrata keskenään. Se, jolla on pienempi numero asettuu vasemmalle ja suuremman numeron pitäjä asettuu oikealle. Nyt oppilaat voivat astua eteenpäin ja heidät on järjestetty suuruusjärjestykseen.

Kuva 1: Pari asettuu vierekkäin ja astuu hula-renkaaseen. Renkaassa he vertailevat numeroitaan ja asettuvat niin, että pienempi numero on vasemmalla ja suurempi oikealla. Kun he astuvat ulos renkaasta, he ovat numerojärjestyksessä.
Harjoitus 2:
Seuraavaksi harjoitellaan neljällä oppilaalla. Toistetaan sama alkuasetelma, oppilaille annetaan numerolaput ja heidät laitetaan seisomaan vierekkäin. (kuva 2) Oppilaat astuvat eteenpäin hularenkaan sisälle pareittain ja renkaan sisällä numeroita saa verrata keskenään. Se, jolla on pienempi numero asettuu vasemmalle ja suuremman numeron pitäjä asettuu oikealle. Nyt oppilaat astuvatkin eteenpäin kuvan 2 osoittamalla tavalla ja vertaavat numeroitaan uudelleen. Nyt oppilaat voivat astua eteenpäin ja heidät on järjestetty suuruusjärjestykseen.
Keskustelu:
Kun harjoitusta on kokeiltu kunnes kaikki ovat päässeet olemaan osa algoritmia, pidetään keskustelutuokio. Montako vertailua tapahtui ensimmäisessä harjoituksessa? Entä toisessa? Montako vertailua tapahtuisi, jos mukana olisi kuusi oppilasta?

Kuva 2: Samalla idealla jatkamalla saadaan järjestettyä myös neljän oppilaan numerot.
Harjoitus 3:
Kokeillaan järjestämistä vielä kuuden hengen ryhmillä. Toistetaan taas sama alkuasetelma, oppilaille annetaan numerolaput ja heidät laitetaan seisomaan vierekkäin. (kuva 3) Oppilaat astuvat eteenpäin hularenkaan sisälle pareittain ja renkaan sisällä numeroita saa verrata keskenään. Se, jolla on pienempi numero asettuu vasemmalle ja suuremman numeron pitäjä asettuu oikealle. Nyt oppilaat astuvatkin eteenpäin kuvan 3 osoittamalla tavalla ja vertaavat numeroitaan uudelleen. Kun kaikki renkaat on ohjeiden mukaan menty läpi, oppilaat on taas laitettu järjestykseen.

Kuva 3: Järjestäminen onnistuu, mutta tarvittavien vertailujen määrä kasvaa nopeasti.
Loppukeskustelu:
Kun oppilaat ovat järjestäneet itseään riittävän monta kertaa, käydään läpi loppukeskustelu.
Apukysymyksiä: Voisiko tuolla tavalla järjestää 10 oppilasta? 100 oppilasta? Miljoona oppilasta? Miten vertailtavien numeroiden määrä kasvaa? (Tässä voi käyttää apuna ruutupaperia ja esittää vertailujen kasvun potenssin neliöiden lukumäärän kasvuna). Algoritmin tehokkuutta voidaan määrittää siten, kuinka monta vertailua sen tulee tehdä tietyn kokoista joukkoa kohden. Tämä harjoiteltu järjestämisalgoritmi on johdannainen “kuplalajittelusta”, joka on yksi tehottomimmista järjestämisalgoritmeista. Vaikka se on yksi tehottomimmista, se on helpoimpia ymmärtää.
Liite 1
Algoritmit ovat ohjejoukkoja, joita noudattamalla saadaan haluttu lopputulos. Se voi olla periaatteessa mikä tahansa ohje, vaikka perunannosto-ohje. Tavallisesti algoritmeista puhuttaessa tarkoitetaan jotain matemaattista ohjetta tai tietokoneen ohjeistoa. Esimerkiksi tässä harjoiteltu järjestämistapa on järjestämisalgoritmi. Tietotekniikassa käytetään monia hakualgoritmeja ja järjestysalgoritmeja, mutta algoritmeja käytetään myös mainosten suuntaamisessa internetissä.
