Avainsana-arkisto: ohjelmointi

Pulmia ja järjestysalgoritmeja

Teksti: Jenni Räsänen
Kuvat: Emma Karjalainen

Tiistaina 4.10. saimme vieraita Vantaalta Jokiniemen koulusta, kun 4.-6.-luokkalaisten valinnaisryhmä  saapui Kumpulaan. Vieraiden toiveissa oli ohjelmointia ja ongelmanratkaisutehtäviä. Ohjelmaksi valikoitui vanhojen tuttujen pulmien Sammakot ja Pilvenpiirtäjät lisäksi kaksi erilaista toiminnallista peliä, joissa päästiin harjoittelemaan ohjelmoinnillista ajattelua ilman tietokonetta.

Alkulämmittelyn (Sammakot-pulman) jälkeen siirryttiin ensimmäisen järjestysalgoritmin pariin. Järjestysalgoritmissa luvut asetettiin pelialaudan oikeaan reunaan satunnaisessa järjestyksessa. Luvut siirtyivät nuolia pitkin seuraavaan ruutuun aina siten, että jos ruudussa oli kaksi lukua samanaikaisesti, pienempi luku jatkoi pelilaudalla ylöspäin ja suurempi luku alaspäin. Lopulta luvut saatiin numerojärjestyksessä pelilaudan oikeaan laitaan.

järjestys2
Järjestysalgoritmissa luvut kävivät läpi monta vaihetta, kunnes ne saatiin järjestykseen pelilaudan oikeaan reunaan.

Toisena järjestystehtävänä oli Pikajärjestäminen-peli, jossa oli myös tarkoituksena saada luvut numerojärjestykseen pienimmästä suurimpaan. Tässä pelissä satunnainen luku valittiin jakamaan muut luvut pienempien ja suurempien lukujen ryhmiin ja kun toistoja oli tarpeeksi, luvut asettuivat suuruusjärjestykseen.

järjestys
Pikajärjestämisessä luvut jaettiin satunnaisen luvun mukaan pienempiin ja suurempiin lukuihin ja näin jatkettiin, kunnes luvut olivat suuruusjärjestyksessä.

Vierailun ajankohdasta huolimatta vieraat jaksoivat keskittyä pulmiin oikein hyvin ja lopuksi ehdittiin pelata vielä Pilvenpiirtäjät-peliä. Ennen pelin aloittamista täytyi rakentaa erikorkuisia pilvenpiirtäjiä, mihin tarvittiin hieman voimaa. Lopulta päästiin kuitenkin itse pelin pariin ja luokasta poistuttiin innostuneissa tunnelmissa evästauon kautta koulua kohti.

Ilman tietokonetta tehtävät järjestysalgoritmipelit löytyvät Linkki-keskuksen materiaaleista.

Bittejä ja algoritmejä -leiri

Teksti: Eveliina Hietakymi-Sandberg ja Emma Karjalainen
Kuvat: Emma Karjalainen

Maanantaina 3.8 Kumpulaan kokoontui joukko innokkaita 6.-9- luokkalaisia, jotka ovat kiinnostuneita matematiikasta ja ohjelmoinnista. Aiempaa koodaamiskokemusta ei leirille osallistuakseen tarvinnut, ja osa olikin tullut leirille tavoitteena saada ensikokemus koodaamisesta. Monella oli kuitenkin ohjelmointitaustaa jo entuudestaan, jopa ohjaajia enemmän!

Leirin ohjelmointiympäristönä toimi EppaBasic, joka on ohjelmoinnin opetuskäyttöön suunnattu ohjelmointikieli. Leirin ohjaaja Antti oli laatinut joka päivälle tehtävämonisteet, joiden avulla perehdyttiin ohjelmointikielen tärkeimpiin ominaisuuksiin. Nopeimmille koodaajille löytyi itseopiskelun tueksi lisämateriaalia oppaasta.

20150804_132919
Atk-luokka tuli leiriviikon aikana hyvinkin tutuksi.

Maanantaina ohjelmassa oli tutustumista sekä piirtämistä ja silmukoiden tekemistä EppaBasicillä. Koodaamisharjoitusten vastapainoksi leirillä ehdittiin pelaamaan pum-peliä, miettimään Einsteinin ongelmaa sekä ihmettelmään Physicumin pyörivää kivipalloa ja Suomen kallioperäkarttaa.

