Kategoria: Yleinen

Koodauksen perusteet haltuun -Grasshopper App

Testasin tätä Grasshopper sovellusta, kun kuulin siitä positiivista jossain yhteydessä..

Grasshopper- sivusto kertoo – Mitä on koodaus?
Se on oikealta nimeltään ohjelmointia, ja tarkoittaa keskustelua tietokoneen kanssa. Koodi kertoo tietokoneelle mitä sen pitää tehdä. Koodaus on ikään kuin ohjeiden kirjoittamista tietokoneelle. Opettelemalla koodaamaan, opit kertomaan tietokoneille mitä ja miten niiden pitää toimia. Voit käyttää koodaustaitojasi mm. web-sivujen ja älylaite sovellusten tekemiseen, käsittelemään tietoa, ja monia muita siistejä juttuja.

Mikä on Grasshopper App?
Se on sovellus, jonka voit ladata Play-kaupasta esim. puhelimeesi. Kirjautuminen sovellukseen onnistuu esim. Google tunnuksilla. Sovelluksella voi opetella koodauksen perusrakenteita Javascriptillä. Tiesithän, että perusteiden opettelun jälkeen on helppo siirtyä käyttämään ohjelmointikieliä, koska samat perusrakenteet toistuvat kaikissa niissä.
Grasshopper- sivustolta löydät teoriaa, joka on perusrakenteiden taustalla. Tästä löydät sivun, jossa kerrotaan mihin asioihin voit Grasshopperin avulla tutustua: https://grasshopper.app/curriculum/fundamentals-1/

Grasshopper ei ole visuaalinen koodausympäristö, kuten code.org ja scratch, vaan siinä käyttäjä kirjoittaa koodia.

Mielestäni Grasshopperin kotisivut kertovat hyvin ytimekkään lyhyesti olennaisen ohjelmoinnista aloittelijalle. Mielestäni sivusto ja sovellus sopii yläkoululaisista ylöspäin ja myös aikuisille ensi kokemukseksi ohjelmoinnista!

Koronan vaikutuksia Datasepän koodikoulussa

Koronan vaikutuksia Datasepän koodikoulussa

Kesälle 2020 oli suunniteltu yhdessä Ylivieskan nuorisotoimen kanssa koodileirin järjestämisestä Spunikin nuorisotiloissa. Koronan leviämisen estämiseksi, myös koodileiri jäi järjestämättä, kuten moni muukin leiri. Valitettavaa, mutta terveys ennen kaikkea!

Nyt Korona aikaa lapsilta jää pois monta muutakin leiriä, kuin koodaus. Kivaa yhteistä tekemistä vanhemmille ja lapsille, ja vieläpä ilman tietokonetta löytyy mm. Linda Liukkaan koodausaiheisista kirjoista: Koodauksen alkeet, Matka tietokoneeseen, Löytöretki internetin ja Robotit.
Koodikoulu on nämä kirjat lukenut ja voi suosittaa perheille näitä nyt, kun yhteistä aikaakin on enemmän

Kirjoja voi ostaa mm. Adlibliksen verkkokaupasta:

Miten koodari ajattelee?

Kerron yksinkertaisen esimerkin, miten oma ajatukseni kulkee. Minullehan käy usein niin, että jään pohtimaan miten mikäkin esine tai juttu on koodattu toimimaan.

Otetaanpa esimerkiksi lelurobotti, joka osaa tiettyjä toimintoja.

KUVA: Coolman robotti

Laitan robotin liikkeelle (=video).
Se käynnistyy on/off painikkeesta. Seuraan robotin toimintaa. Tunnistan toistuva liikkeet ja äänet:

  • kävely: liikkuminen eteenpäin askel kerrallaan
  • pyörähdys: kerran ympäri, kaksi kertaa ympäri
  • äänet: tulitus, luritus yms.

Mietin miten saisin yhdistettyä liikkeet ja äänet ohjelmaksi? 
Vaikka silmukalla se onnistuu (=ohjelmoinnin perusrakenne).
Mikä on ohjelman käynnistävä signaali?
On/Off nappula.

