30. aprill 2018

Scratchis (geomeetriliste kujundite) joonistamine

Minu 5. klassi õpilased õpivad Scratchiga programmeerimist GAGi õppematerjalide abil. Ka joonistamisfunktsioonide õppimiseks olin senini kasutanud nende video- ja kirjalikke juhendeid, kuid sel aastal otsustasin geomeetriliste kujundite joonistamise osa natuke teistmoodi õpetada.
Scratch_geomeetrilised_kujundid_joonistamine_Kristi_Proge_Blog
Näide õpilase tööst.

Tundide eesmärk

õpilane oskab Scratchis programmeerida spraidi liikumist ning kasutada joonistamisfunktsioone geomeetriliste kujundite ja nimetähtede joonistamise programmeerimiseks.

Tegevused:

  1. Kõigepealt õppisid õpilased GAGi õppematerjalide* abil selgeks Scratchis tegelase (spraidi) juhtimise nooleklahvide abil ja arendasid sama programmi edasi, pannes tegelase ka joonistama. (aeg: 2 koolitundi koos iseseisvate ülesannetega)
  2. Kordasime koos üle geomeetrilised kujundid (ristkülik sh ruut, kolmnurk sh võrdkülgne kolmnurk, ring ja rööpkülik sh romb) ja nende omadused. Seejärel liitusid õpilased code.org keskkonnaga, kus nad Frozeni tegelaste Anna ja Elsa juhendamisel koostasid programme, mis joonistasid geomeerilisi kujundeid ja nendest omakorda lumehelbeid. (aeg: 1 koolitund)
  3. Järgmise tunni alguses vaatasime koos üle mõned eelmises tunnis Anna ja Elsaga koostatud programmid ja esitasin nende kohta kontrollküsimusi (korduste arvu, nurkade suuruste jms kohta). (aeg: 20 minutit)
  4. Iseseisev töö "RIKO joonistab kujundeid" Scratchis, kus iga nimetäht (R, I, K, O) tuli programmeerida joonistama erinevat kujundit (ruutu, ringjoont, kolmnurka ja rombi). Õpilastel oli täpne tööjuhis, mida järgides nad ülesannet täitsid. Ühtegi skripti seal ei olnud, ainult kirjeldus, mida programm peab tegema. Juhend sisaldas ka suunavaid küsimusi ja abistavaid vihjeid. (aeg: 60 minutit)
  5. Loovtöö. Matemaatika vihiku esikaane kujundamine programmiga "RIKO joonistab kujundeid". Oma esikaane jagamine klassikaaslastega (Padletis) ja klassikaaslaste kujunduste kommenteerimine. (15 minutit)
  6. Programmi "RIKO joonistab kujundeid" hindamine ja tagasisidestamine (õpetaja). Oma programmis vigade silumine (õpilased).
  7. Lõputöö "Minu nimetähed" kavandamine. Õpilaste ülesandeks oli koostada programm, millega kirjutada oma nimede esitähed (idee pärit GAGi õppematerjalidest). Alustasime kavandamisest: iga õpilane joonistas paberile (vihikusse) oma ees- ja perenime esitähed ning sinna juurde nooltega spraidi liikumise ja iga liikumise juurde ühe tähe oma nimest. Vaatasin iga õpilase kavandi üle ja kui see oli minu heakskiidu saanud, alles siis alustas õpilane programmi koostamisega. (aeg: kuni 1 koolitund)
  8. Lõputöö "Minu nimetähed" programmeerimine Scratchis ja refleksioon. (aeg: 3 koolitundi)
  9. Lõputöö "Minu nimetähed" vigade silumine. Eelnevalt olin õpilaste tööd üle vaadanud ja omapoolsed tähelepanekud õpilastele edastanud. (kodune ülesanne)
  10. Lõputöö hindamine. (õpetaja)
  • tunneb tasapinnalisi geomeetrilisi kujundeid ja teab nende põhiomadusi;
  • koostab Scratchis programmi, mis joonistab geomeetrilisi kujundeid;
  • koostab Scratchis programmi, mis joonistab tema nimetähed;
  • mõistab programmi kavandamise olulisust;
  • kasutab programmis korduvate tegevuste jaoks kordust ehk tsüklit;
  • tuvastab oma programmis vead ja silub need;
  • kasutab algoritmilist mõtlemist ja probleemilahendamisoskust.


