Ohjelmointia Minecraft Education editionissa

Ohjelmointia Minecraft Education Editionissa

Ohjelmointia voi opettaa myös oppilaille tutussa Minecraft-peliympäristössä. Tässä kokeilussa rakennettiin Minecraft maailmaa muutamilla käskyillä, mutta paljon muitakin mahdollisuuksia olisi ohjelmoida pelissä. Ohjelmoinnin opetettavia rakenteita tässä oli: peräkkäisyys, muuttuja, toisto ja funktio. Matematiikasta oppilas joutuu hallitsemaan koordinaatiston, ei pelkästään tutun XY, vaan kolmiulotteisen XYZ-maailman. Myös matematiikasta muuttuja-käsite havainnollistuu käyttöön muuna kuin x:nä.

Kokemus oli positiivinen yläkoulun 8-luokkalaisten kanssa.  Oppilaille koodaamalla rakentaminen on varsin näyttävää ja tehokasta, ja onnistuu vain tässä oppimiseen suunnatussa Minecraftin Education Edition -versiossa. Tavallisessa Minecraftissä rakentaminen tapahtuu kuutio kerrallaan, ohjelmoimalla 6000 kuution rakennelma syntyy hetkessä! Matematiikassa heikompikin oppilas innostui ja pääsi näyttämään osaamistaan. Toki pelin tuominen luokkaa tuo myös haasteita itse asiassa pysymisessä joidenkin kohdalla. Merkillepantavaa oli myös tyttöjen osallisuus, osaaminen ja tuotokset. Oli myös oppilaita, joilla ei ollut lainkaan kokemusta Minecraftistä.

Oppilaita motivoitiin lopputyöllä, jolla oli deadline. Palauttamisessa toteutettiin Office365 Teamsin tehtävän avulla, jossa opettajalla oli arvioinnin apuna arviointiohje. Arviointiohjeen avulla tehtiin arviointia läpinäkyväksi oppilaalle, mutta se myös helpotti arviointia. Oppilaan piti palauttaa linkki koodeihin, koodaamalla rakennettu maailma ja Powerpoint-esitys, jossa oli näyttöleikkeitä ja näyttövideo. Koodeille annettiin 70 % ja dokumentoinnille 30 % painotus.

Valmistelut

Oppilaat asentavat Windows 10 koneisiinsa Minecraft Education Editionin (MEE Versio 1.7.1), jonka mukana on ohjelmoinnissa tarvittava Codebuilder-osion ominaisuuksia. Codebuilder on mahdollista asentaa myös erikseen. Ohjelmaan kirjaudutaan Office365-tunnuksin. Ohjeet asentamiseen Turussa.

Ohjevideot

Huomioitavia asioita

Monipeli

Monipeli on oletuksena päällä, jolloin oppilailla on mahdollisuus liittyä toisten maailmoihin! Ohjelmoitaessa ei ole tarkoitus vielä taistella henkiinjäämisestä, joten tässä rakenteluvaiheessa kannattaa ottaa Monipeli pois päältä. Myöhemmin omaa maailmaa esiteltäessä toisille sen voi laittaa päälle ja sallia muiden samassa verkossa olevien pääsyn omaan maailmaa.

Pelin asetuksiin päästään kynästä:

Kun rakennetaan, maailmaa oletuspelimuoto on Nikkaroija (=luova normaalissa Minecraftissä).

Monipeli pois päältä!

Peliasetuksissa koordinaatit ja koodinrakentaja tulee olla päällä!

Koodien tallennus

Maailmat ja koodit eivät tallennu yhdessä. Samoja koodeja voi käyttää missä tahansa toisessa maailmassa. Versiossa 1.7.1. on ollut havaittavissa koodien katoamista Omista projekteista:

Koodit kannattaa ottaa talteen joko linkkinä, jonka saa kun jakaa ja julkaisee projektin:

Jaettaessa syntyvä linkki makecode.com sivustolle kannattaa ottaa talteen!

Menemällä linkin osoitteeseen on mahdollista tallettaa minecraft.makecode.com -sivuston editorissa koodit myös mkcd-tiedostona:

