Sylaby
Anotácia predmetu
Predmet je zameraný na programovanie v jazyku Python a na praktické pochopenie dátových štruktúr, algoritmov a moderných programovacích prístupov. Študenti si postupne osvoja syntax jazyka, prácu s kolekciami, objektové a funkcionálne programovanie, analýzu zložitosti, základné dátové štruktúry, stromové a grafové štruktúry, dynamické programovanie, spätné prehľadávanie, kompresné algoritmy a asynchrónne aj paralelné spracovanie.
Dôraz je kladený na čitateľný kód, schopnosť vybrať vhodnú dátovú štruktúru alebo algoritmus, pochopenie výkonnostných dôsledkov riešení a praktické ukážky v Pythone.
Ciele predmetu:
- Oboznámiť sa so základnými technikami návrhu algoritmov
- Získať prehľad v programátorských paradigmách
- Oboznámiť sa zo základnými algoritmami spracovania dát
- Vedieť posúdiť efektivitu a vhodnosť existujúich algoritmov na riešenie zadaného problému.
- Navrhnúť a zapísať algoritmus v jazyku Python na zadaný problém
Časový pán:
- Programátorské paradigmy
- Základné algoritmy
Praktická časť predmetu:
- Praktické problémy riešené na cvičeniach vo forme tutoriálu
- Písomky - vypracovanie zadaného problému v čase cvičenia bez použitia externých pomôcok
- Domáce zadania - Samostatné vypracovanie, odovzdanie a obhajoba zadaného problému
Slovníček
- Dictionary : Slovník
- List : Zoznam
- List slices - Výber zo zoznamu: výrezy
- List comprehension - Generovanie zoznamu.
- Dict comprehension - Generovanie slovníka
- Closure: Záver
- raise exception - vyhodiť výnimku.
- yield
Plán semestra
- Prednáška 1: Syntax a údajové typy, Cvičenie 1 - pracovné prostredie a prvá úloha
- Prednáška 2: Funkcionálne programovanie, Cvičenie 2
- Prednáška: Pracovná cesta, Cvičenie: Aktivita 1
- Prednáška 3: Objektovo orientované programovanie, Cvičenie 3
- Prednáška 4: Zložitosť algoritmov, Písomka
- Prednáška 5: Kolekcie - Heš tabuľky, Cvičenie 4, Obhajoba
- Prednáška 6: Kolekcie - Stromy, Cvičenie 5
- Prednáška 7: Kompresia - Hufmanov strom, Cvičenie 6, NLP Meeting
- Prednáška 8: Kompresia - Slovníkové algoritmy, Cvičenie 7, 17. november.
- Prednáška 9: Dynamické programovanie Písomka
- Prednáška 10 Paralelné programovanie: Cvičenie 8 (ku skúške) : Obhajoba
- Prednáška 11: Asynchrónne programovanie, Cvičenie 9 (ku skúške): Opravné písomky
- Prednáška 12: Predtermín, Cvičenie: Zápočty, Opravné písomky
- Vianoce - pondelok, utorok, streda ešte nie.
Hodnotenie
- 2 x obhajoby 20
- 2 x písomky 16
- bonusové úlohy 4 body
- Záverečná skúška: Písomka a domáca úloha (60B)