Spuken mediakerhon 3.kerta

Tänään tutustutaan koodauksen alkeisiin Robogem-lautapelin avulla. Ja toisena aiheena on koodauspulmien ratkominen Koodipläjäys- korteilla ja/tai  ja älylaitteen FixTheFactory pelin avulla. Pelissä robottia liikutellaan käskyjonoilla, jotka edustavat koodausta tässä. Katsotaan yhdessä pätkä siitä, mitä pelissä tehdään.
Ja sitten lopuksi jokin yllätysleikki, jos ehditään 😀

Laitteeksi riittää tällä kertaa kännykkä.

Spuken mediakerhon 2.kerta

Tänän opetellaan muistamaan toistemme nimiä Nimileikillä. Sitten kerron hiukan asioita videokuvaamisesti, mm. sen mitä saa ja mitä ei saa kuvata. Jokainen pääsee tutustumaan oman älylaitteen kuvaus asetuksiin, ja kuvaamaan videon.
Lopuksi katsotaan teidän kuvaamat videot projektorilta, ja mietitään miten niitä voisi vielä editoida.

 

Spuken mediakerhon 1. kerta

Ekalla kerralla aloitettiin kertaamaan koodauksen alkeita karkkirobotti tehtävällä. Koodaamalla ”javascriptiä” robolle kaikki saivat suu makeaksi!

Eteen(3)
Oikea(1)
Hyppy(1)
Eteen(2)
OjennaDumle(9999)

Kerholaisia oli tällä kertaa 12kpl.

Tässä kerholaisten suosikkipelit:

  • Minecraft
  • Fortnite
  • Roblox
  • Kauhupelit …

 

Dance Party

Osaatteko flossata ja dapata? Haluaako joku näyttää mitä ne ovat.
Mitä muita helppoja tanssiliikkeitä voisi olla?

Teemme code.org sivustolta Dance Party- tehtävän. Siinä koodataan hahmoja esittämään erilaisia tanssiesityksiä musiikin tahtiin. Musiikkia voi vaihtaa!

Hakekaa cromet, hiiret ja kuulokkeet!

Dance partyyn pääset tästä: https://code.org/dance

Kevään 2019 koodaustunnit Raudaskoskella

Datasepän koodikoulu järjestää koodauskurssin Raudaskosken koulun 5. ja 6. luokille seuraavasti:

Kohderyhmä:
11-13 vuotiaat

Kesto:
6lk 5 x 2 oppituntia perjantaisin alkaen 18.1.2019
5lk 5 x 2 oppituntia perjantaisin alkaen 22.3.2019

Oppimisympäristö:
Bomberbot, josta käydään läpi ohjelmoinnin alkeet, ja innokkaimmat voivat lisätehtävinä tehdä ohjelmoinnin jatkokurssia. Oppimisympäristöstä löytyy opettajalle perehdytys materiaali jokaiseen aihealueeseen, ja teorian opiskelun tueksi tietokoneettomia tehtäviä tuntisuunnitelmineen. Lisäksi tietysti oppilaille tietokoneella suoritettavat tehtävät, joissa etenemistä opettaja voi seurata omalta koneeltaan opettajan tunnuksella.

 

 

Kurssi kattaa seuraavat OPS2016 edellyttämät asiat:

  • Matematiikan opetuksen tavoitteet vuosiluokilla 3–6:
    T14 innostaa oppilasta laatimaan toimintaohjeita tietokoneohjelmina graafisessa ohjelmointiympäristössä (OPS 2016, 235). [1]
  • Matematiikan tavoitteisiin liittyvät keskeiset sisältöalueet vuosiluokilla 3–6:
    Suunnitellaan ja toteutetaan ohjelmia graafisessa ohjelmointiympäristössä (OPS 2016, 235). [1]
  • Matematiikan arviointikriteerit 6. vuosiluokan päätteeksi arviota “hyvä” / arvosanaa kahdeksan varten:

    T14 innostaa oppilasta laatimaan toimintaohjeita tietokoneohjelmina graafisessa ohjelmointiympäristössä (OPS 2016, 239). 
    [1]
    2.
    Ohjelmointi graafisessa ohjelmointiympäristössä (OPS 2016, 239). 
    [1]
    3.
    Oppilas osaa ohjelmoida toimivan ohjelman graafisessa ohjelmointiympäristössä (OPS 2016, 239). 
    [1]

 

