Detail předmětu

Kreativní programování 2

FaVU-KREAP2Ak. rok: 2024/2025

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

čeština

Počet kreditů

2

Garant předmětu

Vstupní znalosti

Kreativní programování 1 nebo základní znalost programování. 

Pravidla hodnocení a ukončení předmětu

Zápočet je udělen za splnění následujících podmínek: 

- 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

Cílem předmětu je prakticky i teoreticky seznámit studující s vybranými pokročilejšími koncepty programování v prostředí jazyka Python 3 a souvisejícími tématy nutnými při tvorbě kreativních aplikací: databáze, stahování souborů, webový server apod. Studující prohloubí svoje znalosti built-in modulů v Pythonu 3 a seznámí se s řadou využívaných externích open-source modulů. Znalosti dokáží prakticky využít a aplikovat je v rámci autorského semestrálního projektu. 

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. 

 

Základní literatura

MANOVICH, Lev. Software takes command: extending the language of new media. London: Bloomsbury, 2013. ISBN 9781623568177.

Doporučená literatura

FULLER, Matthew a Andrew GOFFEY. Evil media. Cambridge, Mass.: MIT Press, c2012. ISBN 9780262017855.
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ý
    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ý
    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ý
    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ý
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

13 hod., povinná

Vyučující / Lektor

Osnova

1. Úvod do kurzu 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

Cvičení

13 hod., povinná

Vyučující / Lektor