18. juuli 2019

Arvutivaba programmeerimine: õpi tingimuslauset kaarte mängides


arvutivaba_arvutita_programmeerimine_tingimuslause_Kristi_Proge_Blog
Tingimuslause ehk valiklause moodustamist saab harjutada kaartidega. Foto: Amanda Jones (Unsplash)

Suvi 2019 väljakutse on tutvustada arvutivaba programmeerimise tegevusi. Nende olulisusest programmeerimise õppimisel olen lähemalt kirjutanud programmeerimise baasoskuste õpetamise postitustes siin ja siin.


Täna tutvustan arvutivaba programmeerimise tegevust, mille eesmärk on õppida moodustama tingimuslauseid ehk valiklauseid ehk if-lauseid.

Tegevuste kirjeldustes on tingimuslause tunnused (if, else) tõlgitud eesti keelde. Tõlke aluseks on võetud eestikeelne Scratch (if kui, else = muidu).

Vajad:

  • (virtuaalselt) täringut;
  • mängukaarte (igale meeskonnale üks kaardipakk);
  • paberit ja pliiatsit.
Tegevuse läbiviimiseks on vaja vähemalt kahte osalejat.

Tegevused samm-sammult

  • Tutvusta teemat tingimuslause. Alati ei piisa ainult sammudest, mis on järjest, vaid otsustada tuleb vastavalt olukorrale. Siis tulebki appi tingimuslause. Tingimuslause käivitub siis, kui tingimus on täidetud.
  • Teema sissejuhatamiseks kirjuta tahvlile järgmine tingimuslause:
tingimus_tingimuslause_arvutivaba_programmeerimine_Kristi_Proge_Blog
  • Hakka kohe sekundeid lugema ja aja möödumisel otsusta osalejate käitumise põhjal, kas nad saavad lubatud auhinna või ei.
  • Küsi: Mis oli auhinna tingimuseks?
    • Kui te olete 30 sekundit täiesti vaikselt, siis on tingimus täidetud ehk tingimus on tõene ja te saate auhinna
    • Kui te ei ole 30 sekundit täiesti vaikselt, siis tingimus ei ole täidetud ehk on väär ja te ei saa auhinda.
  • Moodustame veel mõned tinigmuslaused:
    • kui sa tead õiget vastust, siis tõsta käsi
    • kui väljas paistab päike, siis me läheme randa
    • Milliseid tingimuslauseid oskad sina moodustada?

  • Mõnikord vajame veel ühte tingimust juhuks, kui väide on väär ehk tingimus ei ole täidetud. Selle lisatingimuse jaoks kasutame sõna muidu:
  • Proovige järele. Veereta täringut ja jälgi, kas kõik osalejad käituvad õigesti. (Virtuaalse täringu saab näiteks siit.)
  • Analüüsige tingimuslauset:
    • Mis oli tingimuseks?
    • Mis oli lisatingimuseks?
    • Kumb tingimus oli täidetud?

Tingimuslause tingimuslause sees

  • Uskuge või mitte, aga meil on võimalik lisada veel üks tingimus:
    • Küsi: Mida teete kui tuleb 6? Vastus: plaksutame
    • Küsi: Aga kui tuleb 1? Vastus: ütleme Jee!
    • Küsi: Ja kui tuleb 4? Vastus: ütleme kurvalt Mmmmmm
  • Ja nüüd mängime seda mängu!

Tingimuslause mängukaartidega

  • Mõelge koos, milliseid tingimuslauseid saab moodustada mängukaartide kohta. Mõelge näiteks värvidele, mastile, numbri- ja pildkaartidele, kas punkte saab juurde või läheb maha jms.
  • Pange tingimuslaused algoritmina kirja, nt
  • Jaga osalejad meeskondadeks (liikmete arv peaks jaguma kahega) ja iga meeskond omakorda kaheks rühmaks. Jaga igale meeskonnale kaardipakk ning paber ja kirjutusvahend punktide märkimiseks.
  • Näita osalejatele ühte algoritmi, mille te koos koostasite.
  • Meeskondadesse jaotatud osalejad võtavad vaheldumisi kaardipakist kaardi ja lähtudes programmist, panevad kirja punktid.
  • Mängige see programm läbi mitu korda ja iga kord arvutage kokku teenitud punktid.

  • Kui osalejad on mõnda aega juba harjutanud, püüdke moodustada keerulisemaid tingimuslauseid, nt
  • Mängige mäng programmi järgi läbi.