Siitä voi sitten kirjoittaa pseudokoodin halutessaan (=jos et tiedä mitä pseudo on, niin käy tsekkaamassa linkistä) 🙂

Esim.

tee kunnes on/off = off {
anna luritus ääni;
kävele 1 askel;
anna luritus ääni;
kävele 1 askel;
anna luritus ääni
kävele 1 askel;
pyörähdä 2 kertaa;
anna tulitus ääni;
kävele 1 askel;
anna tulitus ääni;
kävele 1 askel;
anna lur tulitus ääni;
kävele 1 askel;
pyörähdä 1 kertaa
;
}

Ja sitten jo tuntuukin – olisipa tämäkin helppo koodata !!!
Kaikkien ei tarvitse osata koodata, totta. Mutta ymmärtämällä yllä olevan esimerkin idean, ymmärtää jo paljon koodauksesta 😀

Ideoita koodikerhoon

Ideoita koodikerhoon

Tyttöjen mukaan saaminen koodauksen pariin on haastavaa – etenkin pienellä paikkakunnalla, kun potentiaalisia koodikerholaisia muutenkin vähemmän. Olen järjestänyt koodikerhoja kyläkoululla ja kaupungin nuorisotiloissa. Vinkkinä muille koodikerhoa suunnitteleville, että antakaa kerhon nimeksi Mediakerho tms. Siten saatte mukaan enemmän tyttöjä!

Olen asiaa pohtinut ja mielestäni on kyse vanhoista asenteista ”pojat on teknisiä” yms. Ja vaikutus tulee todennäköisesti lasten vanhempien kautta. Kun lapset kerhooon tulevat – sekät tytöt että pojat – kokemukseni mukaan saattavat tytöt olla jopa innokkaampia ja nokkelampia koodaukseen liittyvissä tehtävissä.

Täältä voit ottaa ideoita omaan kerhoosi, materiaalia tulee jatkossakin lisää koko ajan:
https://raudaskoskenkoodikerho.wordpress.com/spuken-mediakerho-2019/


Miten onnistuu sovelluksen koodaaminen omaan älypuhelimeen Matti Meikäläiseltä?

Varmasti onnistuu jokaiselta, joka osaa älylaitteita käyttää. Tässä ohjeet:
https://raudaskoskenkoodikerho.wordpress.com/2018/03/27/koodataan-ohjelma-alypuhelimeen-mit-app-inventor/

Tästä aiheesta olen jo aiemminkin kirjoitellut artikkelin, kun kokeilin älylaitteen koodausta alakoululaisten kanssa:
https://datasepankoodikoulu.com/2018/05/18/koodaa-sovellus-omaan-alypuhelimeen-koodausvalipala-5-7-luokille/

SIITÄPÄ VAIN KOKEILEMAAN!

Woocommerce verkkokaupan pystytys – tarvitaanko siinä koodauksen taitoja?

Kyllä Woocommerce verkkaupan saa pystytettyä ilman koodausta. Mutta koodausosaamisesta on hyötyä, ja se nopeuttaa kaupan ominaisuuksien omaksumista – onhan taustalla kuitenkin tietokanta ja PHP-koodia. Lisäksi teknologiaosaamista verkossa toimimisesta olisi hyvä olla kaupan perustajalla sen verran, että tietää varmuuskopioiden ja päivitysten tarpeellisuuden ja osaa pyytää niihin apua.

Lue artikkelista lisää siitä, miten helppo verkkokauppa on pystyttää! Verkkokaupan menestykseen tarvitaan kuitenkin muutakin, kuin pystytys ja siitäkin ensimakua seuraavassa:

Woocommerce on maailman suosituimpiin kuuluvan sisällönhallintatyökalun WordPressin ilmainen lisäosa, jolla verkkokaupan saa yksinkertaisimmillaan päivässä pystytettyä koodaamatta riviäkään itse. Jos siis sinulla on jo muutama tuote kuvineen, hintoineen ja kuvauksineen mietittynä valmiiksi. Worpress-sivuston ja verkkokauppa lisäosan voi helposti asentaa webhotelliin, mutta yksinkertaisempi on lähteä liikkeelle WordPress.com alustalla, ellei sinulla ole pajon kokemusta. Sen vuoksi yksinkertaisempi, ettei WordPress.com palvelussa olevan sivuston hoito ja ylläpito vaadi niin paljon asiantuntemusta ja resursseja (mm. tietoturva päivitykset, versiopäivitykset). Tosin myös webhotellit tarjoavat nykyään WordPress-sivuston hallintaa, joka sisältää käyttäjän valitsemat päivitykset tietoturvan ylläpitämiseksi sivustolla. Webhotellissahan käytät luonnollisesti omaa http://www.omakauppa.fi osoitetta, mutta WordPress.com:iin on mahdollista myös kytkeä oma osoite. Huomaa, että WordPress.com alustalle tehty verkkokauppa on myöhemmin siirrettävissä webhotelliin suhteellisen helposti.

Jetpack

Woocommerce verkkokaupan pystytys vaiheet yksinkertaistettuna, kun käytetään WordPress.com verkkoalustaa:

  • Luo tunnukset WordPress.com sivustolle.
  • Luo sivusto: Voit lisätä sivuston ensin ilman virallista osoitetta ja ostaa myöhemmin sille oman osoitteen esim. http://www.omakauppa.fi
    Jos et halua keskeneräisen sivuston näkyvän hakukoneille, niin estä se sivuston Asetukset – Lukeminen- kohdassa ruksimalla Kiellä sivuston näkyminen hakukoneille. Tosin sivusto, jota ei ole vielä hakukoneoptimoitu, ei kovin helposti löydy hakukoneiden avulla, siitä ei ole ”pelkoa”.
  • Lisää sivustolle Woocommerce lisäosa:
    Sivuston tulee olla tasoa Business tai eCommerce, jotta voi lisätä sinne Woocommerce lisäosan.
  • Valitse ensin ulkoasu verkkokaupalle:
    Se voidaan valita valmiista ulkoasu-teemoista, joita on todella paljon erilaisia niin maksuttomia, kuin maksullisia. Tai jos osaamista on, niin voi koodata sellaisen teeman, kuin haluaa.
  • Muokataan perusasetuksista ainakin:
    ALV-veroluokat, Toimitustavat, Maksutavat.
  • Lisätään tuotteet:
    Tuotteet voidaan lisätä käsin, tai tuoda esim. olemassaolevasta järjestelmästä excel-tiedossa.

Verkkokauppasi on nyt valmis testiin, ja voit syöttää sinne tilauksen. Sisällön hallinnasta en tässä artikkelissa kerro enempää, koska se on jo toinen tarina!

Verkkokaupan luominen olemassa oleville kivijalkakaupan tuotteille vaatii yleensä integraation tekemistä tuotteiden varastohallinnasta Woocommerceen. Tähän rajapintaan on myös lisäosia olemassa, mutta koodausosaamista on hyvä olla, jos integraatioon on tarvetta! Ja palvelunahan integraation tekeminen löytyy useilta eri koodausyrityksiltä.

Woocommerce lisäosat:
Woocommecelle löytyy hyvin paljon erilaisia lisäosia, joilla saat toiminallisuutta kauppaasi mm. erilaisia maksutapoja. Lisäosia on saatavissa Woocommerce:lta ja kolmansilta osapuolilta. WooCommercen lisäosien osalta rahat voi saada 30 päivässä takaisin, jos ollut sopiva! Tässä luetteloitu joitakin yleisesti käytettyjä vuosimaksullisia lisäosia, joissa päivitykset ja käyttäjätuki mukana hinnassa:

  • Woocommmerce Subscriptions:
    kuukausittain toimitettavat palvelut ja niiden laskutus
  • WooCommerce bookings:
    tilojen varaus
  • WooCommerce box office:
    lippujen myynti
  • WooCommerce order barcodes:
    Viivakoodit tilauksiin / tuotteisiin
  • WooCommerce PDF Invoices & packing slips:
    toimitustlistat yms.
  • WooCommerce mobile app:
    kaupan hallinnointi älypuhelimella löytyy
  • WooCommerce Cost of Goods:
    kateraportteja yms.
  • WooCommerce cart reports:
    ostoskorin analysointia
  • WooCommerce Google Analytics:
    verkkokaupan analytiikka näkyviin googlen palveluun erikseen
  • WooCommerce MailChimp integration:
    postituslistojen luonti kaupan asiakkaista
  • WooCommerce membership:
    esim. eritasoisia kuntosali jäsenyyksiä

