Lajittelupeli: Bubble Sort

Ota kaksi esinettä, näytä ne luokalle ja esitä vertailukysymyksiä. Kumpi on pidempi, kumpi painavampi jne. Esimerkiksi kynä, pyyhekumi, viivoitin jne.

TekijäMikko Muilu
OppiaineMatematiikka, tieto- ja viestintätekniikka, liikunta
Pituus45 minuuttia
Pedagoginen lähestymistapaIlmiöpohjainen oppiminen
KompetenssitOhjelmoinnin perusteet
Oppilaat oppivat vertailemaan esineitä ja lukuja
Luokka-aste9-12-vuotiaat oppilaat
TeknologiatKynä ja paperi
ArviointiOpettajan johtama keskustelu sen jälkeen.

arjoitus 1:

Pyydä oppilaita piirtämään paperille pitkä ja lyhyt kuva. Pyydä oppilaita vertailemaan muiden oppilaiden piirtämien kohteiden korkeutta ja leveyttä. Kuuntele tarkasti ja esitä johdattelevia kysymyksiä

Keskustelu:

Pyydä oppilaita tämän ensimmäisen kokeen jälkeen selittämään, miten he päättivät. Hän tekee päätöksen esimerkiksi havainnon tai korkeuksien mittaamisen perusteella. Vertaileeko hän kaikkia kuvia kerralla vai vertaileeko hän ensin kahta kuvaa pareittain ja päättää sitten.

Lämmittelykokeiden esittelyn jälkeen seuraava vaihe on kertoa oppilaalle, että kuplalajittelualgoritmin vertailu ja soveltaminen muihin oppilaisiin on tärkeää.

Tehtävä 2:

Valitse vapaaehtoinen tekemään tehtävä. Pyydä oppilasta vertailemaan muiden oppilaiden pituuksia. Voit käyttää teippiä tai post-it-lappuja, joihin voit kirjoittaa muiden oppilaiden pituudet ja kiinnittää ne oppilaiden rintakehään. Pyydä muita oppilaita muodostamaan rivi. Heidän ei tarvitse olla missään järjestyksessä. 

Kiinnitä huomiota siihen, miten vapaaehtoinen ratkaisee ongelman. Jos esimerkiksi kaksi oppilasta on väärässä järjestyksessä, vaihtaako vapaaehtoinen heidän paikkansa vai pitääkö hän heidät nykyisellä paikallaan?

Keskustelu:

Selitä Bubble Sort -algoritmi.

Bubble Sort on yksinkertaisin lajittelualgoritmi, joka toimii vaihtamalla toistuvasti vierekkäisiä elementtejä, jos ne ovat väärässä järjestyksessä. Tämä vaatii useita rivin läpikäyntejä. Tämä ei ole tehokkain lajittelualgoritmi, mutta se on yksi helpoimmista.

Tämän algoritmin perusteella vapaaehtoisen tavoitteena on vaihtaa jatkuvasti ihmisten paikkaa kuplalajittelualgoritmin perusteella. Toisin sanoen kuplalajittelualgoritmi toimii siten, että oppija aloittaa alusta ja vertailee yhä uudelleen, kunnes ihmiset ovat oikeassa järjestyksessä korkeuden perusteella.

TODO: kuva

Esimerkki numeroiden avulla

Ensimmäinen kierros:

( 5 1 4 2 8 ) -> ( 1 5 4 2 8 ), Tässä algoritmi vertaa kahta ensimmäistä elementtiä ja vaihtaa, koska 5 > 1.

( 1 5 4 2 8 ) -> ( 1 4 5 2 8 ), vaihtaminen, koska 5 > 4.

( 1 4 5 2 8 ) -> ( 1 4 2 5 8 ), Vaihto, koska 5 > 2.

( 1 4 2 5 8 ) -> ( 1 4 2 5 8 ), Koska nämä elementit ovat jo järjestyksessä (8 > 5), algoritmi ei vaihda niitä.

Toinen kierros:

( 1 4 2 5 8 ) -> ( 1 4 2 5 8 )

( 1 4 2 5 8 ) -> ( 1 2 4 5 8 ), Vaihto, koska 4 > 2.

( 1 2 4 5 8 ) -> ( 1 2 4 5 8 )

( 1 2 4 5 8 ) -> ( 1 2 4 5 8 )

Nyt joukko on jo lajiteltu, mutta algoritmimme ei tiedä, onko se täydellinen. Algoritmi tarvitsee yhden täydellisen läpikäynnin ilman vaihtoja, jotta se tietää, että rivi on lajiteltu.

Kolmas syöttö:

( 1 2 4 5 8 ) -> ( 1 2 4 5 8 )

( 1 2 4 5 8 ) -> ( 1 2 4 5 8 )

( 1 2 4 5 8 ) -> ( 1 2 4 5 8 )

( 1 2 4 5 8 ) -> ( 1 2 4 5 8 )

Tehtävä 3: Lajittele oppilaiden pituudet/ikä/ muut ominaisuudet kuplalajittelun avulla.

Keskustelu: Onko olemassa helpompia tapoja tehdä tämä? Miten opiskelijat voisivat parantaa sitä?

Leave a Reply

Discover more from Computational Thinking and Acting

Subscribe now to keep reading and get access to the full archive.

Continue reading