Detail předmětu
Skriptovací jazyky
FIT-ISJAk. rok: 2022/2023
Základní koncepty skriptovacích jazyků, skriptování versus programování, přehled vývoje skriptovacích jazyků, makrojazyky, tvorba komponent, základy jazyka Python, skriptování v operačních systému Unix, objektově-orientované programování ve skriptovacích jazycích, souběh a paralelismus.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Studenti se seznámí s moderními skriptovacími jazyky, po úspěšném zvládnutí předmětu budou schopni demonstrovat znalosti a chápání základních vlastností a role skriptovacích jazyků, syntaxe a sémantiky jazyka Python, implementovat skripty pro automatizaci systémových činností a vyvíjet jednoduché aplikace s použitím vhodných nástrojů. Studenti se naučí řešit problémy v jazyce Python formou pravidelných projektů. Zdokonalí se v praktickém užívání programátorských nástrojů.
Způsob a kritéria hodnocení
- Půlsemestrální písemný test (9 bodů).
- Individuální projekt (40 bodů).
Učební cíle
Porozumět tématu skriptovacích jazyků a jejich aplikací, pochopit komplementaritu skriptovacích jazyků vzhledem k systémovým jazykům, jejich výhody a nevýhody. Seznámit se základy regulárních výrazů, použitím vhodných struktur a postupů zejména v jazyce Python (částečně i ruby a dalších).
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Kontrolovaná výuka zahrnuje půlsemestrální test a individuální projekt. Půlsemestrální test nemá náhradní termín.
Prerekvizity a korekvizity
- doporučená prerekvizita
Operační systémy - doporučená prerekvizita
Úvod do softwarového inženýrství - doporučená prerekvizita
Základy programování
Doporučená literatura
Beazley, D.M.: Python - Podrobná referenční příručka pro programovací jazyk Python. Neocortex.
Driscoll, M: Python 201: Intermediate Python. Amazon Digital Services LLC, ASIN: B01LMUAYSO, 2016.
Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X.
Lutz, M., Ascher, D.: Naučte se Python - Pohotová příručka. Grada, 2003, ISBN 80-247-0367-X.
Elearning
Zařazení předmětu ve studijních plánech
- Program BIT bakalářský 1 ročník, letní semestr, volitelný
- Program BIT bakalářský 1 ročník, letní semestr, volitelný
- Program IT-BC-3 bakalářský
obor BIT , 1 ročník, letní semestr, volitelný
- Program BAK-MIn bakalářský 2 ročník, letní semestr, volitelný
- Program VUB bakalářský
obor VU-D , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
obor VU-VT , 2 ročník, letní semestr, volitelný
obor VU-VT , 2 ročník, letní semestr, volitelný
obor VU-VT , 2 ročník, letní semestr, volitelný
obor VU-VT , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
obor VU-VT , 2 ročník, letní semestr, volitelný
obor VU-D , 2 ročník, letní semestr, volitelný
obor VU-VT , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
obor VU-D , 2 ročník, letní semestr, volitelný
obor VU-IDT , 2 ročník, letní semestr, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvod, stručná historie vývoje skriptovacích jazyků, výhody a nevýhody, porovnání jazyků
- Regulární výrazy a jejich podpora ve skriptovacích jazycích
- Vytváření jednoduchých skriptů v prostředí OS Unix, automatizace systémových činností
- Jména v Pythonu, základní datové struktury a jejich implementace
- Slovník (hashovací struktura) a jeho implementace v Pythonu
- Funkce a jejich argumenty, moduly, zpracování výjimek
- Základy objektově orientovaného programování ve skriptovacích jazycích
- Pokročilé prvky objektového přístupu v Pythonu, vícenásobná dědičnost a pořadí hledání metod
- Základy jazyka ruby a srovnání s Pythonem
- Dekorátory funkcí a tříd
- Iterační protokol a iterovatelné objekty
- Generátory a jejich použití v kontextu funkcí
- Souběžnost a paralelismus
Projekt
Vyučující / Lektor
Osnova
Samostatné projekty řešící zadané obecnější úlohy, předpokládá se naprogramování středně rozsáhlého skriptu v jazyce Python. Je požadováno elektronické odevzdání pomocí IS FIT.
V předmětu je místo jednoho či několika málo velkých projektů zadáno 8 miniprojektů, tedy od 3. přednášky téměř každý týden. Je k dispozici server, který projekty ještě před oficiálním odevzdáním prostřednictvím WIS automaticky ohodnotí, takže lze předem zjistit, kolik bude za aktuální řešení bodů. Půlsemestrální test a zkouška jsou přímo svázány s tématy, která si vyzkoušíte v rámci projektů.
Elearning