Detail předmětu
Kreativní programování 2
FaVU-KREAP2Ak. rok: 2025/2026
Předmět prakticky seznámí studující s vybranými pokročilejšími technikami a tématy v oblasti programování, kreativního využití a vývoje softwaru v prostředí jazyka Python 3. Formou kolektivních i individuálních konzultací a praktickými cvičeními dopomůže studujícím k realizaci vlastního projektu v oblasti softwarového umění (software art).
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Pravidla hodnocení a ukončení předmětu
- alespoň 60% aktivní účast na přednáškách s cvičeními, případně nahrazení programovacím úkolem dle individuální domluvy,
- odevzdání semestrálního projektu: autorského software-art díla, či většího programu.
Výuka probíhá v učebnách FaVU VUT v hodinách určených rozvrhem. Účast na výuce je povinná (5 povolených neomluvených absencí). Vyšší množství absencí lze po dohodě a vyučujícími kompenzovat předložením alternativního úkolu.
Učební cíle
Absolvováním kurzu studující získají znalosti pokročilejších konceptů v programování (využití externích knihoven, dědičnost, struktura projektu, správa verzí), seznámí se se souvisejícími oblastmi (databáze, API, data-mining, serverless, web) a naučí se je prakticky využít. Získají rozšířené kompetence pro automatizaci, data-mining, datovou analýzu, interaktivní textové programy, práci se soubory, tvorbu webových serverů, jež rozšíří paletu jejich dovedností využitelných v autorské kreativní praxi.
Prerekvizity a korekvizity
- povinná korekvizita
Kreativní programování 1
Základní literatura
Doporučená literatura
KLEINER, Dmitry. The Telekommunist Manifesto. Amsterdam: Institute of Network Cultures, 2010. ISBN 978-90-816021-2-9.
RAYMOND, Eric S. The cathedral and the bazaar: musings on Linux and Open Source by an accidental revolutionary. Rev. ed. Cambridge, Mass.: O'Reilly, 2001. ISBN 0596001088.
Zařazení předmětu ve studijních plánech
- Program DES_B bakalářský 2 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný - Program VUM_B bakalářský 2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný
2 ročník, letní semestr, volitelný
3 ročník, letní semestr, volitelný - Program DES_B bakalářský 1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný - Program VUM_B bakalářský 1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
1 ročník, letní semestr, volitelný
Typ (způsob) výuky
Cvičení
Vyučující / Lektor
Osnova
2. Data-mining: Requests - stáhnutí HTML souboru, BeautifulSoup4 - vyhledání elementu v HTML
3. Regulární výrazy: regulární výrazy obecně, regulární výrazy v Pythonu - modul re
4. Databáze: jazyk SQL, jednoduchá databáze v Pythonu pomocí SQLite
5. Pygame: základy moduly pygame
6. PyInstaller: tvorba spustitelných souborů, případně Codon
7. tkinter: tvorba grafického uživatelského rozhraní v okně (GUI)
8. tkinter: druhá část tkinteru
9. Webová aplikace 1: tvorba dynamického webu – Serverless, či modul Tornado
10. Webová aplikace 2: tvorba dynamického webu – Serverless, či modul Tornado
11. Automatizace systému: práce se složkami, spouštění programů, klikání myší a klávesnicí
12. Spolupráce: Správa verzí a spolupráce přes Git a Github
13. Automatizace prohlížeče a tvorba botů – modul Selenium