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:

  1. Programátorské paradigmy
  2. 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

  1. Prednáška 1: Syntax a údajové typy, Cvičenie 1 - pracovné prostredie a prvá úloha
  2. Prednáška 2: Funkcionálne programovanie, Cvičenie 2
  3. Prednáška: Pracovná cesta, Cvičenie: Aktivita 1
  4. Prednáška 3: Objektovo orientované programovanie, Cvičenie 3
  5. Prednáška 4: Zložitosť algoritmov, Písomka
  6. Prednáška 5: Kolekcie - Heš tabuľky, Cvičenie 4, Obhajoba
  7. Prednáška 6: Kolekcie - Stromy, Cvičenie 5
  8. Prednáška 7: Kompresia - Hufmanov strom, Cvičenie 6, NLP Meeting
  9. Prednáška 8: Kompresia - Slovníkové algoritmy, Cvičenie 7, 17. november.
  10. Prednáška 9: Dynamické programovanie Písomka
  11. Prednáška 10 Paralelné programovanie: Cvičenie 8 (ku skúške) : Obhajoba
  12. Prednáška 11: Asynchrónne programovanie, Cvičenie 9 (ku skúške): Opravné písomky
  13. Prednáška 12: Predtermín, Cvičenie: Zápočty, Opravné písomky
  14. 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)

Sylaby