Odborné články Gymnaziální vzdělávání Python v hudbě: Úvod do programování
Odborný článek

Python v hudbě: Úvod do programování

25. 2. 2026
Gymnaziální vzdělávání
Autor
Pavel Konrád

Anotace

Pomocí programovacího jazyka Python prozkoumáme možnosti přenosu informace, které budeme demonstrovat na hudebních analogiích. Hudba obsahuje nespočet informací, které kóduje buď do vizuální podoby not, nebo aktualizuje do znějícího proudu hudby. Tato aktivita je úvodem do programování, kde je obsažen základní nezbytný teoretický úvod do terminologie a základních konceptů programování.

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í vědomosti ohledně principu informací a jejich kódování do dat
  • Znalost principu skriptování alespoň na úrovni pseudokódu

Digitální dovednosti

  • Pokročilé ovládání počítače
  • Schopnost postupovat podle návodu
  • Orientace ve znakové sadě UNICODE
  • Porozumění principu dat a jejich kódování

Vzdělávací cíle

  • Porozumět základní terminologii programovacích jazyků.
  • Umět deklarovat proměnnou a přiřadit jí abstraktní hodnotu.
  • Rozlišit typ vstupních dat a vědět, jak s nimi pracujeme.

Přínos využití digitálních technologií

Díky skriptovacím programovacím jazykům můžeme rozšířit naše chápání znakových systémů v různých kontextech, které se dotýkají každodenního běžného života. 

Popis materiálu (vzdělávací aktivity)

Představíme programovací jazyk Python a vyzdvihneme jeho přednosti a nejčastější příklady reálného nasazení:

  • Webové aplikace: Python je populární pro vývoj webových aplikací. Frameworky jako Django a Flask umožňují snadnou tvorbu robustních webových aplikací s podporou správy databází.
  • Vědecké výpočty a analýza dat: Python se používá v oblasti vědeckého výzkumu a analýzy dat díky knihovnám jako NumPy, SciPy a Pandas. Tyto knihovny poskytují efektivní nástroje pro práci s daty, lineární algebru, statistiku a vizualizaci.
  • Umělá inteligence a strojové učení: Python se stal jedním z nejpopulárnějších jazyků pro implementaci algoritmů umělé inteligence a strojového učení. Knihovny jako TensorFlow, PyTorch a scikit-learn nabízejí výkonné nástroje pro tvorbu a trénování neuronových sítí a aplikaci algoritmů strojového učení.
  • Automatizace a skriptování: Python je také často používán pro automatizaci opakujících se úloh a skriptování. Jeho čitelná syntaxe a bohaté knihovny usnadňují psaní skriptů pro automatizaci úloh v systému, manipulaci souborů, zpracování textu a další.
  • Systémové administrace: Python je oblíbeným nástrojem pro správu a automatizaci systémových úloh. Pomocí knihovny jako Paramiko je možné se připojit na vzdálené servery a provádět různé administrativní úkoly.
  • Desktopové aplikace: S pomocí frameworků jako Tkinter nebo PyQt lze vytvářet desktopové aplikace s grafickým uživatelským rozhraním (GUI). Python umožňuje snadné vytváření uživatelsky přívětivých aplikací s bohatými možnostmi interakce.

Základní terminologie:

Po krátkém představení programovacího jazyka Python vysvětlíme základní terminologii, se kterou se budeme v celé sérii setkávat.

1. Znak

Už víš, že nejmenším kouskem počítačových dat je jeden bit. Abychom těmto datům rozuměli, musíme tyto informace převést do nám srozumitelnému kódu. Každý znak má svoje bitové vyjádření v podobě jedniček a nul. Například 1000001 počítač přeloží do lidské řeči jako znak velkého A. Jeden znak obsahuje 8 bitů, tedy jeden byte. Jeden znak má tedy velikost jeden byte.

2. Řetězec
Řetězec znaků je jako provázek, který spojuje jednotlivá písmenka podobně jako náramek z korálků do jednoho uzavřeného celku, např. slova a věty.

3. Proměnná
Je abstraktní pojem, který v sobě uchovává určitou hodnotu, která se ale může různě měnit v závislosti na vstupních datech. Například první stupeň stupnice C dur je tón c, ale ve stupnici D dur to již bude tón d. První stupeň je tedy proměnná hodnota, která se bude měnit v kontextu předznamenání.

4. Deklarovat
Deklarovat znamená vložit do proměnné hodnoty s určitým datovým typem, se kterými program pracuje. První stupeň je sice proměnná, ale pakliže chci konkrétní hodnotu, musím ji nejdříve deklarovat. Např. „stupnice = C dur“. 

Data a informace kódujeme tedy do různých znakových sad. Informace, které jsou obsaženy v bitech, nemají pro lidi žádný význam. Ten získáváme až přeložením bitů do nám srozumitelné znakové sady, jakou je abeceda nebo např. notový zápis. Tyto hodnoty ukládáme do proměnných, kterými tak deklarujeme jejich typ a způsob, jakým s nimi budeme v programu dále pracovat.

Shrneme tyto pojmy a ptáme se pomocí reflektivních otázek, abychom ověřili míru pochopení jednotlivých pojmů.

  • Jaké znaky běžně používáme v lidské komunikaci?
  • Jsou hudební symboly také znaky?
  • Je notový zápis akustická nebo vizuální informace?
  • Co je to bit?
  • Kolik bitů má jeden byte?

Pokračujeme ve výkladu základní terminologie a navážeme na předchozí znalosti.

5. Syntaxe
Podobně jako jazyk má určitá gramatická pravidla, tak i programovací jazyk má určitou strukturu. Pakliže je tato struktura něčím narušena, program nahlásí chybu, jelikož nerozumí, co se po něm chce. Když v programovacím jazyku Python deklarujeme proměnnou, vypadá to následovně:

6. Datové typy

    1. Proměnná nemusí obsahovat pouze textové řetězce. Do proměnných můžeme ukládat i čísla, se kterými můžeme provádět základní matematické operace. Můžeme také uložit do proměnné další proměnnou nebo matematický výpočet.
    2. Python dokáže pracovat s proměnnými dynamicky. Stačí, když symboly nedáme do uvozovek, a tím pádem změníme datový typ textového řetězce string na číselný formát int. V jiných programovacích jazycích se musejí datové typy proměnných deklarovat. V Pythonu se deklarují proměnné automaticky tím, že do nich uložíme nějakou hodnotu.
    3. Jaký je tedy rozdíl mezi
      1. toDavaSmysl = 1 + 1
      2. toDavaSmysl = „1 + 1“

7. Interpret

    1. Interpret je klíčovým prvkem v procesu běhu programovacího jazyka. Slouží k převodu a vykonávání zdrojového kódu napsaného v daném programovacím jazyce. Interpret pracuje s jednotlivými instrukcemi programu a provádí je postupně, čímž umožňuje interakci mezi programem a vývojářem.

8. Příkaz

    1. Příkazem se v programovacím jazyce rozumí vykonání určitého kusu kódu, který interpret přeloží do nám srozumitelné podoby.
      1. Prvním příkazem, který se naučíme, je funkce print, která je tím nejjednodušším řešením, jak zobrazit či vypsat obsah proměných.
    2. Pojďme zkusit otevřít internetového interpreta a deklarovat si pár proměnných: https://www.w3schools.com/python/trypython.asp?filename=demo_compiler

c. Pakliže přidáme do kódu příkaz print, program nám vypíše obsah proměnných:

d. Pozorujeme, jak se program chová a co nám interpret vypíše. Vidíme, že můžeme spojovat různé textové řetězce dohromady.

e. Zkusíme ještě jeden typ zápisu a spustíme program, abychom viděli, jak nám interpret přeloží tento typ zápisu. Porovnejme tyto dva druhy zápisu:

V kontrastu s tímto zápisem:

Vidíme tedy, že do proměnných můžeme uložit nejen znaky a textové řetězce, ale i matematické operace, a dokonce i další proměnné. Můžeme tak vytvářet komplexní a složité logické celky, se kterými v programu dále pracujeme. Proměnné tedy mohou měnit svoje hodnoty na základě deklarovaného typu.

Do proměnné tedy ukládáme data a informace a je nesmírně důležité je správně deklarovat, tedy jim přiřadit správný datový typ. Datový typ nám určuje, jakým způsobem bude program s proměnou dále pracovat.

Na závěr hodiny rozdáme studentům reflektivní otázky, podle kterých hodnotíme míru pochopení probírané látky:

  • Jak můžeme kódovat informace? Znáš nějaké šifrovací systémy?
  • Jaké analogie vidíš mezi hudbou a programováním?
  • Zapiš pět netradičních znaků, které znáš. Mohou to být i hudební symboly:
  • Deklaruj další čtyři proměnné na jevech, které vidíš v běžném životě.
  • Napiš další hudební jevy, které mají podobné vlastnosti jako proměnné:
  • To, jak kód píšeme, má určitá pravidla. Jak se nazývá termín pro přesný zápis kódu? Zároveň je nejčastějším zdrojem chyb a důvodem, proč se program nedaří spustit.
  • K čemu slouží interpret? Dokázal bys jeho činnost popsat v hudbě?
  • Jaké dva hlavní typy proměnných rozlišujeme?
  • Co přesně dělá příkaz print()?

Úloha 1: Rozhlédni se kolem sebe. Co všechno může mít proměnnou hodnotu?

  • mojeVýška = 150
  • aktuálníTřída = kvarta
  • třídníUčitel = ...

Úloha 2: Jak můžeme kódovat informace? Znáš nějaké šifrovací systémy?

Morseova abeceda, notová osnova, kouřové signály.

Úloha 3: Jaké analogie vidíš mezi hudbou a programováním?

Nota – zakódovaná informace o výšce a délce tónu. Stupnice = sada pravidel a podmínek. Tónina = proměnná hodnota atd.

Úloha 4: Deklaruj proměnné stupňů stupnice C dur

Vytvoř proměnné, do kterých uložíš typ string.

Zkušenosti s použitím materiálu

Obzvláště ze začátku může být nových vjemů tolik, že dojde k přehlcení studenta novými informacemi. Správně položenými otázkami může dojít k vzájemnému propojení souvislostí v různém kontextu, proto je potřeba obzvláště ve výkladu nezabíhat do příliš širokých témat, která by jen zamotala studentům hlavu.

Postupujme spíš pomalu. Bystří studenti budou klást spoustu otázek a přirozeně budou chtít vědět, k čemu to můžeme využít. Berme tuto aktivitu jako demonstraci, která otevírá obrovské pole možností, které můžou sepsat vedle na papír.

Autor
Pavel Konrád

Hodnocení uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Zařazení do seriálu:

Tento článek je zařazen do seriálu Python v hudbě.
Ostatní články seriálu:

RVP do 2024

Očekávané výstupy:

Materiály s klíčovým slovem NPO 3.1 DIGI vytvořil tým metodiků v projektu Podpora škol v kontextu digitalizace (Národní plán obnovy 3.1 DIGI) pro podporu pedagogů při ICT revizích.

Další informace, metodické materiály i inspiraci do výuky jednotlivých předmětů i napříč předměty najdete na webu https://digitalizace.rvp.cz/