Programování pro hračičky/Opičky/2020

Jak používat klasifikační nálepkuTato stránka je součástí kurzu:
středoškolská
Příslušnost: skupinová

Ve školním roce 2020/2021 probíhá skupinová výuka podle opičího kurzu Programování pro hračičky od listopadu do ledna 2020 souběžně s hodinami informatiky 1. ročníku pražského Waldorfského lycea. Vzhledem k tomu, že hodiny se odehrávají povětšinou distančně, jsou jen částečně vázány na konkrétní časy a kurz je rozdělen do týdnů. Kurz začne v úterý 10. listopadu, pro studenty Waldorfského lycea setkáním na Zoomu v rámci školního Moodlu v 11.05, pro ostatní účastníky krátce poté srazem „mezi Prahy“, tedy v úvodní místnosti hry Prahy, kam se celá skupina následně přesune.

Účastníci kurzu mohou s lektorem kurzu nebo s ostatními účastníky komunikovat v rámci hry Prahy či po jakýchkoli dalších kanálech, ale dotazy, které mohou principiálně zajímat i ostatní účastníky kurzu, je vhodné psát na diskusní stránku tohoto běhu kurzu, a dotazy, které by mohly zajímat všechny hráče Prahů, do diskusního klubu Prahy na serveru Okoun.

Týden 8.–14. listopaduEditovat

  • V kurzu budeme postupovat podle opičího kurzu Programování pro hračičky. V popisu úkolů na aktuální týden na této stránce (tedy na místě, na které zrovna koukáte) vždy najdete odkaz na lekce, s nimiž budeme během týdne pracovat, a případné doplňující pokyny.
  • Kdo se ještě neseznámil se hrou Prahy, měl by tak neprodleně učinit, založit si v ní herní postavu a nahlásit ji uživateli Mmh, který tento kurz vede, aby obdržela potřebné studijní vybavení.
  • Kdo své jméno nahlásil vedoucímu kurzu, ten by si měl nejprve otevřít 1. lekci opičího kurzu a přečíst si v ní první kapitolu. Tak se totiž dozvíte, co máte dělat, až následně vstoupíte do hry a objeví se před vámi ono zmíněné studijní vybavení.
  • Tento týden byste měli zvládnout přečíst si nejprve celou 1. lekci, splnit šest krátkých úkolů vyjmenovaných na jejím konci, přečíst si 2. lekci a splnit čtyři krátké úkoly, vyjmenované opět na jejím konci. Tohle všechno by mělo jít v pohodě zvládnout v čase odpovídajícím dvěma vyučovacím hodinám (tedy cca za 90 minut); pokud byste to za tuto dobu nezvládli, poraďte se s vedoucím kurzu, v čem to vázne.
  • Pokud budete mít vyšechny úkoly hotovy rychleji, tak můžete buď jít dělat něco zábavnějšího, anebo, připadají-li vám Prahy sdostatek zábavné, můžete začít zkoumat, jak se dostat ven z domu, v němž jste na počátku hry uvězněni.[1]

Upozornění na časté chybyEditovat

  • Když se odhlašujete ze hry, tak to nedělejte tak, že prostě zavřete okno, ale tím, že ve hře napíšete příkaz konec. Tím se vám uloží aktuální herní stav a ze hry skutečně zmizíte. (Když neukončíte příkazem konec, tak po vás ve hře nejprve nějakou dobu straší zkamenělina, což znamená hráče, kterému se přerušilo spojení — pak se předpokládá, že spojení se přerušilo omylem, a nějakou dobu se čeká, zda se znovu připojíte, a čeká tedy třeba i vaše opička.)
  • Než odejdete ze hry, propusťte nejprve svou opičku a domluvte se s ní, kde se znovu setkáte, abyste ji pak při svém příštím vstupu do hry nemuseli hledat. To znamená, nezapomeňte před svým odchodem říci své opičce nashledanou.
  • Chcete-li zjistit, kdo je ve hře, nemusíte plýtvat svými duševními body na hřímání, ale můžete použít příkaz kdo, který vám všechny přítomné vypíše. Právě tak je zbytečné hřímat na spolužáky, s těmi se můžete domlouvat přes svůj studentský průkaz a jméno kurzu, tedy inf1 (např. inf1 : nevíte někdo, kde leží ta PET lahev, co se do ní dá nabrat voda?). Hřímání si nechte na přivolávání opičky.

