Základy programování (FSI-SZP)

Akademický rok 2021/2022
Garant: prof. RNDr. Ing. Tomáš Březina, CSc.  
Garantující pracoviště: ÚM všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Cíle předmětu:
Cílem předmětu je naučit studenty algoritmizovat praktické problémy a získané algoritmy realizovat. Výuka je vedena tak, aby se studenti naučili samostatně pracovat ve vývojovém prostředí, sami dokázali své znalosti podle potřeby prohlubovat, a aby dokázali prezentovat dosažené výsledky samostatné práce na zadaných projektech.
Výstupy studia a kompetence:
Studenti se naučí základům programování a algoritmizace. Zvládnou formulovat jednoduchý algoritmus a realizovat ho. Získané znalosti dále umožní studentům se lépe orientovat v oblasti objektově orientovaného programování.
Prerekvizity:
Základní dovednosti práce s Windows PC.
Obsah předmětu (anotace):
Předmět seznamuje studenty se základy algoritmizace a programování. Probíranými tématy jsou algoritmy, jednoduché a strukturované datové typy, příkazy a blokové řídicí struktury, statické a dynamické proměnné, vstupy a výstupy, práce se soubory.
Metody vyučování:
Předmět je vyučován formou přednášek, kde je proveden výklad základních principů. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách.
Způsob a kritéria hodnocení:
Základem klasifikace je bodové hodnocení semestrálního projektu a písemného testu. CELKOVÉ BODOVÉ HODNOCENÍ: 100--90: A (výborně); 89--80: B (velmi dobře); 79--70: C (dobře); 69--60: D (uspokojivě); 59--50: E (dostatečně); 49--0: F (nevyhovující).
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
Účast na přednáškách je žádoucí, účast ve cvičeních je povinná. Výuka probíhá podle týdenních rozvrhů. Způsob náhrady zameškané výuky je plně v kompetenci cvičícího.
Typ (způsob) výuky:
    Přednáška  13 × 1 hod. nepovinná                  
    Cvičení s počítačovou podporou  13 × 2 hod. povinná                  
Osnova:
    Přednáška 1. Algoritmus a program, vyjádření algoritmu
2. Blokové řídicí struktury
3. Jednoduché a strukturované datové typy
4. Cykly a strukturované skoky, invariant cyklu
5. Procedury a funkce
6. Parametry, lokální a globální proměnné
7. Volání funkce, rekurze
8. Statické a dynamické proměnné
9. Vstupy a výstupy, soubory, operace se soubory
10. Výjimky a chráněné bloky
11. Koncept řízení událostmi
12. Koncept objektově orientovaného programování, typy vs. třídy
13. Systematika návrhu shora dolů, závěrečné poznámky a shrnutí
    Cvičení s počítačovou podporou Cvičení rozvíjejí témata probíraná na přednáškách. Důraz je kladen na schopnost samostatné práce, tj. na vytvoření jednoduchého algoritmu a jeho odladění. V každém cvičení je vytvářen alespoň jeden nový program. Získané znalosti studenti doloží vypracováním semestrálního projektu, jehož výsledky budou v závěru semestru prezentovat.
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
B-MAI-P prezenční studium --- bez specializace -- kl 4 Povinný 1 1 Z