Vuba programovania Android mobilnch zariaden v prostred MIT
Výučba programovania Android mobilných zariadení v prostredí MIT App Inventor Ľubomír Šnajder 6. 4. 2016, Seminár UINF PF UPJŠ, Košice
Obsah n Špecifiká vyučovania informatiky n Vyučovanie programovania v našich školách n Konštrukcionistické programovacie prostredia n Vývojové prostredie MIT App Inventor n Návrh metodiky výučby programovania mobilných aplikácií n Ukážky mobilných aplikácií zameraných na zábavu, vzdelávanie, šport a rehabilitáciu n Diskusia
Špecifiká vyučovania informatiky n n Cieľová skupina – žiaci (generácia Z) n digitálni domorodci (online, BYOD, vzdelávanie aj mimo školy) n bežná populácia, populácia so špeciálnymi potrebami (talenty) Častá inovácia obsahu a technických prostriedkov n online nástroje, vývojové prostredia (Scratch, App. Inventor, Python), . . . n OS Android, tablety, robotické stavebnice, wearables, 3 D tlačiarne, . . . n Inovácia vyuč. metód a foriem (PBL, BOV, Proj. V) – kmpt. 21 st n Prepojenosť informatiky a iných predmetov (STEM, STEAM) n Učitelia informatiky – aktualizácia odb. a did. vedomostí (pregraduálna príprava, kontinuálne vzdelávanie – ĎVUI, RŠI) n DI – mladá disciplína, malá skupina didaktikov informatiky
Vyučovanie programovania v našich školách n n n Inovovaný štátny vzdelávací program (sept. 2015) n algoritmizácia a programovanie od 3. ročníka ZŠ po 3. ročník SŠ n absentuje na SOŠ v uč. odboroch bez maturity (? ) n nie je predpísaný programovací jazyk (paradigma štrukt. programovania) Učebnice n Schválené MŠ - Imagine Logo, Pascal n Iné – Scratch, Python, . . . Metodické materiály n k oficiálnym učebniciam absentujú n projekt ĎVUi (2009 – 2011) n konferencie Did. Info, časopis OMFI n web stránky (17) programátorských súťaží
Konštrukcionistické programovacie prostredia n n Východiská z teórii učenia sa n konštrukti. Vizmus (Piaget, Vygotskij) – „učenie sa ako aktívna činnosť konštruovania vedomostí“ n konštrukcio. Nizmus (Papert) – „konštruovanie vedomostí je efektívne, ak je žiak vedome a aktívne zapojený v konkrétnom kontexte a vytvára určitý artefakt, ktorý má význam nielen pre tvorcu, ale aj pre iných ľudí“ Požiadavky na konštrukcionistické programovacie prostredia n nízky prah (čo najľahšie rozbehnutie sa v programovaní) n vysoký strop (možnosť programovať náročné a komplexné projekty) n široké steny (podpora programovania rozličných typov projektov ľuďmi s rôznymi záujmami a učebnými štýlmi) (Papert, Resnick)
Konštrukcionistické programovacie prostredia n n Príklady dielikových prostredí (logovskej kultúry) n Squeek e. Toys, Scratch, Snap!, n Enchanting, n MIT App Inventor, Pocket Code. Možnosti prostredí typu Scratch n eliminácia syntaktických chýb, n úprava kódu aj počas behu aplikácie, n tvorba interaktívnych multimediálnych projektov (príbehov, hier, kresieb, animácií, skladieb, simulácií) ovládaných o. i. aj zvukom, webkamerou, vodivých materiálov prepojených rozhraním Makey-Makey n kolaborácia tzv. scratcherov (žiaci, učitelia, rodičia, iní ľudia) na cloude – publikovanie vlastných projektov a používanie, ohodnotenie, komentovanie a remixovanie cudzích projektov.
MIT App Inventor 2 – HW a SW požiadavky Čo potrebujeme na vytváranie mobilných aplikácií v AI 2: n počítač so štandardným operačným systémom (Windows, Ubuntu, Debian, Mac OS) s webovým prehliadačom, n zriadený Google účet na prihlásenie sa do cloudového vývojového prostredia AI 2 http: //ai 2. appinventor. mit. edu/, n na vývojovom počítači môže byť nainštalovaný emulátor – program ai. Starter, n mobilné zariadenie s nainštalovanou čítačkou QR-kódov a povolením inštalovať tzv. non-market aplikácie, n ak je vývojový počítač a mobilné zariadenie v jednej wifi sieti, môže sa na mobilnom zariadení nainštalovať program na rýchly vývoj a testovanie aplikácie MIT AI 2 Companion.
MIT App Inventor 2 – vývojové prostredie (Designer) n prostredie umožňuje vytvárať a spravovať zdroj. súbory (*. aia), kompilovať a zbaliť ich do distribučného formátu (*. apk), n používateľ. rozhranie aplikácie navrhujeme v module Designer.
MIT App Inventor 2 – vývojové prostredie (Blocks) n Programový kód aplikácie vytvárame v module Blocks.
MIT App Inventor 2 – výrazové prostriedky jazyka n Komponenty n n Udalosti n n Canvas. Paint. Color, Label. Text, Orientation. Sensor. Roll, Location. Sensor. Latitude Programové konštrukcie n n Canvas. Clear, Canvas. Draw. Line, Ball. Move. To, Tiny. DB. Store. Value, Clock. Now, . . . Vlastností (typu set, get) n n Button. Click, Screen. Initialize, Clock. Timer, Ball. Touched, . . . Metódy (s/bez výsledku) n n viditeľné (Canvas, Ball, Label, Button, . . . ), neviditeľné (Clock, Sound, . . . ) cykly, vetvenie, podmienky, procedúry, funkcie, priradenie, štandard. funkcie. . . Údajové štruktúry n lokálne a globálne premenné, zoznamy, súbory, Tiny. DB, Tiny. Web. DB. . .
MIT App Inventor 2 – špecifické možnosti mobilného zariadenia n dotyková obrazovka, n prehrávanie a záznam zvuku/videa/fotografii, n senzory zrýchlenia, orientácie, polohy (GPS), n rozpoznávanie a syntézu reči, n bluetooth spojenie, n NFC spojenie, n skener čiarových kódov, n prijímanie/odosielanie SMS správ, uskutočnenie telefonických hovorov, n komunikáciu na Twitteri, n ukladanie/načítanie údajov na/z mob. zariadenia, resp. z webu, n ovládanie robotických modelov Lego Mindstorms NXT, n spustenie ďalších aplikácií, atď.
Wolberov návrh metodiky výučby programovania mobilných aplikácií n model výučby programovania v AI 2 (The Course In a Box): Zostaviť Konceptualizovať Prispôsobiť (Vytvoriť) (http: //www. appinventor. org/content/Course. In. ABox/Intro/courseinabox) n pomôcky: n tutoriály (http: //explore. appinventor. mit. edu/ai 2/tutorials), n videotutoriály, n referenčné materiály (http: //appinventor. mit. edu/explore/library. html), n konceptové a pracovné karty (http: //appinventor. mit. edu/explore/teach. html), n didaktické testy, n cloudové Studio so zdieľanými a komentovanými mobilnými aplikáciami ostatných autorov (http: //gallery. appinventor. mit. edu/).
Východiská pre vlastný prístup výučby programovania v AI 2 n programovanie pútavých a užitočných aplikácií, využívajúce špecifiká MZ, → portfólio študenta, n pri tvorbe aplikácii: komponenty, senzory → programové koncepty, n rýchly návrh jednoduchej aplikácie → rozšírenie → STEM n podpora učenia sa – pracovné listy (format. hodnotenie), konceptualizujeme od začiatku vývoja aplikácie, n podpora učenia – metodické materiály k pracovným listom (riešenia úloh, diskusné otázky, námety na rozšírenie aplikácie, skúsenosťami z výučby) → vyvíjané v iteráciách (spätná väzba po výučbe, pracovné listy, žiacke aplikácie)
Štruktúra metodiky verzia 2012 n Základné informácie (autori, recenzenti, verzia, téma, cieľová skupina, trvanie, vstup. vedomosti a spôsobilostí, kognitívne a afektívne ciele, spôsobilosti ved. práce, didaktický problém, materiálne did. prostriedky, vyuč. metódy a organiz. formy). n Príprava na výučbu (potrebný hardvér, softvér, pracovné listy, učebné texty, internetové zdroje). n Priebeh výučby (postupnosť zadaní úloh, usmerňujúce otázky, nápovede a riešenia úloh). n Hodnotenie výučby (metodický komentár k formatívnemu a sumatívnemu hodnoteniu žiakov). n Skúsenosti z výučby (postrehy z vlastnej výučby). n Alternatívy metodiky.
Štruktúra pracovného listu n Zadanie úlohy. n Analýza a návrh riešenia úlohy. n návrh používateľského rozhrania (komponenty, multimédiá) n správanie ako tabuľka trojíc komponent – udalosť – odpoveď. n Postup riešenia úlohy, resp. nápovede k riešeniam úlohy. n Zhodnotenie úlohy. n Ukážky pracovných listov – 1, 1 o, 2, 2 r a metodík 3
Výber mobilných aplikácií pre výučbu programovania v AI 2 n Projekt Kresliaci editor 1, 2 n Projekt Kresliaci editor 3 n Hra Postreh 1 n Hra Postreh 2 n Hra Guľôčka n Hovoriaci kompas n Čítačka SMS n Ukáž miesto/trasu na mape n Krokomer/drepomer n Hľadačka GPS ZŠ SŠ VŠ
Zastúpenie komponentov vo vybraných mobilných aplikáciách
Ukážky mobilných aplikácií – Kresliaci editor n Naprogramujte kresliaci editor, v ktorom sa na každom mieste dotyku zobrazí na plátne kruh, pri ťahaní sa nakreslí na plátne čiara, pri potrasení mobilným zariadením sa zmaže obrazovka.
Ukážky mobilných aplikácií – Hra Postreh n Vytvorte hru Postreh, ktorá bude v pravidelných časových intervaloch zobrazovať červenú loptu na náhodné miesta obrazovky. Úlohou hráča je čo najskôr sa dotknúť tejto lopty. Po dotyku lopty sa ozve krátky zvuk.
Ukážky mobilných aplikácií – Hra Guľôčka n Vytvorte hru Guľôčka, v ktorej nakláňaním mobilného zariadenia ovládate malú červenú guľku tak, aby sa čo najskôr dotkla troch zelených kruhov a vyhla sa čiernemu kruhu predstavujúcemu jed. Pri dotyku guľôčky so zeleným kruhom, kruh zmizne a získavate za neho 10 bodov, pri dotyku s okrajom plátna strácate 2 body a pri dotyku s jedom (čiernym kruhom) strácate 40 bodov. Hra končí po dotknutí sa troch zelených kruhov alebo pri získaní záporného skóre hry.
Ukážky mobilných aplikácií – Hovoriaci kompas n Vytvorte aplikáciu pre slabozrakých, či zaneprázdnených, ktorá okrem zobrazenia azimutu a svetovej strany na kompase bude hovoriť aktuálnu svetovú stranu syntetickým hlasom.
Ukážky mobilných aplikácií – Čítačka SMS n Vytvorte aplikáciu pre slabozrakých, či zaneprázdnených, ktorá prečíta nahlas prichádzajúcu SMS správu syntetickým hlasom.
Ukážky mobilných aplikácií – Hľadačka GPS pozície n Vytvorte mobilnú aplikáciu, ktorá umožní uložiť GPS pozíciu miesta a neskôr sa na to miesto vrátiť na základe vypočítania vzdialenosti a smeru od aktuálnej GPS pozície k uloženej GPS pozícii.
Ukážky mobilných aplikácií – Zobraz miesto/trasu na mape n Vytvorte mobilnú aplikáciu, ktorá zo zoznamu adries umožní vybrať adresu/adresy a ukázať miesto/trasu medzi miestami pomocou aplikácie Google maps.
Ukážky mobilných aplikácií – Krokomer/drepomer n Vytvorte aplikáciu, ktorá bude merať počet prejdených krokov.
Krokomer – otázky n Ako sa líšia hodnoty rôznych senzorov mobilného zariadenia v rovnakých situáciách? n Ako sa menia zložky zrýchlenia merané senzorom počas chôdze? Ako sa líšia ich hodnoty pre rôzne typy chôdze a rôznych ľudí? Ktorú zo zložiek zrýchlenia budeme brať do úvahy? n Na aké miesto a akú pozíciu by sme mali upevniť mobilné zariadenie na ľudské telo aby sme získali čo najpresnejšie hodnoty z mobilnej aplikácie pre zmeranie počtu krokov?
Krokomer – otázky (2) n Ktorý algoritmus by sme mali používať na výpočet prejdených krokov? Budeme vypočítavať kroky okamžite, alebo zo zaznamenaných hodnôt? n Aké ďalšie funkcionality by mala mať mobilná aplikácia? n Ktoré ďalšie užitočné aplikácie môžu byť odvodené z aplikácie krokomer?
Krokomer – postup n Určenie ktoré senzory na našom mobilnom zariadení reagujú na zmenu rýchlosti pohybu (pokus-omyl: víťazom je senzor zrýchlenia) n Programovanie mobilnej aplikácie v AI 2 pre zobrazenie okamžitej hodnoty senzora zrýchlenia (z-zložka)
Krokomer – postup (2) n Experimentovanie s našou a inými hotovými aplikáciami počas chôdze (skoro periodický priebeh hodnôt senzora zrýchlenia). Počet krokov = počet prechodov cez stanovenú prahovú hodnotu.
Krokomer – postup (3) n
Krokomer – postup (4) n Pridanie ďalších funkcionalít: n nastavenie prahu citlivosti krokomera n nahrávanie (a zobrazenie) nameraných dát do textového súboru n nastavenie oneskorenia pred meraním http: //ai 2. appinventor. mit. edu/? gallery. Id=6283550952259584
Krokomer – odvodené projekty n Tvorba ďalších projektov odvodených od krokomera: n počítadlo drepov n určovanie tempa pre vybrané cvičenia („tempomat“) n diagnostikovanie patologického trasu a krívania
Námety projektov – hry n Hra postreh (diagnostika sústredenia) n Hra hádaj číslo (algoritmus vyhľadávania) n Precvičovač násobilky, číselných prevodov n . . .
Námety projektov – edukačné n Multimediálny mobilný zápisník n Mobilný herbár (Mižáková) n Sprievodca expozícii v múzeu/na výstave, napr. Steel. Park (Lišivková) n Kvízy (Šlauková, Stupár), hlasovanie – format. hodn. n Datalogger – doprava v meste (Guniš) n Hľadanie pokladu
Námety projektov – podpora zdravia n Krokomer n Pripomienkovač pitného režimu n Tréner cvikov n Červená linka (hlásič pádov) n Hlasná čítačka SMS, QR, hovoriaci kompas
Zhrnutie – výučba programovania MZ n Inovácia obsahu (MZ, prog. ), metód a foriem vyučovania informatiky (cloud, kolab. , BYOD) n Tvorba a transfer know-how o vyučovaní progr. MZ n n Iteratívny vývoj metodík a podporných materiálov n Vzdelávanie učiteľov informatiky (web, kurzy kont. vzdel. , kluby učiteľov, konferencie) Aspekty prepojenia DI n so školskou praxou (učitelia, žiaci), n inými predmetmi (STEM), n zameranie na formálne aj neformálne vzdelávanie
Kontakt RNDr. Ľubomír ŠNAJDER, Ph. D. lubomir. snajder@upjs. sk Univerzita P. J. Šafárika v Košiciach Prírodovedecká fakulta Ústav informatiky Jesenná 5, 041 54 Košice http: //ics. upjs. sk/~snajder/ Tel: +421 55 234 2539 (pracovňa), +421 55 234 2502 (sekretariát ústavu) GPS: 48. 728888 N, 21. 248232 E
Diskusia pre žiakov n Čo majú spoločné a čo rozdielne prostredia Scratch a AI 2? n Nájdite a porovnajte iné vývojové prostredia pre vývoj mobilných aplikácií (Catrobat Pocket Code, Java, Python. . . ) n Porovnajte z pohľadu rôznych aspektov (cena, výkon, dostupné senzory, programovacie prostredia, . . . ) robotické stavebnice s EV 3(NXT) a mobilné zariadenia. n Ktoré mobilné aplikácie sú vhodnejšie pre tablet a ktoré pre smartfón? n Koľko hodín výučby by ste venovali programovaniu mobilných aplikácií v AI 2? Ako by ste postupovali pri výučbe? Ktoré pomôcky by ste použili? Ktoré mobilné aplikácie by programovali žiaci? Ako by ste zisťovali výsledky učenia sa žiakov?
- Slides: 38