Týden 15.–21. listopaduEditovat

  • Připomeňte si, co jsme měli za úkol minulý týden. Pokud jste něco nezvládli splnit, můžete si to zkusit i dodatečně. Za splněné úkoly nedostáváte žádné známky, ale splněním úkolu si sami ověříte, že rozumíte tomu, čemu učitel očekává, že rozumíte.
  • Přečtěte si i upozornění na časté chyby, které přibylo k zadání minulého týdne. Vedoucí kurzu tato upozornění dopisuje ke každému týdnu podle toho, čeho si všiml, když jste se pohybovali ve hře a plnili úkoly. Snažte se zmíněných chyb vyvarovat. Důvodem opět nejsou nějaké známky, které byste za to dostávali, ale to, že když tyto chyby dělat nebudete, půjde vám plnění úkolů lépe od ruky.
  • Protože tento týden je státní svátek, máme v rozvrhu jen jednu hodinu. Úkolů na tento týden je proto jen tolik, aby šly dobře zvládnout za 45 minut: Přečtěte si 3. lekci opičího kurzu, a pak zkuste z úkolů zadaných v závěru lekce splnit aspoň jeden. Kdyby se vám to během zmíněné třičtvrtěhodiny nepovedlo, poraďte se s vedoucím kurzu, kde je problém.
  • Pokud vám zbude ještě čas, nebo ještě spíše chuť hrát si dál, můžete zkusit splnit i ostatní úkoly, ale právě tak můžete jít pomáhat spolužákům, kterým to nejde tak dobře, anebo pokračovat ve snahách dostat se ven z domu, v němž hra začíná.

Upozornění na časté chybyEditovat

  • Opička potřebuje jíst a pít stejně jako každá jiná živá bytost ve hře. Když ji necháme hladovět nebo žíznit, začne panicky pobíhat sem a tam a hledat si jídlo a pití, a přitom se velmi špatně chytá. Je proto potřeba se občas na opičku podívat, a když vidíme, že má hlad nebo žízeň, tak ji dovést ke zdroji potravy či vody, případně jí potravu či vodu přímo dát.
  • Abyste si přivolali opičku, musíte hřímat, a abyste zvládli hřímat, potřebujete duševní body. Hřímání vám jich vždycky docela dost spotřebuje, ale pokud nejste vyhladovělí a žízniví, tak se vám zanedlouho tyto body zase doplní. Takže nezapomínejte, že sebe musíte ve hře živit stejně jako opičku.
  • Jako řešení mnoha problémů v počítačové oblasti se uvádí RTFM. Platí to i při programování s opičkami. Například minulý zmíněný problém je obšírně popsán ve sbírce často kladených otázek o opičkách, na kterou vede odkaz z každé lekce, a nyní už i z této stránky.

Týden 22.–28. listopaduEditovat

  • Opět začněte tím, že si připomenete, čím jsme se zabývali minulý týden, a podíváte se i na časté chyby, které se v minulém týdnu vyskytli, zda nepatříte právě k těm, kteří tyto chyby dělají. Pokud jste nezvládli splnit nějaký ze zadaných úkolů, můžete si to zkusit i dodatečně, a u častých chyb si je prostě zkuste uvědomit a příště se jich vyvarovat.
  • Hodiny máme tento týden v rozvrhu dvě, což by mělo i těm pomalejším stačit k tomu, aby si doplnili potřebné z minula a pak přečetli 4. lekci opičího kurzu. Zda jste porozuměli jejímu obsahu, to si nejlépe ověříte tím, že splníte aspoň dva z úkolů zadaných v závěru lekce. Opět platí, že kdyby se vám to nepodařilo, poraďte se s vedoucím kurzu, od toho tu ten vedoucí kurzu je.
  • Stejně jako v minulých týdnech platí, že pokud si budete chtít hrát i po splnění úkolů, tak můžete zkoušet plnit i ostatní úkoly, pomáhat pomalejším spolužákům, anebo se snažit uvařit lektvar.[2]