Tähelepanekuid

  • code.org'is osutus kõige suuremaks pähkliks 6. tase, kus tuli kõigepealt koostada programm ruudu joonistamiseks (4 kordust) ja seejärel panna ruudu joonistamine kümme korda korduma, et tekiks lumehelves. Lasin õpilastel 6. tasemel veidi aega ise pusida ja siis juhendasin neid kõiki ühiselt, kes 6. tasemele stoppama jäid.
  • code.org'i ülesannete juures meeldib see, et seal peab õpilane programme koostades ka mõtlema samas kui video- ja kirjalike juhendite puhul on peamiselt n-ö maha tegemine.
  • Kui õpilane jäi "RIKO joonistab kujundeid" ülesandes mõne kujundi joonistamise skriptiga hätta, kasutasin tema juhendamiseks paberi ja pliiatsi abi. Näiteks joonistasin tema programmi järgi spraidi liikumise paberile (vajadusel lisasin nurkade suurused). Sel moel taipas õpilane üsna kiiresti, kus on vead ja kuidas need parandada.
  • Lõputöö "Minu nimetähed" puhul on kavandamise etapp väga oluline, et vältida hiljem seda, et programm tuleb ümber teha. Mõned sagedamini esinevad vead: õpilane unustab ära, et nimetähtede vahele tuleb programmeerida (pliiats üleval) liikumine; tähe joonistamiseks ei valita kõige lühem tee; vahel on otstarbekam alustada nimetähe kirjutamist ülevalt, vahel alt ja vahel lõpust, et tehtavate sammude arv oleks väike; erinevate joonte joonistamiseks valitakse sama täheklahv.
  • Õpilaste tähelepanu peab juhtima asjaolule, et lõputöö puhul ei tohi joonistamisel kasutada mine x..., y... ning osuta suunas klotse (v.a programmi alguses). Selline kitsendus tuleneb asjaolust, et nende klotside puhul ei pea õpilane välja arvutama nimetähtedes olevate nurkade suurusi, aga mina soovin, et nad seda teevad.
  • Kavandit tohib programmeerimise käigus muuta, kui selgub, et kavandil plaanitud liikumist õpilane programmeerida ei oska (nt S-tähe joonistamine) või avastab programmeerides parema lahenduse kui kavandil.

Jälgi KristiProget ka Facebookis.

Seotud postitused

19. aprill 2018

TED Talk "How we need to remake the internet"

Jaron Lanier on kogenud TED kõneleja, kuid mitte ainult. Ta on ka visionär. Ja virutaalreaalsuse isa. 1985. aastal asutas ta ettevõtte, mis esimesena tootis ja müüs virutaalreaalsuse prille ja kindaid tavakasutajale. Tema nimega seostatakse ka avatare ja virutaalmaailma, milles viibib korraga mitu inimest. Kui tutvuda tema elu ja saavutustega, ilmneb et tegemist on andeka inimesega.

Oma kõige värskemas TED kõnes meenutab ta 1980-ndaid ja seda, millisena ta internetti tol ajal ette kujutas. Ta ei salga, et ta ettekujutus oli idealistlik. Oma kõnes jõuab ta sujuvalt tänapäeva ja võtab teemaks tehnoloogiahiiglaste Google'i ja Facebooki ärimudeli, mis on üles ehitatud reklaamimüügile. Ta tunnistab, et tegemist ei ole enam sotsiaalvõrgustikega, vaid inimeste käitumist kujundavate impeeriumitega (behavior modification empires). Jaron teeb kõrvalepõike psühholoogiasse ja selgitab biheivorismi abil, kuidas inimesed reageerivad välismaailmast saadud stiimulitele. Just sama lähenemist kasutavad oma ärimudelis Google ja Facebook.

Jaron leiab, et selline lähenemine, kus pakutakse küll tasuta teenust, aga mõjutatakse inimesi (ehk kujundatakse nende käitumist) reklaamide kaudu, on viga. Samas leiab ta, et kui me mõistame seda viga ja selle tekkepõhjuseid, siis on võimalik seda parandada. See tähendab küll tasulist sotsiaalvõrgustikku, aga Jaron toob näiteks Netflixi, mille eest inimesed maksavad ja on nõus maksma, et saada kvaliteetset teenust.

TED kõne "How we need to remake the internet" on ligi 15 minutit pikk, kuid on informatsioonirohke ja lõimib mitme valdkonna teadmisi, mis teeb selle ettekande ühelt poolt huvitavaks, kuid samas nõuab selle jälgimine kuulajalt tähelepanelikkust.