Arutelu

  • Milliseid tingimustest sõltuvaid tegevusi teed sina päeva jooksul?
  • Tingimus on alati tõene või väär. Teisi väärtusi (nt tomat) tingimusel olla ei saa.
  • Kui on tingimus, et täring näitab rohkem kui 3 ning sa saad täringut veeretades 3, kas tingimus on täidetud?
  • Kuidas paned selle tingimuse kirja?
  • Milline osa mängust meeldis sulle kõige rohkem?

Arvutivaba prorgammeerimise tegevuse idee on saadud lehelt code.org.

Creative Commons litsents -Autorile viitamine, mitteäriline eesmärk, jagamine samadel tingimustel
Jälgi KristiProget ka Facebookis.

11. juuli 2019

Arvutivaba programmeerimine: tee ise lauamäng

lauamäng_arvutivaba_arvutita_programmeerimine_Kristi_Proge_Blog
Lauamängu loomisel on ühiseid jooni programmeerimisega. Foto: pixabay
Suvi 2019 väljakutse on tutvustada arvutivaba programmeerimise tegevusi. Nende olulisusest programmeerimise õppimisel olen lähemalt kirjutanud programmeerimise baasoskuste õpetamise postitustes siin ja siin.


Käesolev arvutivaba programmeerimise tegevus on lauamängu loomine, mis on, nagu ma hiljem ka täpsustan, paljuski sarnane programmi koostamisega.

Tegevuse kirjeldus

Lapsed mõtlevad ise välja lauamängu, mida saab mängida 2-4 inimest. Töötades meeskonnas, mõtlevad nad oma mängule taustaloo, lepivad kokku mänguvälja kujunduse, kujundavad nupud ja täringu(d), kus numbrite asemel võib olla midagi muud (nt värvid, kujud jms), joonistavad mänguvälja(d) ning panevad kirja reeglid. Oluline on see, et lapsed kasutavad mängu väljamõtlemisel oma fantaasiat ja ei püüaks mõnda olemasolevat lauamängu lihtsalt kopeerida.

Vahendid

Olenevalt sellest, millise mängu meeskond välja mõtleb, vajavad nad erinevaid vahendeid selle teostamiseks. Siin on loetelu mõnedest vahenditest, mida tavaliselt lauamängu loomisks vaja läheb:
  • paberit kavandi jaoks;
  • tugevamat paberit mänguvälja joonistamiseks;
  • joonlauda, hariklikku pliiatsit, värvipliiatseid, vildikaid jms joonistamiseks;
  • täringu tegemise õpetust (guugelda nt 'dice DIY' ja leiad mitmeid õpetusi);
  • paberit taustaloo ja reeglite kirjapanemiseks.

Tegevused samm-sammult

  • Jaga osalejad 3-4-liikmelisteks meeskondadeks (kui lapsi on vähe, võib töötada ka paaris).
  • Tutvusta osalejatele arvutivaba tegevust.
  • Jaga neile töövahendid.
  • Osalejad loovad meeskonnatööna lauamängu, sh panevad kirja mängureeglid.
  • Lauamängu autorid mängivad ise oma lauamängu läbi ja teevad vajadusel parandusi, täpsustavad reegleid jms (kaheliikmelised tiimid võiksid selles etapis omale lisamängijad leida).
  • Oma mäng antakse mängimiseks teistele meeskondadele, kellelt kogutakse tagasisidet. Vajadusel täiendatakse oma lauamängu ja selle reegleid veelgi.
  • Valmis lauamängu tutvustamine (ja kokkuvõte meeskonnatööst).
  • Refleksioon: arutlusring (mängu loomisel esinenud probleemid ja nende lahendused, õppetunnid jms), mille viib läbi tegevuse juhendaja.