Koodataan ohjelma älypuhelimeen – MIT App Inventor

Mikä on MIT App Inventor?
Se on Massachutes Institute of Technologyn tuottama open-source nettisovellus, jolla voi tehdä sovelluksia Android-älypuhelimeen. App inventor in tarkoitettu ohjelmoinnin alkeiden opetteluun – opiskelijan iällä ei merkitystä. Ohjelmalla voi tehdä apk-paketin omasta sovelluksesta, jolloin  omien sovellusten jakaminen muille on mahdollista.

Mitä tarvitaan oman sovelluksen tekemiseen?
Voidaksesi koodata MIT App Inventorilla tarvit läppärin tai cromebookin lisäksi Android-puhelimen** ja Wi-Fi- yhteyden. Ja koska kyseessä on Googlen nettisovellus, niin tarvitset tietysti Google-tilin voidaksesi kirjautua sisään.

** Jos sinulla ei ole puhelinta, vai myös testata koodiasi MIT App Inventorin emulaattorissa.
** Jos sinulla on puhelin, mutta ei Wi-FI-yhteyttä, niin voit yhdistää puhelimen datakaapelilla läppäriin/cromebookiin

Asennus, jossa Cromebook ja Android-puhelin:

  1. Lataa ja asenna puhelimeesi Play-kaupasta App Inventor Companion App.
    Ota puhelimessasi Wi-Fi-yhteys käyttöön.
  2. Avaa Cromebook ja siirry nettiosoitteeseen http://appinventor.mit.edu/explore/. 
    Klikkaa sivun oikeassa yläreunassa Create Apps, ja kirjaudu Google-tilillä sisään.

Wi-Fi yhteys, Cromebookin ja Android-puhelimen välillä:

  1. Avaa puhelimesi MIT AI2 Companion.
  2. Valitse Cromebookin MIT App Inventorin ylävalikosta Connect – Al companion. Anna puhelimesi Code-kenttään Cromebookin näytöltä koodi.
  3. Nyt Anroid-puhelin ja Cromebook on yhdistetty. Voit aloittaa cromebookilla koodauksen, ja näet lopputuloksen puhelimesi näytöltä.

Katsotaan yhdessä läpi mitä kaikkea löytyy MIT App Inventorin ikkunasta!

 

Tehdään ensimmäinen sovellus:

Talk To Me.pdf (=ohjeet kokonaisuudessaan englannin kielellä)

Tee sovellus, joka sisältää yhden nappulan nimeltään TalkToMe. Nappulaan klikattaessa kännykkä sanoo ”Onnittelut, eka sovellus on valmis”.

  1. Luo uusi projekti:
  2. Tehdään ensin sovellukselle käyttöliittymä.
    Lisää Viewer- ikkunaan button (=nappula), ja muuta sen nimeksi Talk To Me:
  3. Komponentin avulla voimme käskeä esim. nappulaa tekemään jotain.
    Lisää Viewer- ikkunaan component (=komponentti) TextToSpeech (=teksti puheeksi). Valitse komponentille kieli Properties- ikkunasta:
    Country = GBR, Language = EN. Suomen kieltä ei ole valittavana.
  4. Siirry Blocks Editoriin, jossa pääset tekemään koodia:
  5. Tapahtuman avulla määritämme mitä tapahtuu, jos käyttäjä esim. klikkaa nappulaa. Lisää buttonille Click- tapahtuma, jossa kutsut TextToSpeech- toimintoa:
  6. Nyt on vielä määriteltävä mitä kännykkä sanoo, kun klikkaamme nappulaa. Se sanoo: ”Onnittelut, eka sovellus on valmis!”
    Voit kokeilla myös muita tekstejä, kun olen tehnyt ensin tämän:
  7. Sovellus on nyt valmis testattavaksi kännykässä. Luo yhteys kännykän ja tietokoneen välille tämän sivun alussa olevan: Wi-Fi yhteys, Cromebookin ja Android-puhelimen välillä- ohjeen mukaan

Kun sovelluksesi toimii, voit tehdä lisätehtäviä tähän tyyliin:
Muuta sovellusta siten, että ravistettaessa kännykkää se sanoo: ”Ravista vielä!”
Muuta sovellusta siten, että kännykkä sanoo käyttäjän haluaman sanan