See TED Talk kõnetas mind seetõttu, et Jaron Lanier ei ole esimene inimene, kes osutab vajadusele luua tasuline sotsiaalvõrgustik. Inimesed on nõus raha välja käima selleks, et nende kohta kogutud andmetega ei äritsetaks. Küsimus ongi selles, et kes on see ettevõtlik inimene, kes julgeb Facebooki suuruse ettevõtte kõrvale luua sotsiaalvõrgustiku, mille eest küsitakse inimestelt tasu. Netflix sai sellega filmi- ja seriaalimaailmas hakkama. Spotify tegi sama muusikamaailmas. Youtube liigub (osaliselt) tasuliseks muutumise suunas. Ehk on aeg küps ka tasulise sotsiaalvõrgustiku jaoks?


18. aprill 2018

Algoritmiline mõtlemine - ülesandeid 10+ vanusele

Paar nädalat tagasi kirjutasin siin, kuidas algoritmilise mõtlemise oskust kuni 10-aasta vanustes lastes kujundada. Veel varasemas postituses kirjutasin lahti, mis algoritmiline mõtlemine täpsemalt on. Tänases postituses annan ülevaate materjalidest, mille abil saab arendada teismeliste ja vanemate isikute algoritmilist mõtlemist. Rõhk on tegevustel ja ülesannetel, mille läbiviimiseks või lahendamiseks ei lähe vaja arvutit.

Õpilasvõistlus Kobras

Kooli matemaatika ja informaatikaõpetajad on kindlasti tuttavad võistlusega Kobras. Kobras on Leedust alguse saanud ja nüüdseks üle maailma levinud võistlus kooliõpilastele, mille eesmärk on populariseerida arvutiteadust (informaatikat) ja arendada õpilaste algoritmilist mõtlemist. Õpilased võistlevad kolmes vanuserühmas: benjamid (6.-8. klass), juuniorid (9.-10. klass) ja seeniorid (11.-12. klass). Kuigi ülesannete lahendamine toimub arvutis, siis peale eelvooru ja lõppvooru toimumist tehakse ülesanded pdf-formaadis avalikuks ja kõik soovijad saavad neid lahendada. See viimane ongi suurepärane info neile, kes soovivad enda või noorte algoritmilist mõtlemist arendada.

Algoritmiline_mõtlemine_Kristi_Proge_Blog
Ülesanne õpilasvõistluselt Kobras.
Kobrase koduleht.
Ülesanded ja võistluste tulemused (eesti keeles).

Ajakiri Imeline Teadus

Igas ajakirja Imeline Teadus numbris ilmuvad lugejatele lahendamiseks ülesanded, millest mitmed arendavad ka algoritmilist mõtlemist. Mina ei jäta seda lehekülge kunagi vahele.

Raamatud

Mina ise kasvasin üles Nupula raamatutega. Ka praegu leiab raamatupoodidest ülesannete kogumikke, mis arendavad algoritmilist mõtlemist. Raamatue pealkirjast leiab enamasti sõna 'loogika'. Näiteks kirjastuselt "Tänapäev" leidsin raamatu Suur loogikamõistatuste piibel.

Veeb

Avastasin (mitteaktiivse) matemaatikaülesannete blogi, kus leidub ka mitmeid algoritmilist mõtlemist arendavaid nuputamisülesandeid.
loogika_algoritmiline_mõtlemine_Kristi_Proge_Blog
Ülesanne matemaatikaülesannete blogist.

Mängud

Algoritmilist mõtlemist arendavad ka laua-, kaardi-, programmeerimis- ja mitmed arvutimängud, samuti jaapanist pärit Sudoku ja Kakuro. Viimaseid saab lahendada nii paberil (Sudoku mänguväljasid leiab näiteks ajalehtedest ja ajakirjadest) kui ka mängida veebis või nutiseadmes. Sudokut näiteks siin ja Kakurot siin.

algoritmiline_mõtlemine_mäng_kakuro_Kristi_Proge_Blog
Kakuro. Kuvatõmmis

8. aprill 2018

Nädala nopped nr 59

Minu selle nädala (ja suure tõenäosusega ka järgmise) märksõnaks on #ReadyPlayerOne koos virtuaalreaalsuse, 1980. aasta arvutimängude, filmide, muusika, moe jms. Olen filmihaibi suhtes ettevaatlikuks muutunud, kuna üldsuse arvamus kipub minu maitsest erinema. Seega hakkasin hoopiski samanimelist raamatut lugema. Kui raamat meeldib, siis lähen ka kinno filmi vaatama. Võiksin sellest raamatust juba praegu pikalt kirjutada, aga selleks oleks vaja eraldi blogi. Niisiis naaseme selle blogi teemade juurde ja esitlen selle nädala noppeid.
Nädala_nopped_Kristi_Proge_Blog
Foto: Jared Tarbell