Upozornění na časté chybyEditovat

  • Zdá se, že úplně nejčastější častá chyba je nepřečíst si časté chyby z minulých týdnů. Tyto chyby se na tuto stránku dostaly tím, že se často vyskytly, tudíž je i docela velká pravděpodobnost, že vy sami patříte k těm, kdo dotyčnou chybu udělali.

Týden 29. listopadu – 5. prosinceEditovat

  • Samozřejmostí by mělo být připomenout si pokaždé aspoň krátce, co jsme dosud dělali, a podívat se, na které časté chyby učitel upozornil během minulého týdne (vizte výše).
  • Máte-li nesplněné úkoly z minulých týdnů, zkuste si dodatečně splnit přinejmenším některé, abyste měli z každé lekce splněn aspoň jeden. Tento týden se totiž pouštíme do oblasti, v níž se bez zvládnutí dovedností z předchozích lekcí sotva zorientujete.
  • Ve dvou hodinách, které máme v rozvrhu tento týden, se budeme zabývat 5. a 6. lekcí opičího kurzu. V 5. lekci je objasněn princip používání podmínek v programech, 6. lekce pak toto téma rozšiřuje a prohlubuje. Abyste si ověřili, že jste porozuměli tomu, jak se podmínky používají, byste měli splnit sice jediný, ale poměrně členitý úkol z 5. lekce. Kdyby se vám to nepodařilo, poraďte se s vedoucím kurzu.
  • Chcete-li, můžete se pustit i do úkolů zadaných v 6. lekci, ale ty budou mít pro nás ještě zvláštní význam — jejich splnění totiž bude jedním z podkladů pro celkové hodnocení Vaší práce v opičím kurzu a příštích týdnech se k nim ještě určitě vrátíme.
  • Stejně jako v minulých týdnech si můžete dále hrát i po splnění úkolů, ale nezapomínejte přitom na pomalejší spolužáky. Pomoc od spolužáka, kterému to jde už lépe, bývá zábavnější a mnohdy i účinnější než vysvětlování od učitele.

Upozornění na časté chybyEditovat

  • Pravděpodobně všechny chyby, které byly zmíněny v minulých týdnech, by bylo možno přinejmenším pro některé účastníky zopakovat. Jistě, někteří z vás se upozorněním na minulé chyby poučili a nyní se jich vyvarovávají, jiní z vás se ovšem zdají býti ke všemu upozorňování hluší. Tak to pro jistotu připomínám.
  • Mnohým opička utekla opravdu daleko. To se stává, když má opička opravdu velký hlad nebo žízeň. A velký hlad nebo žízeň může dostat buď tím, že se vůbec nestaráte o to, aby jedla a pila, anebo že ji po svém odchodu ze hry necháte stát na místě, a ona tam, chudák malá, postupně začne hladovět a žíznit. Proto:
    1. vždy po příchodu do hry a shledání s opičkou se na ni podívejte, a pokud vidíte, že má hlad nebo žízeň, pak ji nakrmte nebo napojte,
    2. jste-li ve hře delší dobu, pak toto podívání občas zopakujte, a případně ji opět nakrmte nebo napojte,
    3. vždy před odchodem ze hry se s ní rozlučte příkazem nashledanou.
  • Když ve hře něco napíšete, tak se to bere jako příkaz pro vaši herní postavu. Tedy například sedni si na židli je pokyn vaší herní postavě, aby si sedla na židli, a vaše postava tento příkaz vykoná, pokud je v místnosti židle, na kterou se dá sednout. Když chcete říci jinému hráči, aby si sedl na židli, tak musíte před svou větu napsat ještě řekni nebo rci nebo ', tedy například 'sedni si na židli. Pak spoluhráči, kteří jsou ve stejné místnosti jako vy, uvidí, že říkáte „sedni si na židli“. Chcete-li zdůraznit, že mluvíte ke konkrétnímu spoluhráči, třeba Pepovi, pak napíšete 'pepovi sedni si na židli, a všichni přítomní uvidí, že to říkáte právě Pepovi. Úplně stejně to funguje s opičkou: má-li si opička, která se jmenuje například Máňa, sednout na židli, musíte napsat 'máně sedni si na židli, nebo 'máňo sedni si na židli. Pak opička pozná, že mluvíte právě k ní, a příkaz vykoná.
  • Současná verze opiček předpokládá, že všechny opičky jsou ženského rodu (tedy opičáci se nám ve hře zatím nevyskytují). Proto, když jste dali opičce nějaké jméno končící na samohlásku (třeba PC nebo Opičák), se toto jméno skloňuje podle ženského vzoru, anebo se neskloňuje vůbec, tedy mluvíte-li pak ke své opičce musíte jí říci třeba 'opičák sedni si na židli nebo 'pc sedni si na židli, případně 'pci sedni si na židli, pokud jste při pojmenování opičky zvolili příslušný skloňovací vzor.

