Programovací techniky (FSI-SPT)

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:
Seznámení s objektově orientovanou metodikou práce s počítačem. Rozvoj algoritmického myšlení, strukturovaného přístupu k řešení problémů a rozvoj počítačové kreativity studentů.
Výstupy studia a kompetence:
Studenti získají znalost metodiky tvorby programů užitím objektově orientovaného programování a osvojí si schopnost řešit problémy s pomocí objektových technologií.
Prerekvizity:
Jsou očekávány znalosti a dovednosti splňující podmínky úspěšného absolvování kurzu Základy programování (SZP).
Obsah předmětu (anotace):
Jsou prezentovány vybrané konstrukce objektově orientovaného programování a demonstrovány zásady tvorby programů. Poznatky jsou uváděny do souvislostí s metodologií systematického návrhu programu.
Metody vyučování:
Předmět je vyučován formou přednášek, které mají charakter výkladu základních principů a teorie dané disciplíny. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách.
Způsob a kritéria hodnocení:
Požadavky pro udělení klasifikovaného zápočtu: aktivní účast na cvičeních a obhajoba samostatně zpracovaného projektu zadaného vyučujícím. Klasifikace je plně v kompetenci vyučujícího podle platných směrnic VUT v Brně.
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í, na cvičeních povinná. Výuka běží podle týdenních plánů. Způsob nahrazení zameškaných cvičení je plně v kompetenci vyučují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. Připomenutí konceptu neobjektového programování
2. Motivace a principy objektově orientovaného programování
3. Minimum o zapouzdření
4. Zapouzdření a návrh shora dolů
5. Dědičnost, kompatibilita tříd a návrh shora dolů
6. Polymorfismus a návrh shora dolů
7. Statické metody, bezpečný kód, výjimky a chráněné bloky
8. Třída v.s. rozhraní
9. Virtuální metoda v.s. delegát
10. Základy práce s grafikou, bitmapa, grafický kontext zařízení
11. Řízení událostmi, základy práce s okny
12. Komponenta a delegát
13. Rekapitulace
    Cvičení s počítačovou podporou 1. Seznámení s vývojovým prostředím MVS 2017
2. Definice třídy, pole a metoda
3. Definice třídy, viditelnost
4. Definice třídy, vlatnosti
5. Dědičnost návrhem shora dolů
6. Využití polymorfismu návrhem shora dolů
7. Přidání statických metod a chráněných bloků
8. Použití interface
9. Použití delegáta
10. Grafický výstup aplikace, práce s bitmapou
11. Window aplikace, základní události
12. Tvorba komponent
13. Zápočet

Cvičení probíhají formou rozvíjení typových příkladů.
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 3 Povinný 1 1 L