Detail předmětu

Kreativní programování 2

FaVU-KREAP2Ak. rok: 2026/2027

Předmět teoreticky i prakticky seznámí studující se základními koncepty programování (datové typy, podmínky, cykly, funkce, třídy) a jejich podobou i specifikami v programovacím jazyku Python 3. Předmět se taktéž dotkne související oblasti vývoje softwaru: práci s příkazovou řádkou, editorům, správě kódu, jeho dokumentaci a formám online spolupráce.

Jazyk výuky

čeština

Počet kreditů

2

Příslušnost k typu studijního programu

bakalářský

Garant předmětu

Vstupní znalosti

Základní uživatelská znalost operačního systému Windows, Mac, nebo Linux. Předmět je určen i naprostým začátečníkům*icím v programování.

Způsob zakončení předmětu a pravidla hodnocení studentů

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í úkolem dle individuální domluvy,
  • odevzdání závěrečného programovacího projektu (skript dle vlastního uvážení, malého až středního rozsahu) a jeho osobní představení na zápočtovém termínu.

Výuka probíhá v učebnách FaVU VUT v hodinách určených rozvrhem. Vyšší množství absencí lze po dohodě s vyučujícím kompenzovat předložením alternativního úkolu.

Studující s pokročilými znalostmi programování se mohou s vyučujícím domluvit na individuálním průběhu předmětu formou osobních konzultací a realizace rozšířeného závěrečného projektu (i v jiném jazyce než Python), bez nutnosti plnění docházky.

Učební cíle

Cílem předmětu je prakticky i teoreticky seznámit studující se základními koncepty programování. Studující si osvojí schopnost tvorby skriptů v open-source programovacím jazyce Python 3 v základní, avšak prakticky použitelné úrovni. Studující porozumí konceptům proměnná, podmínky, cykly, kolekce, třídy, objekty, mají přehled o základních built-in funkcích a modulech Pythonu a dokáží je použít. Studující vyvíjí a spouští kód v defaultním editoru IDLE, avšak jsou schopní*é spouštět skripty i z příkazové řádky. Studující tak získají kompetence pro data-mining, datovou analýzu, automatizaci a skriptování, interaktivní textové programy, práci se soubory, jež rozšíří paletu dovedností využitelných v autorské kreativní praxi.

Studijní opory

Podklady k předmětu jsou dostupné na adrese: https://github.com/ffabut/kreap1.

Prerekvizity a korekvizity

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ý 1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
  • Program VUM_B bakalářský 1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 ročník, letní semestr, volitelný
    3 ročník, letní semestr, volitelný
    1 ročník, letní semestr, volitelný
    2 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

Cvičení

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