Ohjelmoinnin perusteet, mitä ne on?

Ohjelmoinnin perusteet, mitä ne on?

Aloitin ohjelmoinnin opiskelun virallisesti 1997 (sitä ennen olin kokeillut itsekseni Qbasic- ja Excel- ohjelmointia). Ohjelmoinnin perusteet kurssi tarkoitti noihin aikoihin sitä, että alettiin opettajan johdolla kirjoittamaan C++ ohjelmaa, jonka avulla tietokone kirjoitti näytölle jotain. Tehtäväksi saatettiin antaa; ohjelma kysyy kaksi lukua ja ilmoittaa niiden yhteissumman näytöllä. Mitään koodia ei saanut kopioida mistään, vaan kaikki piti kirjoittaa itse. Ohjeet syntaksiin löytyi kirjasta tai ohjelman Help- toiminnosta.
Eipä jäänyt tuolloin mieleen, että olisi ohjelmoinnin perusrakenteista jotain puhuttu. C++ syntaxia jankattiin, että saatiin ohjelmat käännettyä ilman virheitä. Kävin nuoruuden innolla alkeis- ja jatkokursseja useista eri kielistä mm. C++, Delphi ja Java. Mitenkään keskeisessä roolissa ei kursseilla ollut ohjelmoinnin perustava ajatus: ”opettele käyttämään ohjelmoinnin perusrakenteita, niin opit käyttämään kaikkia tarvitsemiasi ohjelmointikieliä helposti”.

Työkokemus karttui. Huomasin aika pian, että ohjelmointikielestä toiseen siirtyminen onkin aika helppoa. Kaikista löytyy ensinnäkin ne perusrakenteet:

  • käskylause
  • ehtolause (=If, Then, Else)
  • muuttujat (char, string, array, integer jne.)
  • funktio
  • toistorakenteet (for, while)

Ja toisekseen löytyy paljon paljon muutakin yhteistä esim. stringin käsittelyn funktiot, ja array käsittelyn funktiot jotain mainitakseni. Jos olisin tämän jo alussa tiennyt, niin en takuulla olisi tuhlannut paukkuja useiden eri ohjelmointikielien alkeiskursseihin. Ei tarvitse yrittää ulkoa opiskella useiden eri kielten syntakseja, koska kyllä mm. Google niissä osaa neuvoa 😉

Omaksi onnekseni koitui se, että pääsin nopeasti alan töihin. Töihin päästyäni pystyin keskittymään siihen ohjelmointikieleen, joka oli työnantajan projekteissa työkaluna kulloinkin. Olen opettanut koodausta lapsille vuodesta 2014 lähtien ja oivaltanut, että ohjelmoinnin opiskelun voi aloittaa hauskasti ja helposti. Aloittelijoille (myös aikuisille) annankin vinkiksi, että opiskelkaa ohjelmoinnin perusrakenteet ensin helpossa graafisessa ympäristössä (esim. code.org, scratch, bomberbot), niin ymmärrätte miten pienistä palikoista ohjelmointi oikeastaan koostuu. Sen jälkeen on paljon helpompi syventyä johonkin oikeaan kieleen oli se sitten yliopistokurssien Java tai Python tai jotain muuta!

Kokemuksia koodauksen opettelusta Bomberbotilla