Týden 6.–12. prosinceEditovat

V tomto týdnu se školní skupina v rámci zavedení „rotační“ výuky na středních školách setká ve škole naživo, a to na jednu vyučovací hodinu: jedna polovina třídy ji bude mít v úterý 8. prosince 10.10–10.55, druhá polovina ve středu 9. prosince 12.55–13.40. V těchto časech bude vedoucí kurzu a příslušná polovina třídy přítomna ve hře a bude společně postupovat po následně uvedených krocích.

  • Opět si nejprve připomeneme, co jsme dosud probírali a jaké chyby nejčastěji děláme.
  • Podmíněné větvení programu, s nímž jsme se seznámili v 5. lekci, musíme dobře zvládnout, než se pustíme do složitějších programových struktur. Proto si tentokrát nepřibereme žádnou novou lekci, ale na základě 6. lekce si budeme společně procvičovat používání podmíněných příkazů a zároveň orientaci v programech, v nichž jsou tyto příkazy použity.
  • Pozornost budeme tentokrát věnovat úkolům zadaných v 6. lekci, ale nebudeme je společně plnit, jen si uvědomovat, jakým způsobem se podobné úkoly dají splnit. Splnění těchto tří úkolů budou jedním z podkladů pololetního hodnocení z informatiky pro studenty z Waldorfského lycea, proto se s nimi bude muset popasovat každý sám. Čas na jejich splnění je však až do 20. ledna, kdy se bude uzavírat pololetní hodnocení.
  • Opět platí, že kdo zvládl všechno probírané, může si hrát po vlastní ose, ale opět je to spojeno s prosbou, abyste při tom nezapomínali na pomalejší spolužáky. (I to překračování prahů do dalších herních světů bude zábavnější, když se tam dostanete ve skupině.)

Upozornění na časté chybyEditovat

  • Někteří stále zapomínají své opičky ve hře, pročež pak opuštěné opičky nejprve dlouhé hodiny čekají na místě, postupně hladoví a žízní, a nakonec utečou hledat si potravu a vodu.
  • Při programování podmínek je potřeba si uvědomit, že podmínka se musí ukončit čárkou, aby jí opička správně rozuměla. Když napíšete pokud máš sušenku jez sušenku, tak opička zjišťuje, zda má u sebe objekt sušenku jez sušenku, protože až do příští čárky nebo do konce programu chápe text jako popis podmínky; proto nezapomínejte na čárky a pište pokud máš sušenku, jez sušenku apod.
  • Opička je program, tedy sama nerozumí příkazům, které vykonává (i když může být naprogramována třeba tak, že se při vykonávání příkazů tváří rozumně nebo chápavě). Příkazy jsou pro ni řetězce znaků, k nimž má přiřazeny nějaké herní úkony. Je proto potřeba zapisovat program přesnými slovy v přesném pořadí. Napíšeme-li opičce podívej se, jestli je tu sušenka, nebude rozumět; musíme napsat pokud vidíš sušenku, a pak jí navíc hned sdělit, co v tom případě má dělat.