Tiistain ohjelmointitehtävät pyörivät satunnaisuuden ja todennäköisyyslaskennan teemoissa. Nuoret pystyivät yhdistämään aiemmin oppimiaan taitoja ja luomaan täysin omia luomuksia. Ruokailun jälkeen aivot ja jalat saatiin solmuun norjalaisella jalkaleikillä. Iltapäivällä ohjaaja Jaakko johdatti leiriläiset Rubikin kuutioiden maailmaan.

20150806_155307
Rubikin kuutioita ratkomassa.

Keskiviikkona ohjelmoitiaiheena oli mm. rekursioita ja animointia. Rekursio oli kaikille leiriläisille uusi käsite, joten sen tutkiminen imaisi heti pauloihinsa. Tämän päivän oheisohjelmana testattiin leiriläisten kekseliäisyyttä, kielellisiä taitoja ja luonnontuntemusta K-kisassa. Kello 13:26 suunnattiin ulos mittaamaan Maapallon ympärysmittaa Eratosthenes Kyreneläisen apukeinoin.

Torstaina leiriläiset saivat valmiin koodin Nim-pelistä, jossa pelaajat (vastustajana tekoäly) poistavat kolmesta pinosta vuorotellen tikkuja. Viimeisen tikun poistaja voittaa pelin. Valmiin koodin tekoäly oli kehno, ja leiriläiset saivatkin tehtäväkseen kehittää tekoälystä mahdollisimman voittamaton. Viimeisenä leiripäivänä koittaisi tekoälyjen välinen kilpailu. Iltapäivällä kuultiin vielä tekoälyjen historiasta shakin ja kielenkääntämisen osalta.

20150805_140934
Maapallon ympärysmitan selvittämiseksi tarvitaan aurinkoinen päivä sekä hieman laskutaitoa.

Perjantaina oli vielä aikaa kehittää torstaina koodattuja tekoälyjä, sekä muita viikon aikana syntyneitä ohjelmia. Leiri huipentui huoltajille ja muille paikalle tulleille järjestettyyn loppushow’hun, jossa leiriläiset esittelivät viikon tuotoksiaan. Upeaa työtä kaikilta!

Bittejä ja algoritmeja -leiri järjestettiin 3.-7.8.2015 Helsingin yliopiston Kumpulan kampuksella. Leiri oli suunnattu syksyllä 6.-9.-luokan aloittaville nuorille. Leiri järjestettiin yhteistyössä Linkki-keskuksen kanssa. Lisätietoja leiristä löydät täältä.

Lisää kuvia leiristä löydät täältä.

Bittejä ja algoritmeja

Elokuun ensimmäisellä viikolla järjestettiin ensimmäistä kertaa Bittejä ja algoritmeja -leiri, jolla leiriläiset pääsivät harjoittelemaan ohjelmointia sekä tutustumaan erilaisten sovellusten takana olevaan tekniikkaan. Leirille osallistui kaksikymmentä 6.-9.-luokkalaista.

Leirin aamupäivät oli varattu ohjelmoinnin harjoittelemiselle. Mielenkiintoisissa tehtävissä harjoiteltiin niin grafiikan ohjelmointia kuin erilaisten laskuohjelmien ja pelien koodaamista. Leiriläisten joukossa oli sekä ensikertalaisia että jo pidempään ohjelmointia harrastaneita. Tehtävät tarjosivat riemua ja haastetta kaikille.

pöytäliina
Keskiviikkoaamupäivän tehtävänä oli mm. koodata pöytäliina hyödyntäen rekursiota.

Iltapäivisin oli tarkoitus tutustua erilaisiin sovelluksiin sekä matematiikan mielenkiintoisiin ilmiöihin. Rubikin kuutiot ja verkot herättivät nekin mielenkiintoa, mutta leiriläisten pyynnöstä iltapäivisinkin jatkettiin vielä ohjelmoinnin parissa.

Viimeisten leiripäivien aikana leiriläiset pääsivät tekemään jotakin todella huikeaa – ohjelmoimaan tekoälyä! Tarkoituksena oli yksin tai pareittain ohjelmoida mahdollisimman taitava tekoäly. Leiriläisten ohjelmointitaidot joutuivat viimeisenä päivänä testiin, kun leiriviikko huipentui leikkimieliseen tekoälyjen väliseen kilpailuun. Oli hieno huomata, kuinka hyviä tekoälyjä kaikki olivat tehneet.

Samalla viikolla järjestettiin myös Mieletöntä matikkaa -leiri, joka tarjosi iloa ja riemua 2.-4.-luokan aloittaville lapsille. Leiriviikko päätettiin vanhempien vierailuun, jossa lapset kertasivat leirillä kokemaansa ja oppimaansa.