diff --git a/SYLLABUS b/SYLLABUS new file mode 100644 index 0000000000000000000000000000000000000000..38ff9729f0b0cd56ad29f97889bbaaf32ea714f4 --- /dev/null +++ b/SYLLABUS @@ -0,0 +1,84 @@ +=== Programování 1 === + +Základní kurs programovacího jazyka Python (0/2 Z). + +Cvičení, jehož součástí je výklad programovacího jazyka. +Zápočet se uděluje za domácí úkoly zadávané během semestru. + +Značení: + "-" jsou části výkladu + "#" příklady konkrétních programů + (n) udává plánovaný počet hodin + +## Základy (1) +- Python jako kalkulačka +- celá čísla +- floaty a problémy s přesností +- operátory a jejich priority +- přiřazení +- základní podmínky a cykly (while) +- struktura programu: komentáře, odsazování +- triviální input() a print() +- ladění programu, používání vývojového prostředí (IDLE/PyCharm) +# rozklad čísla na číslice +# znaky dělitelnosti jako algoritmy +# Euklidův algoritmus +# prvočísla dělením do odmocniny +# faktorizace + +## Cykly a pole (2) +- for cykly, range() +- break, continue +- seznamy používané jako pole +- přiřazení seznamu přiřazuje pouze odkaz +- časová složitost, spíš jen intuitivně +# vyhodnocení polynomu (Hornerovo schéma) +# k-tý nejmenší prvek v čase k*n +# Eratosthenovo síto +# násobení matic +# Gaussova eliminace + +## Třídění a vyhledávání (1) +# elementární třídicí algoritmy +# binární vyhledávání +# hledání kořenů funkcí: půlení intervalu, lineární interpolace + +## Funkce (1) +- definice a volání funkcí +- nepovinné parametry +- abstrakce a modularita programů +- lokální identifikátory a jejich viditelnost +- princip rekurze +- předávání funkcí jiným funkcím + +## Knihovny I a grafika (1) +- používání knihoven, import +- kreslení grafů pomocí matplotlib + +## Seznamy a řetězce (2) +- seznamy a operace s nimi +- fronta a zásobník +- iterování přes seznam +- řezy +- list comprehension +- stringy +# slévání setříděných posloupností + +## Datové struktury (1) +- podrobněji o typovém systému +- tuples +- slovníky a operace s nimi +- výjimky a jejich odchytávání +# práce se stromy + +## Objekty (1) +- třídy a objekty +- popis reality pomocí objektů +- odvozování typů, dědičnost + +## Knihovny II a soubory (1) +- práce se soubory +- standardní knihovna +# načítání a vypisování dat v různých formátech + +(zbývající hodiny jsou věnovány procvičování)