Kuna meil on uusi huvilisi siis tuletame meelde vana ja proovime uut *Scratch-i.
Scratch on programm, mida kasutades saab selgeks programmeerimise nn. alustalad.
Ta on lihtne, kuid temaga saab palju ära teha.
Selle
programmiga projekte luues arenevad õpilaste matemaatiline ja
arvutialane mõtlemine, loovus, süsteemne arusaam (igale käsule järgneb
kindel tulemus), koostööoskus.
Scratch-i kodulehe aadress: http://scratch.mit.edu/ sealt saab vaadata näiteid, kasutada abimaterjale jne.
Mine kodulehele ja tutvu näidetega. Käivitamiseks roheline lipp, peatamiseks punane nupp.
Kui sul veel pole siis tee endale kasutaja ja jäta andmed meelde!
Robot tunneb ära palli värvi järgi ning lööb ainult punast palli. Selleks peab ta minema palli alusele piisavalt lähedale (sonar) ja eristama palli värvi/heledust (valgusandur). Löögi jaoks on vaja lisada kolmas mootor.
Vt ehitamise ja programmi tegemise juhiseid NXT programmi abist (paremal küljel).
Paneme oma roboti koduseid töid tegema :) Mänguväli on ümbritsetud tumeda joonega, laual on kolm kerget objekti. Robot algselt magab (ekraanil on silmad kinni = pilt "sleeping") ja ärkab tugevama heli peale (pilt "surprise"), ülesandeks on puhastada laud, lükates "taldrikud" üle laua ääre. (Robot lõpetab töö jällegi plaksu (piisavalt tugeva heli) peale ja jääb magama.) Vajalikud on heli- ja valguseandur.
NB! Oluline on määrata sobiv heli- ja valguseanduri tundlikkus - selleks kasuta roboti mõõtmisomadust.
Mõtle, kuidas saaks lahendust teha paremaks, et robot ei hulguks sihitult mööda lauda vaid liiguks õiges suunas. (vihje: sonar)
Kui soovid oma telefoniga juhtida robotit siis lae alla selleks äpp. Google Play poes on neid mitmesuguseid. Edasi tuleb robotis ja telefonis sättida bluetooth ühendus. Seda saan näidata meie tunnis juba konkreetse telefoni ja robotiga.
See on robootika klassikaline ülesanne - joonejärgija: Lisa robotile valgusandur, mis on suunatud alla. Koosta programm, et robot liiguks mööda valgel pinnal olevat musta joont.
Programmi koostamisel tuleb kasutada seekord hargnemist (programmeerimises IF-lause analoog), st kui valgusandur leiab tumeda ala siis tehakse üht tegevust ja heleda ala korral tehakse teine tegevus. Näitan selle kasutamist tunnis.
Koosta robotile selline programm, et robot laual liikudes ei sõidaks üle laua ääre. Selleks lisa sonar ehk kauguseandur. Robot peaks aru saama, kui on jõudnud laua servale ning pöörduma sealt tagasi. Programm peaks töötama lõputult.
Robot liigub sirgjooneliselt, heli (nt käteplaksu) peale keerab paremale ja siseneb garaaži, kui puudutab garaaži tagaseina siis peatub ja mängib heli.
Lisaks eelmise tunni ruuduülesandele ( kõik peaksid kirja saama vähemalt 1 puhta raja läbimise) teeme täna ristkülikuülesande.
Ristkülikuülesanne: robot peab liikuma mööda ristkülikut, mille mõõdud on 80cm x 30cm. Rattad ei tohi joont puudutada!
Et teha korrektne programm siis kõigepealt kontrolli oma roboti 1 rattapöörde pikkust, mõõda see ära ja jäta meelde ka edaspidiseks. Seejärel arvuta mitu pööret peab mootor tegema.
Käivita robot käteplaksuga.
Teha nn "explorer" robot ühe (või kahe - kui oled osavam) lülitiga. Programmeerida nii, et robot-explorer liiguks lõputult põrgates takistuselt tagasi.
San Diego California Ülikooli teadlased Sarah
Esper ja Stephen Foster töötasid välja videomängu, mille eesmärk on
õpetada õpilastele Javat, tänapäeva üht kasutatavaimat
programmeerimiskeelt.
Progemise
õpetamine üldhariduskoolis ei ole lihtne, sest tihti puuduvad selleks
alg- ja põhikooliastmes pädevad õpetajad. Seetõttu proovitigi leida
sobiv viis selle sihtgrupini jõudmiseks väljaspool klassiruumi. Mäng
kavandati selliselt, et lapsed oleks raskustele vaatamata asjasse
haaratud. CodeSpells on videomäng, mis peidab progemise täielikult mängu sisse.
Loe edasi Koolielust.
Progemisega tulevad toime ka lapsed, kui koodijuppide kokkupanemine ei
eelda reaalset koodi kirjutamist. Varem oleme teinud juttu pusletükkide
laadsetest koodijuppide liigutamisest Scratchi abil. Oma tüübilt sarnane
on ka Snap!
Vaata tervet artiklit Koolielust.
Alustame oma konkursitöö jaoks materjali ettevalmistamisega: pildistame ja filmime - seega, kes on kohal, pääsevad meie mängu/filmi. Seejärel hakkame materjali töötluseks ja kasutamiseks ette valmistama ja kokku monteerima.
Ülesanded ja tegevused:
filmida saabumist, klassi, tegevusi klassis
teha pildid spraitide jaoks (vähemalt 2 kaadrit nagu Scratchi kostüümid)
Mul on mõningaid ideid, räägin nendest ringitunnis.
Jätkame eelmisel korral alustatud mänguga. Jõudsime teha Kraps-i, Papagoi ja palli liikumiste skriptid. Nüüd lisame veel kommentaare, muutujad aja ja tabamuste loendamiseks ning mängu lõpetamise tingimused.
Täiesti uue asjana võtame kasutusele olekumuutuja e lipukese, mis näitab kas režiim või olek on sisse lülitatud (lipp püsti, biti väärtus 1) või ei ole (lipp maas, biti väärtus 0).
Proovime teha uue mängu, kus on kasutatud mitmeid erinevaid juba tuttavaid vahendeid aga ka mõnda uut...
Mängu kirjeldus:
Kraps jalutab
rahulikult palliga rannas edasi-tagasi.
Järsku ilmub taevasse papagoi,
kes lendab ringi ja narrib Krapsu. Kraps üritab mängija abiga tabada palliga
papagoid: palli lennutamiseks peab kasutaja vajutama tühiku klahvi. Mängu eesmärgiks on tabada papagoid võimalikult
rohkem kordi etteantud aja jooksul.
Mängu hakkame arendama sammude kaupa, et säilitada parem ülevaadening kasutame võimalikult palju kommenteerimist.
Põnevaid vahendeid programmeerimise õppimiseks
on tekkinud nagu seeni peale vihma. Allpool kirjeldatud Thinking Worlds
võimaldab luua kolmemõõtmelisi mänge ilma koodi kirjutamata.
Tasuta Thinking Worlds
laseb lohistamise ja asetamise abil luua 3D keskkondi ning visuaalne
programmeerimis-redaktor võimaldab tehnilise hariduseta inimestel luua
põnevaid mänge ja simulatsioone. Organisatsioonidele on see heaks
vahendiks virtuaalse väljaõppekeskkonna loomisel, aga kahtlemata peaks
huvi pakkuma ka edumeelsetele õpetajatele.
Tuleb siiski mainida, et Thinking Wordls’iga programmeerimine on
mahult võrreldav rohkem suvetöö kui nädalavahetuse projektiga. Kui
ülesanne tundub jõukohane, siis on veel aega liituda 1. aprillil alanud
6-nädalase veebipõhise mänguloomise kursusega Coursera veebipõhiste kursuste keskkonnas.
Blockly on Google’i veebipõhine graafilise
programmeerimise vahend, mis on loodud pisikeste programmide loomiseks
elementide järjestusse lohistamise ja asetamise teel.
Blockly’t
saab kasutada ilma programmeerimisoskuseta ja isegi klaviatuuri
puutumata. Google Blockly liides meenutab MIT App Inventor’it, mille
esialgne kood oli samuti Google’i poolt avaldatud. Google Blockly, nagu
ka MIT App Inventor, kasutab erinevaid käske sisaldavaid pusletükke,
mida kasutaja kokku paigutama peab. Plokke saab lohistada ning ümber
paigutada nii palju kui soovid. Blockly pakub nelja erinevat liidest:
Code laseb Blockly programmi eksportida JavaScript’i, Python’isse või XML’i.
Blockly võib osutuda kasulikuks vahendiks erinevate projektide
juures. Kood on tasuta ja avatud lähtekoodiga. See sobib hästi õpilastes
progemishuvi äratamiseks. See on lihtne ja arusaadava ülesehitusega, ei
nõua trükkimist, ainult erinevate tükkide klõpsamist ja nende ekraanil
liigutamist.
Allikad: Blockly, Free Technology for Teachers
Microsofti uus programm Kodu võimaldab luua
videomänge. Mängude loomise konkursi eesmärk ongi programmi võimalusi
laiemale üldsusele tuvustada. Pange oma loovus proovile!
Microsoft'i Kodu
on tasuta, Windowsi-põhine programm, mida saab kasutada videomängude
loomiseks koodi kirjutamata. Lohista ja aseta liides tugineb kasutajate
osavusele “kui/siis” stsenaariumitel põnevate mänguelamuste loomisel.
Kodu kasutajad loovad ise keskkonna (puud, mäed, jõed jne), täpsustavad
tegelaskujude rollid ning paigutavad nad mängu. Lõpuks programmeerivad
õpilased oma mängu kasutajate võimalused - mida teha saab või ei saa.
Et ergutada Kodu abil mängude loomist, algatas Microsoft uue Imagine Cup’i . See on võistlus noortele vanuses 9-18. Võistlusel osalemiseks tuleb luua mäng, mis keskendub inimese ja vee suhtele. Võistlus toimub kahes kategoorias:
9-12 ja 13-18 aastased. Mõlemas kategoorias on peaauhinnaks 3000
dollarit, teine ja kolmas koht vastavalt 2000 ja 1000 dollarit. Konkursi
tähtajaks on 17. mai 2013. Vaata täpsemaid tingimusi siit.
Microsoft pakub õpetajatele, kes tunnevad huvi Kodu kasutamise vastu koolis, spetsiaalset õppekomplekti.
Selle komplekti abil on võimalik alustada Kodu kasutamist koos oma
õpilastega ning ülalkirjeldatud konkurss oleks just sobilik motivatsioon
mänguloomisega alustamiseks. Materjalid on inglisekeelsed.
Eelmisel korral näitasin meie arvutiklassi kõige väiksemat ja odavamat arvutit Raspberry PI, nüüd veel materjali sellest, kuidas seda arvutit kasutada.
Kuato Studios
annab lubaduste järgi veel märtsikuus välja esimese programmeerimist õpetava mängu “Sõdalase kood”
(Code of the Warrior). (Parandus 27.03 kell 17:16: AppStores täitsa tasuta olemas, NB! Hetkel vaid iPadile).
Mängu eesmärk on lasete seas programmeerimise
õppimist populariseerida. Hakitzu on strateegiamäng, milles kaks robotit
võitlevad omavahel ruudukujulisel lahinguväljal. Mäng õpetab
JavaScripti keelt - robotsõdalaste juhtimiseks peab mängija kirjutama
koodi, mis paneb robotid liikuma, sihtima ja tulistama. Mängu arenedes
muutuvad koodi kirjutamise ülesanded keerukamaks.
Kuato tahab tuua haridusse mängulisust, et tõsta läbi selle laste
huvi arvutiteaduste vastu. Mängu loomiseks uuriti Ameerika ja Inglismaa
koole ning saadi teada, et õpilased õpivad suure innuga graafiliselt
mitmekülgsete, interaktiivsete ja väljakutsuvate vahendite abil.
Hakitzu’t on juba erinevates koolides heade tulemustega katsetatud.
Mängijatele määratakse "koodi-sõdalased", keda nad juhivad ja saavad
varuosade poes koodijuppe kirjutades täiustada ja võimsamaks muuta,
näiteks lisada oma tegelasele relvasid. Lahinguväljale sisenedes tuleb
kirjutada robotile vastavad käsklused, läbi mille ta tegutsema asub ning
siis tuleb oodata vastase käiku.
Mänguga käib kaasas juhend, läbi mille on võimalik koodikirjutamist
õppida. Virtuaalne klaviatuur teeb laste jaoks koodikirjutamise
lihtsamaks, sest sellel on olemas programmeerimiseks tihedamalt
kasutatavad sümbolid. Kui koodijuppi satub viga, siis tõstab mäng selle
esile. Mängus on kolm areeni ning selle lõpuks õpib mängija tundma
muutujaid, funktsioone, JavaScripti põhikonstruktsioone ja süntaksit.
Mängu saab kasutada iPad’idel ning mängu täiendatakse pidevalt
uuendustega.
3. veerandi viimasel päeval käis meie koolis külas Robotiteater. Etenduseks oli kompott erinevatest muinasjuttudest ja lõpus väike balletinumbergi, kõigis osades olid muidugi robotid.
Kõik said tutvuda lähemalt dinosaurus Pleoga ja teda isegi lõua alt sügada, mis talle väga meedis.
Eriti põnev oli aga aga robot Neo:
Teises osas sai ise roboteid programmeerida ja toimus isegi väike võistlus, kes suudab roboti läbi kuusemetsa garaaži juhtida. Seega selgus, et 45 minutiga saab iagüks hakkama lihtsama programmi kirjutamisega.
Selle nädala reedel kell 10.20 tuleb meie kooli Robotiteater, eelkõige ongi see üritus mõeldud meie Nutilabori ringi osalejatele aga loomulikult saavad osaleda ka teised tublid robotihuvilised. Kuna kohti on piiratud arv siis palun anna mulle teada, kas osaled või mitte. Anna mulle siis kolmapäeval ringitunnis teada või kirjuta! Samuti vaata ka seda postitust oma vaheaja sisustamiseks. Muidugi ootan sind kolmapäeval arvutiklassis. Sellel nädalal on plaanis lisaks Scratch-ile tegeleda natuke graafikaga. Kuna aktuaalseks on kujunenud uute huvitavate spraitide tegemine/joonistmine siis uurime koos natuke seda teemat lähemalt.
Räägin erinevatest graafika e pilditüüpidest ja tutvume programmiga InkScape.
Sel nädalal on arvutiklassis jällegi mõttemängude olümpiaad, seega tavapärast ringi ei toimu. Küll aga osalevad päris mitmed meist sellel võistlusel - neile edu mõtlemisel.
Pärnu Ühisgümnaasium ootab taas õpilasi 19. - 20. märtsil 2013 tehnoloogiapäevadele. Üritus 7.-9. klassi õpilastele toimub üheaegselt Tallinna Reaalkoolis, Tartu Kivilinna Gümnaasiumis, Pärnu Ühisgümnaasiumis ja Narva Humanitaargümnaasiumis.
Ürituse alateema on sel korral "Tule ehita "tark" sild".
Osavõtjatele on korraldatud tasuta toitlustamine mõlemal päeval
Tehnoloogiapäevadele Pärnu Ühisgümnaasiumi mahub 40 õpilast, mistõttu
palume registreeruda võimalikult kiiresti, selle arvu ületamisel oleme
sunnitud viimastele registreerujatele ära ütlema.
Tulge saama uusi teadmisi, uusi sõpru ja uusi kogemusi!
Silume uue taseme lisamisega seotud probleeme. Katsume teha nii, et programm toimiks - kasvõi veidi lihtsam variant kui esialgu plaanitud. Põhimõtteks siis: lihtsast keeruliseks.
5.-6. klassi poistele ettepanek otsinguvõistlusel osalemiseks. Saatsin selle kohta e-kirja.
Nagu selgub liiguvad viimasel ajal ringi mitmesugused viirused ja see on meie tegemisi veidi seganud. Sellest hoolimata jätkame oma VL (Vihaste Lindude) projektiga.
Kuna eelmisel korral tegime oma programmi täiesti algusest peale uuesti siis jätkame eelmiseks korraks planeeritud täiendustega, st:
Video on küll inglisekeelne aga küllap põhilisest saate aru.
Ameerika Ühendriikide 6. klassi poiss, 12-aastane Thomas Suarez,
on programmeerinud mänge tahvelarvutile ja nutitelefonile. Ta tundis
huvi, kuidas ise mänge luua ning hakkas tasapisi erinevate
programmeerimiskeeltega katsetama. Ta veab õpetaja abiga ka oma koolis
rakenduste loomise ringi, milles loodud toodete tulu laekub tagasi
kooli.
Möödunud korral tegime valmis juba päris töötava Angry Birds-i laadse mängu. Sellele saab veel lisada mitmeid täiendusi, neid proovimegi sel korral realiseerida:
lisame mängu algusesse juhendi;
lisame punktide arvestuse;
lisame uue taseme, kus on takistus(ed);
Nagu mäletate ehk eelmisest tasemete lisamise katsest, võib see päris keeruliseks osutuda...
PS. Uudiseks veel niipalju, et 15. märtsil annab meie koolis etenduse Robotiteater.
Vastu tulles 5. klassi poiste soovile proovime seekordses tunnis teha midagi sellist nagu tuntud Angry Birds-i mäng. Esialgu proovime tulistada midagi nii, et see liiguks päris kuuli trajektooriga e liikumisteega.
Kuna veel ei ole mänge mulle saadetud siis auhind jääb ootama väärikat programmi.
Täna tegeleme arvutamisega, kuna arvuti peaks ju arvutama paremini kui meie siis laseme arvutil meie eest seda teha. Teeme ühe programmi, mis korrutab:
Lisa programmi alguse blokk ning 2 muutujat
Lisa vastuse jaoks muutuja ja omista sellele tehte tulemus: (kasuta selleks Tehete ja Muutujate blokki:
Proovi, kas programm toimib.
Kui programm juba korrutab siis teeme edasi nii, et programm küsib kasutajalt milliseid arve on vaja korrutada:
Palju õnne! Tee nüüd programm, mis arvutab just seda, mida sul parasjagu matemaatikatunnis vaja, nt ristküliku pindala saab arvutada nii:
Sellel programmil on veel suur probleem - kui küljepikkus on negatiivne siis ei tohiks ju pindala olla! Tee kontroll, et sinu programm kasutaks vaid õigeid andmeid ja kui kasutaja sisestab vigased andmed siis programm annab sellest teada mitte ei arvuta, nt nii: