Pomocí programovacího jazyka Python prozkoumáme možnosti, jak přenášet a kódovat informace, které budeme demonstrovat na hudebních analogiích. V druhé aktivitě ze série Python v hudbě sestavíme krátký skript, který bude generovat informace o tónech v akordech.
Typ materiálu: cvičení
Škola: gymnázium
Ročník: kvarta
Metody: pracovní list – samostatná práce
Vzdělávací obor: informatika
Tematický okruh: data, informace a modelování – kódování a přenos dat
Očekávané výstupy: Rozlišuje a používá různé datové typy. Navrhuje a porovnává různé způsoby kódování z různých hledisek a vysvětlí proces a úskalí digitalizace.
Časová dotace:
Výuka: 45 minut
Příprava: 30 minut
Pomůcky, hardware a software
Učitel: dataprojektor, výpočetní zařízení (PC, notebook, tablet)
Žák: výpočetní zařízení (PC, notebook, tablet)
Zdroje:
A MANOVICH, Lev. Avant-garde as Software. Artnodes, 2003.
MANOVICH, Lev. New Media: From Borges to HTML. In.: Wardrip-Fruin, N. a kol. (eds.): The New Media Reader. Cambride: MIT Press, 2003, s. 13–25.
Potřebné vstupní znalosti a dovednosti
Oborové
Základní znalost programovacího jazyka Python
Znalost rozdílu mezi řetězcem znaků a číselným typem int
Použití funkce print
Digitální dovednosti
Pokročilé ovládání počítače
Schopnost postupovat podle návodu
Orientace v základní terminologii algoritmizace a programování
Vzdělávací cíle:
Aplikovat v praxi teoretické dovednosti ohledně proměnných
Umět přiřadit proměnné hodnotu a pracovat s ní na výstupu programu
Uložit proměnnou do proměnné
Přínos využití digitálnícg technologií
Díky programovacímu jazyku Python můžeme přiřazovat proměnným různé hodnoty, skrze které můžeme díky algoritmům automatizovat různé procesy.
Metodická poznámka
Tato aktivita navazuje na teoretický rámec ze série Python v hudbě – proměnné ve stupních stupnice. V této aktivitě se aplikují prozkoumané znalosti do funkčního celku. Tato aktivita ukazuje skrze příklad praktického využití principy programování.
První třetina hodiny:
Učitel začíná v úvodní části rychlým zopakováním veškeré terminologie z předešlé aktivity. Demonstruje, jakým způsobem pracujeme s proměnnými, a rozešle rozpracovaný seznam s proměnnými. Na tomto seznamu postupně vysvětluje, jak můžeme ukládat do proměnných další proměnné, a nechává prostor, aby studenti nad tématem samostatně přemýšleli. Pro úplnost doplní, že jednotlivá data z proměnných můžeme spojovat pomocí znaku +. Upozorní studenty na nutnost správné syntaxe a zopakuje rozdíl mezi textovým řetězcem a int.
#tóny ve stupnici C dur konkrétně
prima = „c“
sekunda = „d“
tercie = „e“
kvarta = „f“
kvinta = „g“
sexta = „a“
septima = „b“
oktáva = „c2“
#stupně ve stupnici abstraktně
prvniStupen = prima
druhyStupen = sekunda
tretiStupen = tercie
ctvrtyStupen = kvarta
patyStupen = kvinta
sestyStupen = sexta
sedmyStupen = septima
#další úroveň abstrakce a spojování řetězců
tonika = prvniStupen + tretiStupen + patyStupen
Reflexe:
Učitel shrnuje výklad otázkami, které prověřují míru porozumění vysvětleným pojmům.
Může proměnná obsahovat další proměnné?
Dala by se tímto způsobem uzavřít celá hudební teorie do scriptu?
Jaké další informace ohledně tónu můžeme definovat?
V závěru první třetiny může učitel otevřít krátkou diskuzi o možnostech, které takovéto programování nabízí.
Druhá třetina hodiny:
Učitel zadává slovní úlohu, kterou se studenti snaží samostatně naprogramovat. Studenti pracují s online interpretem ve webovém prohlížeči.
Úloha: Vytvoř proměnnou kadenceCdur, která bude obsahovat proměnné akordů C, F, G (tónika, subdominanta a dominanta), a tuto proměnnou následně pošli na výstup pomocí funkce print. Program vypíše tóny, které obsahuje kadence C dur.
Poslední třetina hodiny:
Na závěr učitel kontroluje zadání a vysvětluje, proč se znaky propsaly do jediného řádku. Popíše, jak můžeme oddělit či spojovat jednotlivé řetězce. Upozorní na správný zápis syntaxe a žáci si opraví zápis podle vzoru učitele.
Studenti ukládají text do poznámkového bloku a odesílají na e-mail učitele, který kontroluje splněné zadání podle daných kritérií:
Kolik chyb v syntaxi student udělal?
V jaké míře porozuměl zadání?
Pracoval pečlivě a vypsal všechny proměnné?
Plnil práci svědomitě s respektem k vyučujícímu?
V jaké míře se soustředil na zadání?
Dokázal spojit jednotlivé řetězce pomocí speciálních znaků?
Oddělil výstupy novým řádkem?
Úloha 1: Vytvoř proměnnou kadenceCdur, která bude obsahovat proměnné akordů C, F, G (tónika, subdominanta a dominanta), a tuto proměnnou následně pošli na výstup pomocí funkce print. Program vypíše tóny, které obsahuje kadence C dur.
Úloha 2: Uprav obsah proměnné tak, aby byly jednotlivé tóny od sebe na výstupu odděleny pomlčkou a každý nový akord začínal na novém řádku.
Zkušenosti s použitím materiálu
Toto cvičení je zaměřené na procvičování a praxi. Pakliže máme šikovnou třídu, můžeme výklad zkrátit na nezbytné minimum a nechat veškerou iniciativu na studentech. Pomáháme individuálně s problémy v syntaxi. V opačném případě můžeme naopak postupovat spíš teoreticky a na závěr hodiny s pomocí učitele zkusit napsat kus vlastního kódu.