Kävimme 6. luokan kanssa Bomberbotin alkeiskurssin läpi. Lähtötaso oli, että oppilaat olivat aiempina vuosina tutustuneet koodaukseen jonkin verran mm. code.org tehtävillä. Osa oppilaista opiskeli koodausta ensimmäisen kerran peruskoulun aikana.

Bomberbotin Alkeet- osassa aloitettiin opettelemalla mitä ohjelmointi on. Sitten käytiin läpi ohjelmoinnin perusrakenteita: lause, ehtolause, silmukka, funktio ja muuttuja. Me kävimme Bomberbotin kaksi aihealuetta yhtenä päivänä läpi, ja tämä tuntui sopivalta tahdilta.

Kuva: tuntien sisällöt

Viimeisellä kerralla kerrattiin aiemmin opittujen rakenteiden käyttöä, ja paneuduttiin oma ohjelman suunnitteluun. Tämä tarkoitti Bomberbotissa oman tason suunnitelman tekemistä. Suunnitelmat eli omat tasot testattiin parin kanssa..

Ohjelman tekemiseen kuuluu koodauksen lisäksi suunnitelman laatiminen ja testaus. Nämä kaikki osa-alueet tuli käytyä läpi bomberbotin Alkeet- osassa.
Voin suositella Bomberbotia muillekin kuutosluokille. Tällaisella sisällöllä tulee opeteltua koodauksen perusteet (=perusrakenteet) ja jokainen tekee lopuksi myös oman graafisen ohjelman suunnitelman, jonka toimivuus testataan.
Eli OPS2016 tavoitteet 6. luokan osalta tulevat tässä minimissään täytettyä.

Innokkaimmat oppilaani tekivät myös Bomberbotin Jatko-osan tehtäviä omatoimisesti, joten nekin sopivat tasoltaan tämän ikäisille. Jatko-osaa voi mielestäni suositelle niille, jotka kiinnostuvat ohjelmoinnista Alkeet- osan jälkeen, koska jatkossa käsitellään edistyneempi koodauksen juttuja mm. debuggaus!

Annoin oppilaille arvosanat 2h x 5pv kurssin jälkeen. Arvostelu perustui ahkeruuteen eli tehtyjen tehtävien määrä kurssilla (sen näkee bomberbotista) ja lopputyöhön, joka oli oman tason suunnitelma ja ratkaisuehdotus. Keskiarvoksi tuli 7,5. Lisäämällä harjoittelua saisi keskiarvon helposti yli 8, koska monikaan ei tehtäviä tehnyt kotona.

Kokemuksena tästä jäi hyvä mieli!

Bomberbot oppimisympäristö kokeilussa koodaustunneilla alakoulussa

Datasepän koodikoulu pääsi kokeilemaan Bomberbot- oppimisympäristöä Raudaskosken alakoulun 6. luokalaisten kassa. Tavoitteemme on nyt opiskella Bomberbotilla 5×2 oppituntia, ja tässä ajassa saavuttaa OPS2016 määrittelemät kriteerit 6-luokkalaisen ohjelmointiosaamiselle. Huomenna on jo kolmannet oppitunnit. Ensimmäiset kaksi kertaa ovat sujuneet ongelmitta – Bomberbot on toiminut hyvin. Ja koodiope voi tarkistaa tunnin jälkeen näppärästi mihin asti kukin on päässyt. Myös kotiläksyt on helppo tarkistaa.

Tästä linkistä löytyy tarkemmat suunnitelmat tuntien sisällöksi:
https://raudaskoskenkoodikerho.wordpress.com/rauskin-6-lk-valinnainen-koodaus/

Esimerkki bomberbot tehtävistä

Kurssin lapset ovat opiskelleet koodaukseen liittyviä asioita jonkin verran jo alemmilla luokilla: https://rauskinkoodikoulu.wordpress.com/tehtava/3-4-luokan-koodikoulu/

Kerron blogissani kurssin loputtua, että kuinka kävi ja mitä jäi kullekin käteen. Voit kernaasti hyödyntää sivustollani kerrotut kokemukset ja sisällöt, jos sinunkin luokkasi käytössä on Bomberbot- oppimisympäristö!