Kogu tegevuseks tuleb planeerida mitu tundi (vähemalt kolm).

Seos programmeerimisega

Nagu juba eespool mainitud, on lauamängu loomisel ühiseid jooni programmeerimisega. Toon siinkohal välja järgmised:
  • algoritmiline mõtlemine = lauamängu valmistamine eeldab suurema ülesande osadeks võtmist, üldistamist (nt reeglite puhul) jt algoritmilise mõtlemise osaoskuste rakendamist;
  • algoritm = mängureeglite näol on tegemist algoritmiga;
  • testimine = kui lauamäng on valmis, siis mängitakse see läbi, et kontrollida, kas kõik algoritmid töötavad probleemideta;
  • puukide silumine = kui mängides tekib reeglites mingi ebakõla, siis mängu autorid täiendavad või lausa muudavad reegleid.

Creative Commons litsents -Autorile viitamine, mitteäriline eesmärk, jagamine samadel tingimustel
Jälgi KristiProget ka Facebookis.

4. juuli 2019

Arvutivaba programmeerimine: keeruliste probleemide lahendamine

Suvi 2019 väljakutse on tutvustada arvutivaba programmeerimise tegevusi. Nende olulisusest programmeerimise õppimisel olen lähemalt kirjutanud programmeerimise baasoskuste õpetamise postitustes siin ja siin.

Selles postituses tutvustan arvutivaba tegevust, mis on üsna pingeline ja paneb õppijad kohati raskesse olukorda, mistõttu on äärmiselt oluline, et tegevuse läbiviija oleks toetav ja julgustav.


arvutivaba_arvutita_programmeerimine_algoritmiline_mõtlemine_Kristi_Proge_Blog
Progammeerimisel peab vahepeal lahendama keerulisi probleeme. Foto: Pixabay


Tegevuse eesmärk

... on demonsteerida, kuidas lahendada keerulisi probleeme kasutades algoritmilise mõtlemise nelja komponenti: probleemi väiksemateks osadeks võtmine, mustrite tuvastamine, üldistamine ja algoritmi väljatöötamine. 


Tegevuse kirjeldus

Selle arvutivaba programmeerimise tegevuse paremini õnnestumiseks on vaja suuremat hulka osalejaid, kuid põhimõtteliselt saab seda tegevust läbi viia ka ainult kahe osalejaga.
  • Ütle osalejatele, et nende ülesanne on liita kokku kõik arvud ühest kahesajani (1-200).
  • Teavita neid, et seda tuleb teha peas.
  • Aega on 30 sekundit.
    • Osalejad võivad olla ehmunud, mis on antud tegevuse puhul tahtlik. Et neid rahustada, anna oma kehakeele ja hääletooniga mõista, et sa palud neil midagi hullumeelset teha.
  • Pane stopper tööle ja ütle "Läks!"
  • Jälgi samal ajal osalejad: Kes on lihtsalt kohmetunud? Kes üritab arve kokku liita? jms
  • Kui aeg läbi, uuri, kas kellelgi õnnestus arvud kokku liita?
  • Uuri, kas oli keegi, kelle jaoks ülesanne oli nii keeruline, et ta isegi ei proovinud?
  • Uuri, kas keegi proovis küll, aga ei jõudnud lõpuni? Küsi, kuidas nad proovisid seda teha?
  • Juhenda õpilasi probleemi väiksemateks osadeks võtma. Seda tehes on ülesannet ehk probleemi lihtsam lahendada:
    • Alustame mõlemast otsast. Palju on 200 + 1?
    • Palju on 199 + 2?
    • Palju on 198 + 3?
    • Kas näete mustrit?
    • Palju selliseid paare kokku tuleb?
      • Milline on viimane paar? (V: 100 + 101)
      • See teeb kokku 100 paari
      • Kui meil on sada paari arvu 201, siis kuidas leiame nende summa?
      • Palju on 100 * 201?
    • Kas saame sama lahendust kasutada ka teiste arvude jaoks?
    • Kas saame seda kasutada 2 000 jaoks?
    • Aga 20 000?
    • Mis on lahenduses sama ja mis on erinev?
    • Kasutades üldistamist, saame lahenduse ehk algoritmi, mida saab rakendada kõigi arvude jaoks.
  • Töötage koos lahenduse kallal. Lahendus on: (arv/2)*(arv+1) = vastus
  • Katsetage mõnede arvudega (2, 3, 4 & 5) kontrollimaks algoritmi korrektsust.

