Pololetní zkouška

Odpřednášena v úterý 12. 1.

Písemná část

V úterý 19. 2. v 17:00 bude zadán programovací úloha. Bude se jednat o "větší" úkol typu Vigenérova šifra, bude ale koncipovaný tak, aybste měli dostatek času na přípravu řešení i na jeho naprogramování. Do 18:30 mi pošlete své řešení v .arr souboru.

zadání bude mít několik rozšiřujících úrovní, podle toho, na jakou známku budete mířit. Známka za danou úroveň však není konečná, bude ovlivněna vaší prací během roku a vaším výkonem v ústní části.

Na co se podívat

Kromě následujících pojmů bude fajn zkusit si promyslet, jak přistupovat k větším problémům: dělení na části, postupné doplňování chybějících kousků atp (viz první a druhá přednáška o game of life).

  • základní datové typy (Number, Boolean, String)
  • rekurze a akumulátory
  • základní datové struktury (List, StringDict, tuple)
  • funkce (definice, volání)
  • vlastní datové typy (data ...)

Ústní část

V ústní části budeme probírat vaše řešení části písemné, zároveň se budu doptávat na různé věci, které jsme probírali během roku. Především pak bude dobré pozumět následujícím pojmům (ty "složité" na jedničku jsou označeny kódem [JEDNIČKA]):

  • expression, statement, value
  • datový typ, kontrakt
  • vstup a výstup funkce, parametry, argumenty
  • [JEDNIČKA] kompilátor, interpreter, a jak vlastně funguje spouštění programů
  • knihovna
  • dokumentace a testy
  • if, cases
    • kdy použijeme jedno, kdy druhé, jaký je mezi nimi rozdíl
  • spojové seznamy, pole (array), množiny (set), slovníky (dictionary)
    • využití a vlastnosti
    • [JEDNIČKA] algoritmická složitost různých operací s těmito strukturami
    • [JEDNIČKA] rozdíly (ve funkci a v implementaci)
  • [JEDNIČKA] binární (vyhledávací stromy) a algoritmus binary search
  • funkce vyššího řádu (higher order functions)
    • map, filter
    • [JEDNIČKA] fold
  • rekurze a akumulátory
  • vlastní datové typy, atributy, kondicionální typy, strukturální typy
  • analýza efektivity kódu (jak přibližně funguje, jak se postupuje)
  • [JEDNIČKA] HSV, RGB