4. aprill 2018

TED Talk "How we can teach computers to make sense of our emotions"

IBM's disainerina töötav Raphael Arar selgitab oma TED kõnes, miks on äärmiselt keeruline programmeerida masinat inimese moodi suhtlema. Selle illustreerimiseks kõneleb ta nostalgiast, intuitsioonist ja kuidas inimesed omavahel suhtlevad. Ta tutvustab ka oma interaktiivseid projekte, mille abil võiks (kaugemas) tulevikus luua tehnoloogiat, mis suudab inimestega suhelda inimeste moodi.

Raphael Arari "How we can teach computers to make sense of our emotions" oli mulle huvitav seetõttu, et kuna tunded ja suhtlemine on inimesele nii omased, siis ei mõtlegi me sügavamalt kui keeruliste protsessidega on tegelikult tegemist. IBMi disaineril õnnestub väga hästi selgitada, miks tehisintellekt ei suuda inimese moodi suhelda ning mulle isiklikult jäi mulje, et lähimas tulevikus seda ei juhtu ka.


3. aprill 2018

Algoritm. Laste algoritmilise mõtlemise arendamine

Minu blogipostitus algoritmilisest mõtlemisest, kus kirjutan, mis see on ja millistest komponentidest koosneb, on üks populaarsemaid sissekandeid minu blogis.

Tänases postituses lähenen teemale vähem teoreetiliselt ja toon näiteid igapäevaelust, kus me algoritme kasutame, sest postitus on mõeldud lastevanematele ja õpetajatele, kelle kasvatada ja harida on noorem vanuserühm ehk kuni 10-aastased lapsed või õpilased.

Kui aus olla, siis laste algoritmilise mõtlemise arendamise olulisusest leiab palju artikleid ja blogipostitusi, aga palju vähem (tegelikult väga vähe) kirjutatakse, milliste tegevuste kaudu seda oskust kujundada. Seega ongi postituse teises osas välja toodud (peamiselt ekraanivabad) tegevused, mis aitavad laste algoritmilist mõtlemist arendada.

algoritm_algoritmiline_mõtlemine_Kristi_Proge_Blog
Foto: Peter Vongsayarath


Algoritm - definitsioon ja näiteid igapäevaelust


Algoritm ühe lausega
Algoritm on samm-sammuline õpetus, kuidas mingit ülesannet sooritada või probleemi lahendada. 

Algoritmist natuke pikemalt
Algoritmi koostamine eeldab suurema probleemi väiksemateks osadeks võtmist. 
Algoritm ehk samm-sammuline õpetus peab olema täpne ja selgesõnaline. Arvutiteaduses, sh koodi kirjutamisel, on selged ja täpsed juhised väga olulised, sest arvuti ise ei mõtle.
Algoritmi puhul on tähtis tegevuste õige järjekord. 
Algoritm peab olema korduvalt kasutatav, sest me ei soovi ju iga kord sama probleemi uuesti lahendama hakata. 
Algoritmi väljundit ehk tulemust peab olema võimalik ette ennustada.

Kuigi sõna algoritm võib tunduda liiga keeruline, et seda teemat lastega arutada, siis tegelikult kasutavad lapsed, nagu ka nende vanemad, algoritme pidevalt oma igapäevaelus.

Algoritmide näiteid igapäevaelust:
  • hommikused tegevused kodus enne lasteaeda või kooli minemist;
  • hommikupudru valmistamine;
  • riietumine (nt enne püksid ja siis saapad, mitte vastupidi);
  • liitmis-, lahutamis-, jagamis- ja korrutamistehted paberil;
  • sõnade reastamine tähestikulisse järjekorda;
  • õigekirjareeglid;
  • tulede vahetumine valgusfooris;
  • paberist voltimise (origami) õpetus;
  • lauamängu mängimise juhend.
algoritm_algoritmiline_mõtlemine_lapsed_Kristi_Proge_Blog
Foto: COD Newsroom (Flickr)


Laste algoritmilist mõtlemist arendavad tegevused


Arvutiteaduses on algoritmilise mõtlemise oskus eelduseks, et inimene (programmeerija) suudaks arvuti panna tegema seda, mida tema tahab. Samas ei pea selle oskuse kujundamiseks kasutama arvutit või hakkama programmeerimist õppima. Siin on mõned tegevused, mis arendavad laste algoritmilist mõtlemist.
  1. Pillimängu õppimine. Tegevuste järjekord ja korduste kasutamine on oskused, mida on vaja pillimängus ja need on omakorda tihedalt seotud algoritmilise mõtlemisega.
  2. Tantsude õppimine. Tantsu õppides on oluline tantsusammude järjekord ja sammude kombinatsiooni kordamine.
  3. Mustkunstniku trikkide õppimine. Triki õnnestumiseks peab tegevuste sooritamise järjekord olema õige. Trikkide õppimiseks leiab videosid YouTube'ist ja mänguasjapoodidest saab osta mustkunstiku komplekti, mis sisaldab trikkide tegemiseks vajalikke vahendeid.
  4. Male ja teised lauamängud. Lauamängude mängimisel peab kinni pidama mängureeglitest ja oluline on oskus oma tegevusi ette planeerida. Viimane sisaldab ka tingimuslause kasutamist, mis on natuke keerulisemate algoritmide osa.
  5. Kaardimängud. Kaardimängudes peab järgima mängureegleid ja samuti on suurem tõenäosus võita, kui oma tegevused pikemalt ette planeerida. 
  6. Söögivalmistamine. Tegevuste õige järjekord on söögivalmistamisel üldiselt väga oluline. Väiksemad lapsed ei pea ise veel kõike otsast lõpuni valmis tegema, alguses võivad nad olla vanemale abiks. Vanem võiks tehtavaid samme lapsele selgitada.
  7. Mänguklotsidest ehitamine. Mänguklotsidega tulevad kaasa samm-sammulised õpetused ja üsna ruttu saab selgeks, et kui olla nende järgimisel hooletu, siis soovitud ese (auto, maja vms) ei valmi.
  8. Käsitöökomplektid. Mänguasjapoodides on müügil nii kleepimise, õmblemise, ehete meisterdamise jms komplekte. Taas kord õpib laps nende kaudu tegevuste õiges järjekorras tegemise olulisust.
  9. Origami ehk paberist voltimine. Origami puhul on juhendi järgi tegutsemine ainuke viis soovitud tulemuse saavutamiseks. Raamatupoodides leiab isegi selliseid origami raamatuid, kus on olemas vajalikud töövahendid. YouTube'is on palju kanaleid, mis sisaldavad paberist voltimise videoõpetusi lastele. Suur pluss on see, et võõrkeel ei ole õpetuse järgimisel takistuseks.
  10. Arvutimängude mängimine. On vähe arvutimänge, mis algoritmilist mõtlemist ei arenda, sest mängimisel on oluline tegevuste järjekord või loogika või peab mängija midagi looma (nt linnu ehitama). Üks hea näide sellisest mängust on Minecraft, millel on olemas ka nutiseadme versioon. Muidugi peab lapse arvutis veedetud aeg olema piiratud (soovitavalt nooremad lapsed kuni 1 h ja natuke vanemad lapsed kuni 2 h päevas), et tegevus lapse tervist ei rikuks.
  11. Programmeerimismängud lastele. Programmeerimismängudest on siin blogis päris palju juttu olnud. Need arendavadki eelkõige lapse algoritmilist mõtlemist (tegevuste järjestamine, kordused, tõhusaim lahendus jne), mitte ei õpeta last koodi kirjutama.
  12. Nuputamisülesanded. Suurepäraselt sobivad algoritmilise mõtlemise arendamiseks nuputamisülesanded. Üheks näiteks on kujundite või numbrite rida ja laps peab ära arvama rea lõpust puuduva elemendi. Ülesande lahendamiseks peab laps tuvastama reegli. Selliseid nuputamisülesandeid leiab igale vanuserühmale alates kooliealistest kuni täiskasvanuteni välja.
  13. algoritm_mustri_tuvastamine_Kristi_Proge_Blog
    Nuputamisülesanne eelkooliealistele.
    Allikas: educationalcoloringpages.com
Ma arvan, et paljud lugejad kogesid seda postitust lugedes äratundmisrõõmu, sest mitmed nendest tegevustest kuuluvad juba laste igapäevategevuste hulka. Nüüd on lisandunud teadmine, et need arendavad ka järeltulijate algoritmilist mõtlemist.

Kasutatud materjalid
Solving problems with algorithms: Resources for younger children and their parents