Räägi osalejatele, et kasutasite probleemi lahendamiseks algoritmilist mõtlemist. Kõigepealt võtsite suure probleemi väiksemateks osadeks. Seejärel tuvastasite sarnasused probleemi väiksemate osade vahel ehk leidsite korduva mustri. Siis jõudsite järeldusele, et sama lahendust saab kasutada ka teiste arvude jaoks ehk toimus üldistamine. Lõpuks töötasite välja algoritmi, mis sobib kõigi sarnaste probleemide lahendamiseks. 

Selline probleemilahendamise oskus on vajalik programmide koostamisel, kuid samuti igapäevaelu probleemide lahendamisel.

Järeltegevused

Arutage koos:
  • Mida peaksid tegema, kui sul palutakse teha midagi, mida sa ei oska?
  • Mida peaksid proovima teha, kui probleem on liiga keeruline?
  • Mida sa sellest järeldad, kui erinevatel ülesannetel on lahendustes sarnasused?
  • Kui sul on probleem, mis erineb probleemist, mille oled juba lahendanud, siis mida sa teed?
Arvutivaba tegevuse idee on pärit lehelt code.org.

Lõppsõna

Kui oled programmeerimist õpetanud või ise õppinud, siis tead, et kirjeldatud arvutivaba tegevuse alguses kunstlikult tekitatud pingeline olukord ei ole programmeerimise juures üldse erakordne. Sellist ahastuse tunnet kogevad õpilased aeg-ajalt ikka, on selle põhjuseks siis ülesande keeruline sõnastus, suutmatus kohe lahendust välja mõelda või oskamatus programmis viga üles leida, et see tööle saada.

Olen selliste tunnete tunnistajaks olnud nii õppijana kui ka õpetajana. Seetõttu näen käesoleva arvutivaba programmeerimise tegevuse väärtusena ka seda, et selle kaudu saab õpetada õpilastele raskes olukorras rahulikuks jäämist.


Creative Commons litsents -Autorile viitamine, mitteäriline eesmärk, jagamine samadel tingimustel

Jälgi KristiProget ka Facebookis.

2. juuli 2019

Digi ja (info)tehnoloogia arutlusteemad Arvamusfestivalil 2019

Foto: arvamusfestival.ee

Arvamusfestival on tulnud, et jääda. Sel aastal toimub see 9. ja 10. augustil ja ikka Paides. Sirvisin Arvamusfestivali kava ja valisin välja IT-ga seotud arutlusteemad. Minule isiklikult pakuvad suurimat huvi tüdrukud tehnoloogias ning andmeteaduse arutlusteemad.

Unicorn Squad - ükssarvikute pealetung!

09. august 2019 @ 12:00-13:30
Tehnika- ja tehnoloogia valdkonnas on täna veel vähe naisi ja levinud on arvamus, et tüdrukuid need teemad ei huvita. HK Unicorn Squad soovib äratada tehnoloogia-alast huvi tüdrukute seas ja teistmoodi lähenemisega on need teemad köitvad ja kaasahaaravad. Taavi Kotka algatusel tegutsevad täna üle Eesti juba 16 Unicorn Squad gruppi 200 tüdrukuga vanuses 7-12a. Festivalil jagavad noored ükssarvikud oma kogemust ja viivad läbi põnevaid tegevusi - oodatud on kõik!