Koodit voidaan tuoda takasin näistä talteenotetusta tiedostosta taikka linkistä, jos ne sattuvat katoamaan:

Maailman tallennus

Maailman saa mcworld-tiedostoksi, joita voi tuoda, viedä, poistaa ja kopioida Minecraft-ohjelmassa.

Ohjelmointi

Koodinrakentajassa tapahtuu koodin kirjoittaminen ja sinne pääsee C-kirjaimella. Asetuksista voidaan määrittää kieli suomeksi.  Editoriksi voi valita Makecode- taikka Tynker-editorin. Tässä valittiin Makecode.
Ohjelmointi on Scratchistä tuttua blokkikoodausta, mutta mahdollisuus on myös rinnalla tekstipohjaiseen JavaScriptiin.

Koodeja voi käyttää siirtymällä T-kirjaimella keskusteluun, jossa käsky annetaan.

Ohjelmointiosuuden tavoitteita oli kolme: muuttuja, toistorakenne ja funktio.

a) Muuttuja

Matematiikasta tuttu muuttuja x saa muuttuvia arvoja, jonka jälkeen lausekkeen arvo voidaan laskea. Ohjelmoinnissa muuttuja monipuolistaa koodin käyttöä huomattavasti. Ohjelmoinnissa muuttujaan talletetaan ja sieltä haetaan tietoja, taikka sen arvoa voidaan muuttaa, siitä varmaan kuvaava nimi muuttuja.

Ohjelmoinnissa muuttujan nimi ei tarvitse olla pelkkä yksi kirjain vaan se kannattaa nimetä sen perusteella mitä tietoa siinä on tallessa. Järkevän nimen antaminen ei vaikuta mitenkään ohjelman toimivuuteen, mutta tekee ohjelman koodista selkeää ja luettavampaa. Jos halutaan tallettaa esim. pelaajan ikä, muuttujan nimeksi kannattaa antaa ikä.  Taikka jos muuttujassa on tallessa pelaajan terveydenaste, muuttuja voisi olla nimeltään terveys. Tässä rakennettaessa vastaan tulee korkeutta, paikkaa, sijaintia ja lukumäärää.
Ilman muuttuja:

Yhden muuttujan avulla:

Kahden, taikka kolmen muuttujan avulla:

Muuttujaan voidaan tallettaa tietoa, tietoa voidaan lukea ja muuttaa.

b) Toisto

Toisto-rakenteet löytyvät Silmukat-valikosta.

Tässä harjoiteltiin ikuisiaja ennalta tiedetyn määrän toistoja rakennettaessa pilvenpiirtäjiin kerroksia, taikka puistoon puita.
c) Funktio
Funktion on ohjelmoinnissa itsenäinen osio, jota voidaan kutsua pääohjelmasta. Tässä kutsu tapahtuu Keskustelussa ja paluuarvona kutsusta muodostuu rakennelma. Lohko-ohjelmoinnin sijaan on mahdollista käyttää JavaScriptiä. Taikka ihan vaan kurkata, miltä koodi näyttäisi tekstipohjaisena.

Palautus Teamsin Tehtävänä


a) Oppilas

Oppilaan piti palauttaa kaksi tiedostoa: Minecraft-maailma ja Powerpoint-esittely, sekä linkki koodeihin. Teamsin tehtävään on mahdollista palauttaa enintään 5 tiedostoa, jotka olivat kooltaan enintään 50 Mt. Tämä syntyy noin 1 min pituisesta PowerPointin näyttötallenteesta.

b) Opettaja

Opettaja laati arviointiohjeen, jossa ohjelmoinnille annettiin 70 % ja esitykselle 30 % painotukset.

Laatimiseen kului toki hetki aikaa, mutta se oli takaisin kun opettaja suoritti töiden arvioinnin ja klikkaili työn täyttävän kriteerin. Arviointi oli myös läpinäkyvää, eli oppilaalla oli nähtävillä mistä arvosana muodostui.
Teemu Takio