Týden 13.–19. prosinceEditovat

Tento týden má školní skupina opět distanční výuku. V první ze dvou rozvrhových hodin, která bude v úterý 15. prosince od 12.00 do 12.45, budeme ve hře přítomni společně, druhou hodinu si každý může naplánovat podle svého.

  • Opět si připomeňte, co jsme dosud dělali a na které časté chyby učitel upozornil během minulého týdne.
  • Ve společné hodině se pustíme do 7. lekce, v níž se naučíme vedle podmíněného větvení používat i podmíněný cyklus.
  • Úkoly zadané v 7. lekci se nám možná nepodaří splnit tento týden, ale ve svém pracovním pořádku si je můžeme hned připojit k úkolům ze 6. lekce, protože i ony budou podkladem pololetního hodnocení. Do pololetí byste tedy měli všichni splnit těchto šest úkolů, tři ze 6. lekce, tři ze 7. lekce.
  • Stejně jako jindy si můžete dále hrát i po splnění úkolů, ale opět nezapomínejte na spolužáky, kteří potřebují pomoc.

Upozornění na časté chybyEditovat

  • Někteří se znovu a znovu dopouštějí chyby nejchybovatější: neberou si poučení z chyb minulých. Jakkoli je to už jednomu trapné, i nyní se zdá býti nutno připomenout, co všechno jsme si připomínali v minulých týdnech kurzu — vizte všechny stejnojmenné kapitoly výše.
  • Z chyb, které v minulých týdnech ještě připomínány nebyly, se zdá být nejčastější opomenutí péče o vlastní postavu. Nezapomeňte, že občas musíte jíst a pít, že je vhodné mít nějaké oblečení atd. Příkaz stav vám ukáže, jak je na tom vaše herní postava (podrobný popis toho, co vám tento příkaz ukazuje, najdete na Wikiverzitě také docela podrobně zpracováno), a příkazem i (to je zkratka za delší inventář, případně též synonymum výstroj) zjistíte, jaké předměty má vaše postava zrovna u sebe nebo na sobě.

Týden 3.–9. lednaEditovat

Studenti lycea mají tento týden opět distanční výuku. Ze dvou rozvrhových hodin je první, která bude v úterý 5. ledna od 11.05 do 11.50, plánována jako synchronní, tedy v tento čas bude školní skupina přítomna ve hře společně; druhou hodinu si každý může naplánovat, jak se mu to hodí.

  • Po vánoční přestávce si připomeneme, co vlastně už všechno s opičkami umíme, zejména pak práci s podmínkami při větvení a cyklování programu.
  • Pokud jsme ještě nesplnili úkoly z lekcí 6 a 7, tak bychom na tom určitě měli dále pracovat. Jednak si tím výborně prověříme, že jsme to větvení a cyklování dobře pochopili, jednak studentům lycea se právě těchto šest úkolů započítá do pololetního hodnocení.
  • Abychom ovšem neuvízli jen u minulého, podíváme se i na 8. lekci, v níž se vysvětluje rekurze. To bude zároveň poslední lekce tohoto kurzu, takže zbývající dva týdny budeme už jenom dohánět to, co jsme zatím nezvládli, či opakovat to, co už jsme zvládli.
  • Pokud se ovšem tímto pouhým přežvykováním nedotráveného cítíme programátorsky nedostatečně vybouřeni, máme v záloze ještě jeden úkol pro fajnšmekry a mistry — sbírání banánů v kartézské rovině v doméně Matematika.
  • A kdo bude mít síly a chuť navíc, může si samozřejmě skotačit i kdekoli jinde ve hře nebo pomáhat pomalejším spolužákům.

Týden 10.–16. lednaEditovat