Meedia ja meelelahutus 2030

09. august 2019 @ 12.00-13.30
Internet, tehnoloogia ja sotsaalmeedia on viimase kümne aasta jooksul raputanud kogu meedia ja meelelahutuse turgu. Mis kujundab aga neid valdkondi järgmise kümne aasta jooksul ning kas suudame ette ennustada võimalikke trende ja muutusi?

Generatsioon R ja robotite pealetung

09. august 2019 @ 14.00-15.30
Tänapäeval on keeruline leida inimest, kes mingil moel tehnika või tehnoloogiaga kokku ei puutuks. Robootika ja AI areng on kaasa toonud revolutsioonilised arengud kõigis eluvaldkondades, alustades kommunikatsioonist ja transpordist ning lõpetades terviseteenuste ning sõjaväega. Meie seas kasvab uus põlvkond, kes on harjunud, et programmeerimine on sama oluline kui kirjaoskus ja kõike keerukat või tüütut annab automatiseerida. Kuidas ennast uue generatsiooni jaoks valmis panna? Mis roll on inimesel tulevikus? Mis saab meie töömaailmast?

Mis on andmeteadus?

09. august 2019 @ 18:00-19:30
Andmeteadlast on peetud üheks 21. sajandi kõige olulisemaks elukutseks. Samas olid ju juba ka eelmisel sajandil olemas nii statistikud kui ka informaatikud ja võib tekkida küsimus, et mis uus asi see andmeteadus nüüd siis on. Kes on see andmeteaduse spetsialist, kelle väärtus nii ettevõtja kui ehk ka riigi jaoks oleks hindamatu - mida ta nii väärtuslikku teeb ja milline peaks olema tema haridus ja kogemused?

Küberrünne külmkapist? Tuleviku kuriteod

10. august 2019 @ 12.00-13.30
Räägime uutest tehnoloogiatest, nendega seotud võimalustest ja riskidest. Otsime digiarengute plusside ja miinuste vahel tasakaalu ning arutame, milliseid küsimusi peame tulevikku vaadates endalt ja ümbritsevatelt küsima, millele mõtlema.

Mis soost on ükssarvikud? Ehk tüdrukud tehnoloogiasse

10. august 2019 @ 14.00-15.30
Karm tõde on, et ülikoolide IT erialadel ja sellest lähtuvalt ka tööturul valitseb sooline lõhe. Nii inseneeria, teaduse kui tehnika valdkondades tegutseb palju rohkem mehi ning naiste erialavalikud saavad tihtipeale tõuke juba lapsepõlves kinnistunud soolistest stereotüüpidest lähtuvalt. Juba lapsepõlves kinnistunud stereotüübid juhivad noored tüdrukud erialavalikuil IT-st eemale kuigi ükski uuring ei tõesta, et poisid oleksid selles vallas kuidagi võimekamad. Kuidas tõmmata rohkem tüdrukuid tehnoloogia poole? Miks see üldse oluline on? Kes juhivad tulevikus maailma – kas poisid või tüdrukud? Mis loom on ükssarvik?

Rethinking the smart city

10. august 2019 @ 14:00-15:30
We all know what a smart home is, but what exactly is a smart city? Is it green, comfortable or something that evokes memories of a happy childhood? What does it offer to its people and businesses? Smart solutions eliminate traffic jams and parking problems, promoting green transport instead. They also offer effective and creative solutions for energy, water and waste disposal. Smart cities attract companies that think alike, creating a synergy of fresh ideas and people, cooperation and competition. Join us and let's rethink the city!

Kust leida vaikust?

10. august 2019 @ 18.00-19.30
Kuidas mõjutab pidev nutiseadmete kasutamine ja infoüleküllus meie ajutegevust ja vaimset tervist. Kuidas olla kohal, vaigistada segadust oma peas? Kas vaikus on hea ja müra halb?


Arvamusfestivali veebilehtarvamusfestival.ee

Jälgi KristiProget ka Facebookis.