Voit myös kokeilla tehdä myös muita sovelluksia. Tästä löyty ohjeita, joiden ohjevideon mukaan on helppo tehdä oma sovellus:

Apua ongelmatilanteisiin:

  • Jos muutokset eivät tule näkyviin kännykkään, niin tee Connect – Hard reset MIT App Inventorin näytöllä. Ja muodosta yhteys uudelleen!
  • HUOM2: Jos puhetta ei kuulu, tarkista onko kännykän ääni pienelle. Jos ei vieläkään kuulu, niin tarkista on TextToSpeech- komponentin Country ja Languguage valittu.

Oman sovelluksen jakaminen muille:

  1. Tee apk. paketti sovelluksestasi, niin voit jakaa sen kavereille:
    Build – App (save apk. to my computer)
  2. Lähetä apk. paketti sähköpostilla kaverillesi.
  3. Pyydän kaveria muuttamaan puhelimen asetuksia, jotta voi hän voi asentaa apk. paketin itselleen:  Lukitusnäyttö ja suojaus: Salli tuntemattomat lähteet.
    MUISTA PALAUTTAA ASETUS TAKAISEN ENNALLEEN, KUN OLET ASENTANUT SOVELLUKSEN.

LISÄTEHTÄVIÄ:
Voit ladata myös valmiin lähdekoodin, ja muokata siitä mieleisesi sovelluksen. Tässä esimerkkinä Minigolf pelin linkki, joista voit ladata myös lähdekoodin eli MIT App Inventorin .iai- tiedoston. Ladattuasi tiedoston voi tuoda se MIT App Inventoriin näin:
Projects – Import project (.iai) from my computer – Ladatut tiedostot: valitse ladattu .iai.

Minigolfissa löydään (sormella) palloa ja pyritään saamaan se reikän. Peli laskee lyöntien määrän, ja antaa uuden reiän, kun saa pallon reikään.

TEE MUUTOS MINIGOLFIIN:
Lisää Minigolf- peliin uusin nappula nimeltä Close ja koodaa siihen, että sovellus sulkeutuu klikattaessa nappulaa. Voit testata muutoksesi toiminnan älypuhelimessasi vasta, kun olet ladannut pelin puhelimeen. Eli muokatun lähdekoodin voi  tallentaa .apk- paketiksi ja jakaa sähköpostilla vaikkapa kavereille!

LISÄÄ HARJOITUKSIA NOPEILLE TAI KOTONA TEHTÄVÄKSI:
Voit tehdä sovelluksen näiden ohjeiden mukaan ja sitten muokata siitä mieleisesi:

 

 

 

Musiikkiohjelmointia – Sonic PI

SonicPI- ohjelman voi ladata täältä: http://sonic-pi.net/

SonicPI:llä tehty biisi voi kuulostaa vaikka tältä: Introduction

Käynnistäkää SonicPI- ohjelmat koneiltanne. Tutustutaan yhdessä käyttöliittymään, joka koostuu kolmesta pääikkunasta:

  • Ohjelmointipaneeli koodin kirjoittamista varten
  • Lokipaneeli koodin suorituksen seuraamista varten
  • Apupaneelista löytyy help, jossa hyödyllisiä esimerkkejä ja ohjeita koodaamiseen: komennoista, äänistä, efekteistä..

Tehdään yhdessä muutama kokeilu, jonka jälkeen voitte tehdä musaa itse. Tämä on ns. LIVE-koodausta ja sitä voisi verrata vaikka kitaran näppäilyyn. Muistakaa, että tässä musan tekemisessä ette voi tehdä virheitä, ainoastaan uusia ominaisuuksia !!

Koodausvinkki 1.
Koodatessa tarvii normaalitilanteessa vain vähän kirjoittaa tekstiä. Yleensä riittää, kun osaa kopioida koodia paikasta toiseen ja tehdä siihen tarvittavat muutokset.
Tunteeko porukka hiirellä kopioinnin, tai komennot CTRL+C ja CTRL+V ??
Jos kaikki ei tunne, niin näytän projektorilla yhteisesti.

MELODIAN SOITTAMINEN:

Avaa Apupaneelista vasemmalta Tuturial ja sieltä 2.1 Your first beeps- kappale.

  • Kokeillaan koodata ääniä.
    Kirjoittakaa ensin PLAY 70. Miltä kuulostaa?
    Kokeilkaa sitten muuttaa numeroa, mitä vaikutti?HUOM: voit kopioida esimerkkikoodit tästä sivulta!!
   play 70
  • Sitten voit laittaa useamman äänen peräkkäin. Kokeile!
play 72
play 75
play 79
  • Huomasit varmaan, että äänet eivät soi peräkkäin, vaan yhtäaikaa.
  • Melodian saa aikaan laittamalla SLEEP- komentoja PLAY-komentojen väliin.
    SLEEP 1 = odottaa kokonaisen iskun. Mitä pienempi arvo, sitä lyhyemmän aikaa odotetaan.
play 72
sleep 1
play 75
sleep 1
play 79
  • Jos hallitset nuotit, voit käyttää myös kirjamia numeroiden tilalla.
play :C
sleep 0.5
play :D
sleep 0.5
play :E
  • Jos tunnet nuotit, niin tämä taulukko kertoo miten eri tauot ja sävelpituudet toimivat SonicPI:ssä:

Tässä opittiin tapa tehdä ääniä itse.

 

TOISTAMINEN:

Kun sinulla on melodia koodattuna, haluat ehkä toistaa sitä useamman kerran. Muistat ehkä aiemmilta koodauksen tunneilta Toista- komennot (=silmukka). SonicPI:ssä komento on ”2. times do” ja ”end”. Kakkonen kertoo montako kertaa rivit toistetaan.

2.times do
  play :c4
  sleep 0.5
  play :d4
  sleep 0.5
  play :e4
  sleep 0.5
  play :c4
  sleep 0.5
end

… ja toistoja voi lisätä myös sisäkkäin:

4.times do
  4.times do
    play :c4
    sleep 0.25
  end
  play :d4
  sleep 0.5
  play :f4
  sleep 0.5
end

Nyt olet oppinut tekemään jo melodian.

 

BIISIN TEKEMINEN (RUMPUBIITTI):

Tutustutaan ensin rumpubiitin tekemiseen LIVE_LOOP-komennon avulla. Sitten lisätään biisiin basso- ja päämelodiat.

  • LIVE_LOOP:n sisällä olevia rivejä toistetaan, niin kauan, että painetaan STOP-nappula.
  • LIVE_LOOP ajetaan yhtäaikaa muiden looppien kanssa.
  • LIVE_LOOP:lle annetaan nimi : kaksoispisteen jälkeen.
  • LIVE_LOOP:n sisällä on oltava vähintään yksi SLEEP.
live_loop :rummut do
  sleep 1
end

Kopioi tästä rumpubiitti itsellesi:

use_bpm 100

live_loop :rummut do
  sample :drum_heavy_kick
  sleep 1
  sample :drum_snare_hard
  sleep 1
  sample :drum_heavy_kick
  sleep 1
  sample :drum_snare_hard
  sleep 1
end
  • Kirjoita  :rummut tilalle :oma_nimi
  • Klikkaa RUN- nappulaa.
  • Mitä kuuluu ?? Tämä on perusbiitti, johon voit nyt lisätä muita ääniä.
  • STOP- nappula pysäyttää biisin.
  • LIVE_LOOP:in edessä on USE_BPM- komento. Sillä voit muuttaa biitin tempoa eli sitä, kuinka tiheään ääni kuuluu.
  • Voit vaihtaa SAMLE- rivejä tai lisätä niitä.
    Tee uusi rivi ja kirjoita siihen SAMPLE ja paina välilyönti-näppäintä, niin ohjelma tarjoaa sinulle vaihtoehdot millaisia sampeja voit lisätä.
    SAMPLE-komennon jälkeen tulee : kaksoispiste ja samplen nimi.

 

BIISIN TEKEMINEN (BASSORAITA):

Kopioit tästä bassoraitaa varten koodiisi uusi LIVE_LOOP-komento.

live_loop :basso do
  play :c2
  sleep 0.25
  play :c2
  sleep 2
  play :e2
  sleep 0.75
  play :f2
  sleep 1
end

PLAY-komennon äänen voi muuntaa eri kuuloiseksi USE_SYNTH- komennon avulla.
Kirjoita LIVE_LOOP- rivin jälkeen USE_SYNTH- komento ja paina välilyöntinäppäintä, niin sinulle avautuu lista, josta valita. Kokeile!

 use_synth :chipbass