Pro školní skupinu pokračuje distanční výuka se stejným rozvrhem jako minulý týden.

  • Hlavní náplní je pro nás nyní plnění úkolů z lekcí 6 a 7.
  • Kdo se na to cítí, může si hrát s rekurzí podle 8. lekce.
  • Fajnšmekři a mistři mohou sbírat banány v kartézské rovině v doméně Matematika.
  • A vždycky také můžete pomáhat pomalejším spolužákům, anebo si na vlastní pěst objevovat další kouty herního světa.

Upozornění na časté chybyEditovat

  • Nejčastější chybou v tomto týdnu je předkládání neotestovaných řešení úkolů. Když naprogramujete příkaz, který má plnit některý z úkolů, tak byste jej měli nejprve otestovat aspoň v základních dostupných situacích. Že někdo odevzdá příkaz, který nefunguje jen v některých případech, pročež to takovéhle základní otestování neodhalilo, to se dá pochopit. Že ale někdo odevzdá příkaz, který při jakémkoli spuštění hlásí chybu nebo pracuje zjevně chybně, to by se opravdu stávat nemělo.
  • Při vymýšlení programů pro opičky nezapomínejte, že opička v zásadě nezná jiné příkazy než hráč. Pokud hráč může napsat a vykonat třeba usměj se, pak to zpravidla může vykonat i opička. Jen hráčské příkazy slovní komunikace (řekni, zvěstuj, hřímej apod.) a zkratky (r, s atd.) nemá k dispozici, musí tedy komunikovat nonverbálně (tvař se apod.) a místo zkratek musí používat celá slova (rozhlédni se, sever atd.). Opičce také logicky chybějí příkazy na zacházení se hráčskou postavou „zevnitř“ (i, stav, nastavení atd.).
  • Při formulaci podmínek si uvědomujte, jaké podmínky opička skutečně zná. K jiným ji opravdu nedonutíte. U testu vidění (pokud vidíš zeleného mužíčka apod.) si ozkoušejte, zda si sami můžete dotyčný objekt prohlédnout (p zeleného mužíčka). Pokud ano, bude i pro opičku podmínka splněna, pokud ne, nebude ani pro opičku splněna.
  • Opička opravdu neumí více, než:
    • vykonávat herní příkazy (sever, vem sušenku, raduj se atd.);
    • vykonávat příkazy, které jste jí už nadefinovali pomocí pozor a znamená;
    • zpracovávat pomocná slova pokud, jinak, dokud, potom a konec a podmínky následující za pokud a dokud.

Týden 17.–23. lednaEditovat

Rozvrh školní skupiny je opět týž, tedy všichni společně budeme v Prazích v úterý 19. ledna od 11.05 do 11.50, a jinak bude záležet na každém, kdy do hry přijde. (Samozřejmě je možno se domluvit se spolužáky nebo s vedoucím kurzu na určitou hodinu.) Pro ty ze školní skupiny, kdo už úspěšně splnili všech šest úkolů (tedy mají i ve školním Moodlu zaneseno šest bodů), je účast na hodinách v tomto týdnu nepovinná.

  • Tímto týdnem se kurz uzavírá, resp. pro školní skupinu končí jako povinná část výuky (dobrovolně samozřejmě může každý do Prahů chodit kdykoli i bez školního zadání). Proto intenzivně plníme povinné úkoly: tři z lekce 6 a tři z lekce 7.
  • Pro ty, kdo chtějí přijít do hry, byť mají úkoly již hotové, je tu jednak 8. lekce a zacházení s rekurzí, jednak banánová soutěž, jednak možnost pomáhat pomalejším spolužákům, anebo si na vlastní pěst objevovat další kouty herního světa.

Odkazy, které se vám mohou hoditEditovat

PoznámkyEditovat

  1. Pokud zatím vůbec netušíte, jak na to, zeptejte se Josefa, co máte dělat, případně napište dotaz do diskusního klubu Prahy na serveru Okoun, kam chodí vícero zkušených hráčů, kteří vám ochotně poradí.
  2. Kdo dočetl až sem a neví, o jaký lektvar jde, může se ve hře zeptat Josefa.