Voit myös haluta soittaa säveliä eri pituisina. Tällöin voit lisätä PLAY-komentoon ATTACK ja RELEASE parametrin. Kokeile!

play 60, attack: 1, release: 3

 

BIISIN TEKEMINEN (PÄÄMELODIA):

Nyt biisin taustaäänet on kunnossa, ja puuttuu enää päämelodia. Se voidaan kirjoittaa PLAY ja SLEEP- komennoilla, mutta helpompi tapa on käyttää PLAY_PATTERN_TIMED- komentoa.

Kopioi tästä päämelodiaa varten uusi LIVE_LOOP.

live_loop :melodia do
  play_pattern_timed [:c4, :e4, :f4, :g4, :f4, :e4, :f4, :g4, :f4, :e4, :f4], [0.25, 0.25, 0.25, 1.5, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]
end

Nyt sinulla on biisi tehtynä. Kokeile muuttaa arvoja, niin saat muokattu biisistä ihan omanlaisesi !!

KAPPALEEN NAUHOITTAMINEN:

Kun biisi on valmis, haluat ehkä nauhoittaa sen ja kuunnella sitä myöhemminkin. Se tapahtuu näin:

  1. Paina REC painiketta.
  2. Nauhoitus on nyt päällä, joten laita biisi kuulumana RUN painikkeella.
  3. Kun haluat lopettaa nauhoituksen paina REC painiketta uudelleen.
  4. Nyt aukeaa tallennusikkuna, johon voi antaa biisille nimen.

Kun olette tallentaneet oman biisin omalle levylle, niin pyydä koodiopelta muistitikku, johon laitat biisin talteen. Voidaan kuunnella niitä yhteisesti. Oman biisin voitte kuunnella kaksoisklikkaamalla biisin wav-tiedostoa resursisen hallinnasta!

VALMIIT ESIMERKIT:

Tästä linkistä voi katsella valmiita esimerkkejä. Niistä voi myös kopioida koodin omaan SonicPI ohjelmaan, ja muokata koodia omaksi biisiksi!

HIPHOP beetti:

# Hip Hop Beat
# Mehackit 2016

use_bpm 90

live_loop :biitti do
  sample :bd_808, rate: 1, amp: 4
  sleep 1
  sample :elec_hi_snare, amp: 1
  sleep 1
  sample :bd_808, rate: 1, amp: 4
  sleep 1
  sample :elec_hi_snare, amp: 1
  sleep 1
end

live_loop :luuppi do
  sample :loop_breakbeat, beat_stretch: 4
  sleep 4
end

live_loop :kitaramelodia do
  sample :guit_e_fifths, rate: 0.5, amp: 1.5
  sample :guit_e_fifths, rate: 1, amp: 0.8
  sleep 1.5
  sample :guit_e_fifths, rate: 1.5, amp: 0.8
  sleep 1.5
  sample :guit_e_fifths, rate: 1.4, amp: 0.8
  sleep 3
  sample :guit_e_slide, rate: 1, amp: 0.8
  sleep 2
end

live_loop :ujellus do
  with_fx :echo, phase: 1.5, mix: 0.5 do
    use_synth :mod_beep
    use_synth_defaults mod_phase: 0.125, pulse_width: 0.8, mod_wave: 2, attack: 1
    play :G5
    sleep 8
  end
end

live_loop :hihat do
  16.times do
    sample :drum_cymbal_pedal, start: 0.05, finish: 0.4, rate: 3, amp: 0.5 + rrand(-0.1, 0.1)
    sleep 0.125
  end
  4.times do
    sample :drum_cymbal_pedal, start: 0.05, finish: 0.6, rate: 3, amp: 0.5 + rrand(-0.1, 0.1)
    sleep 0.25
  end
  16.times do
    sample :drum_cymbal_pedal, start: 0.1, finish: 0.3, rate: 3, amp: 0.5 + rrand(-0.1, 0.1)
    sleep 0.0625
  end
end

 

Täma materiaali on koottu parin tunnin mittaisen session opiskelumateriaaliksi 6. luokan oppilaille Mehackitin sivulta: http://sonic-pi.mehackit.org/index_fi.html
Kuten Mehackitin materiaali, niin myös tämä on on myös Creative commons CC-BY-SA lisenssin alaista.